Почему программы javascript поставляются в виде простого текста?

Почему было решено отправлять программы на JavaScript в виде простого текста? Было ли это для повышения производительности, или авторы никогда не предполагали, что javascript будет использоваться в гораздо более сложных приложениях, и разработчики могут захотеть защитить исходный код?

5 ответов

Решение

Это потому, что JavaScript никогда не предназначался для больших веб-приложений, а скорее был способ сделать что-то "крутое" в браузере. JavaScript не был очень популярным языком и презирался до появления AJAX, поэтому никогда не было особого понимания, как должен распространяться JavaScript. В конце концов, самый простой способ отправить JavaScript в браузер - это использовать обычные текстовые файлы. Зачем им было что-то еще в 1995 году?

Я думаю, что одна из причин была в том, что, поскольку сам HTML доставлялся в виде обычного текста в браузер, то и JavaScript тоже. Это был путь в Интернете.

Посмотрите на YUI; он будет сжимать файлы JavaScript, заменяя все имена переменных, функций и т. д. на такие вещи, как a, b, c...

Он также удалит все ненужные пробелы, символы новой строки и т. Д. Таким образом, он будет одновременно запутывать код JavaScript и уменьшать его размер.

Текст - это единственная форма данных, которая передается между любой парой компьютеров, не обращая внимания на архитектуру компьютера: порядковый номер, размер слова, двоичное представление с плавающей запятой, отрицательное кодирование и т. Д. Даже компьютеры EBCDIC с готовностью обрабатывают ASCII.

Хотя любая схема двоичного представления может преодолеть эти камни преткновения - как это делают внутренние компоненты TCP/IP - код, с которым это не совсем приятно работать - или даже читать. Опыт показывает, что даже самые опытные инженеры иногда забывают использовать необходимый макрос преобразования хост-сеть или сеть-хост.

Действительно, многие протоколы, которые в основном передают числовую информацию, преобразуют значения в нотацию ASCII для передачи в основном из-за общности. ( Вспоминаются PCL и ANSI 3.64.) Передача текстовых сообщений легко поддерживается широким кругом собственных числовых форматеров и анализаторов, которые, как правило, хорошо оптимизированы. Кроме того, практически каждый язык программирования поддерживает текстовые числовые данные. Поддержка данных в двоичном формате варьируется от адекватной до болезненной.

Обеспечить безопасность простого текста легче, чем двоичного (из-за переполнения буфера и т. Д.). Это имеет более низкую стоимость входа. Минификация и архивирование делают его эффективным. Веб-разработка проще. Я должен идти дальше?

Другие вопросы по тегам