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