Почему HTML/JavaScript/CSS не становятся скомпилированными языками (или, возможно, даже объединяются в один скомпилированный язык)? Что делать, если браузеры запускали "Виртуальную машину браузера" и html/javascript/css источники могли быть скомпилированы в "байт-код браузера". Разве это не помогло бы разработчикам и пользователям?
Я вижу несколько проблем:
-
Что делать с zillions существующих страниц? Сделайте эту компиляцию необязательной, поэтому, если вы хотите, вы можете использовать простой старый html. Если вы хотите прокормить браузер с помощью скомпилированной страницы, просто используйте .chtml, например.
-
Как поисковые провайдеры будут индексировать страницы? Сделайте декомпилятор, который декомпилирует байт-код в точные исходные источники (например, как флэш-память может быть декомпилирована). Или поисковые провайдеры могут использовать одну и ту же виртуальную машину и получать нужные им данные.
-
Как сделать его совместимым со всеми браузерами? Попросите одного централизованного разработчика (скажем, w3c) разработать эту виртуальную машину, а затем каждый браузер включит ее.
Но как насчет преимуществ:
- Скорость.
- Размер.
- Больше нет "свободного" и "неполного" html. Это либо правильно, либо не будет компилироваться.
- Выглядит одинаково в каждом (поддерживаемом) браузере.
Если не байт-код, то, по крайней мере, происходит некоторое нативное сжатие, html, вероятно, не самый эффективный способ хранения данных. Я знаю, что есть gzip, но зачем сжимать страницы каждый раз на сервере и распаковывать в браузере, если мы можем сжать его один раз и отправить его в браузер?
Итак, что мешает нам идти по этому пути (ну, помимо огромных усилий, чтобы все это случилось)?