Фронтендный JavaScript, HTML и CSS не передаются в виде скомпилированного байт-кода по нескольким причинам.
1. Портабельность и универсальность: Использование текстового формата позволяет передавать код, который может быть исполняем на различных платформах и операционных системах без необходимости предварительной компиляции под каждую из них.
2. Легкость разработки и отладки: Разработка в текстовом формате более удобна и проста для разработчиков. Легко читаемый и понятный код упрощает отладку и сопровождение.
3. Динамическое обновление: Используя текстовый формат, можно легко вносить изменения в код, без необходимости повторной компиляции и развертывания приложения, что облегчает процесс обновления и поддержки сайта.
Компиляторы, как таковые, не являются устаревшими или неактуальными для 19 века. Однако для языков программирования, используемых в web-разработке, такие как JavaScript, HTML и CSS, компиляция не является обязательной и не является оптимальным решением в связи с причинами выше.
Предоставление пользователю HTML в виде текста вместо построенного дерева также обусловлено гибкостью и динамичностью фронтенд-разработки. Пользователи могут изменять дерево и менять логику работы сайта, что может быть полезным для динамических и интерактивных приложений. Это позволяет создавать разнообразные пользовательские интерфейсы и адаптироваться к потребностям пользователей.
Теория о том, что 99% сайтов забирают только 1% трафика из-за необходимости компилирования отсутствующего в кеше кода, не является всеобъемлющей или верной. Существуют механизмы веб-кэширования, которые помогают оптимизировать загрузку и производительность веб-ресурсов, в том числе использование версий файлов, сжатие и кэширование. Подобные оптимизации позволяют значительно улучшить производительность и снизить время загрузки страницы.