Тридцать лет назад инженер Netscape Брендан Эйх, как известно, создал новый язык сценариев на стороне клиента всего за десять дней. Первоначально он назывался мокко, но к концу года он будет переименован в JavaScript. В 1995 году никто не мог предсказать, что JavaScript станет самым популярным языком программирования в мире. Но это именно то, что случилось.
Как JavaScript стал определяющей технологией современной сети? В этой статье мы рассмотрим десять веховых моментов в 30-летней истории JavaScript. Примечательно, насколько экосистема JavaScript — и, соответственно, веб -экосистема — расширилась и трансформировалась за это время.
1. 1995: добавление интерактивности в Интернет
Первым ключевым моментом был, конечно, эти десять дней в мае 1995 года. Идея заключалась в том, чтобы создать Netscape, эквивалентный Visual Basic Microsoft — веб -язык, который был легко для начинающих разработчиков, веб -дизайнеров и DIY. Или, как позже сказал сам Брендан Эйх: «Была необходимость в доступном языке, который вы могли бы поместить прямо на веб -страницу».
Поместить на веб-страницу, с практической точки зрения, означало использование языка сценариев для создания клиентских программ, которые проходили в браузере Netscape. Название JavaScript было в значительной степени маркетинговым термином, разработанным руководителями Netscape и Sun Microsystem. Но в этом была своего рода логика: JavaScript был бы для разработки небольших интерактивных эффектов — таких как проверка формы или анимированные кнопки — в то время как Java будет для разработки более сложных веб -компонентов.
JavaScript был публично объявлен в конце 1995 года в рамках бета -запуска Netscape своего браузера Navigator 2.0.
2. 1997: Ecmascript 1.0
За 1996 год ранние разработчики и веб -мастера начали экспериментировать с JavaScript. Сначала JavaScript был использован довольно тривиальными способами — прокручивающим текстом, глупыми анимациями, трюками с цветами (исчезание, эффекты радуги и так далее). Сам Эйх позже назвал эти типы функций JS «раздражениями».
Но к 1997 году JavaScript стал сложным языком — с новыми функциями, такими как слои Netscape, добавив еще одно динамическое измерение в свои возможности. К этому времени у Microsoft была своя версия JS под названием JScript; С тех пор, как JavaScript был открытым исходным кодом, Microsoft была свободной для копирования и настройки JS в соответствии с его браузером Internet Explorer. Netscape, Microsoft и другие компании согласились получить беспристрастную спецификацию, созданную через стандартный орган под названием ECMA International. Первая спецификация ECMA-262 (Nick-Ned Ecmascript) была опубликована в июне 1997 года, что дало JavaScript нейтральную дорожную карту.
3. 1999: дебюты Xmlhttprequest
Здесь все становится действительно интересным для JavaScript, но, как ни странно, именно Microsoft обеспечила отличный технический скачок вперед, а не Netscape.
Internet Explorer 5 тихо представил технологию под названием xmlhttprequest, позволив сценариям извлекать данные в фоновом режиме. Это был API в форме объекта JavaScript, используя асинхронные вызовы, позволяющие страницам обновляться без полного обновления. Это было семя того, что позже будет называться Ajax.
Один из инженеров Microsoft, ответственных за эту технологию, Алекс Хопманн позже объяснил, что они создали технику для использования в веб -версии Outlook. Когда пришло время включить xmlhttprequest в IE5, он был добавлен как часть библиотеки MSXML (сервисы Microsoft XML Core). Хопмман сказал, что именно откуда «XML» часть имени взялась — «В основном дело о HTTP и не имеет никакой конкретной связи с XML, кроме того, что это было самым простым оправданием для его доставки, поэтому мне нужно было втиснуть XML во имя», — написал он.
Больше всего на свете, который можно увидеть в программировании JavaScript.
4. 2005: Ajax & jQuery в Web 2.0
После периода Dot-Com, Brower Innovation Atrophied-что также означало, что в JavaScript также не было много инноваций (хотя в 2001 году в 2001 году выкрикивал JSON-JavaScript Object Natation-что Дуглас Крокфорд изобрел). Однако, когда Web 2.0 начался примерно в 2004 году, все снова поднялось.
Примечательно, что Xmlhttprequest получил ребрендинг. Архитектор UX Джесси Джеймс Гарретт придумал термин Ajax 18 февраля 2005 года (он выступил за «асинхронный JavaScript и XML»). Через месяц Google Maps продемонстрировал свой потенциал. Аякс стал, пожалуй, самой модной функцией Web 2.0 — хотя блестящие, округлые углы дали ему возможность за свои деньги.
В августе 2005 года разработчик Джон Ресиг начал то, что станет самой популярной и долговечной библиотекой JavaScript из всех: jQuery. Когда он выпустил его в январе 2006 года, он продвигал его как «New Wave JavaScript». По сути, он сгладил причуды DOM, давая разработчикам один цепный API.
5. 2009: node.js сбегает от браузера
В JSCONF EU 27 мая 2009 года Райан Даль обнародовал Node.js, женившись на двигателе V8 Chrome на модели сервера событий. Внезапно JavaScript может справиться с бэкэнд, а также пользовательского интерфейса.
В результате node.js бросая фраза «JavaScript везде» стала обычной. Аналитическая фирма Redmonk использовала этот термин в блоге в июле 2010 года, добавив, что JavaScript теперь был «Luga Pranca of the Cloud». Конечно, стартапам понравилась концепция одноязычного стека; И предприятия вскоре приняли это тоже.
Фраза завоевана — «запустить JavaScript везде» в настоящее время украшена на домашней странице проекта.
6. 2014: расширение NPM
Поскольку экосистема JavaScript расширилась, чтобы включить как бэкэнд, так и фронт, так же количество библиотек и пакетов JS также расширилось.
NPM был создан в 2010 году в качестве реестра проектов JavaScript. К тому времени, когда NPM, Inc. была сформирована в 2014 году, коммерциализируя реестр, количество модулей выросло с 6000 в начале 2012 года до 50 000 пакетов. Это помогло команду простой установки NPM, которая поощряла культуру ультраумных модулей.
Рост NPM означал, что разработчики перешли от сценариев с копией к составлению приложений из многих крошечных пакетов JS. Это облегчило повторное использование кода, хотя он также добавил риски безопасности и надежности в цепочке зависимостей.
7. 2015: ES6 модернизирует язык
Долгожданный Ecmascript 2015 (ES6) выровнял JavaScript с современными вкусами программирования. Действительно, официальная спецификация признала, что JavaScript теперь был «полностью избранным общим предложением языка программирования». Вот как выразилась спецификация:
«Использование ECMASCRIPT вышло за рамки простых сценариев, и теперь оно используется для полного спектра задач программирования во многих различных средах и масштабах. По мере расширения использования ECMASCRICT, так и функции и средства, которые он предоставляет».
Ecmascript 2015 был не только самым крупным обновлением для языка, но и добавил «надежный процесс для годовых обновлений, которые принесли последовательность улучшений, крупных и малых», как сказала Мэри Бранскомб из нового стека в прошлом году.
8. 2016: React и Component Revolution
В опросе разработчиков Stack Oupflow 2016 года React был указан в качестве главной «трендовой технологии» того года (в прошлом году React даже не упоминался в отчете).
Нет сомнений в том, что React был революционным изменением в разработке JavaScript. Когда он был первоначально выпущен в 2013 году Facebook, он дал разработчикам две «виртуальные» копии DOM (A до и после каждого взаимодействия), из которых вы затем запускаете «разное» процесс, чтобы установить, что именно изменилось. Затем React применяет эти изменения к фактическому DOM, что означает, что только часть DOM изменяется, а остальная часть остается как есть. Это, в свою очередь, означает, что только часть веб-страницы должна быть повторно разрешена для конечного пользователя. Разработчик Facebook Кристофер Чедво сравнил реагирование с «контролем версий для DOM».
Одним из других важных концепций, лежащих в основе React, было то, что он не был основан на шаблонах, как предыдущие популярные рамки (такие как Ruby On Rails и Django). Как сказал Пит Хант из Facebook в 2013 году, «React подходит к созданию пользовательских интерфейсов по -разному, разбивая их на компоненты [which] Sead React использует реальный, полнофункциональный язык программирования для визуализации взглядов ».
React был в полном потоке к 2016 году, но он также начал привлекать критиков, чьи основные жалобы были в том, что приложения или страницы React были раздуты кодом JavaScript, слишком медленными и слишком сложными (особенно в отношении управления государством).
9. 2019: прорыв в типографии
Языковые рейтинги RedMonk в июне 2019 года поместили в TypeScript Dest — первый новый участник топ -10 за пять лет, и первый раз, когда TypeScript пробился в первую десятку.
Каким типовым произведением-суперсетом JavaScript-представленным в таблице статическое типирование, автозаполнение IDE, рефакторное инструментирование и многое другое. Эти функции помогли убедить крупные предпринимательские команды в том, что JavaScript может масштабироваться до миллионов линий.
Одной из причин растущей популярности TypeScript в 2019 году была поддержка основных фреймворков JavaScript. TypeScript легко интегрируется с React, он является основным языком углового, и интегрирован с Vue.js. Кроме того, он поддерживается серверными платформами JS, такими как Deno (у которых всегда была поддержка TypeScript) и Node.js (которые добавили его в марте этого года).
В последних рейтингах Redmonk за январь 2025 года TypeScript является номером 6. Таким образом, он продолжает получать влияние в экосистеме JS.
10. 2022: Webassembly и Edge
Webassembly стала рекомендацией W3C в декабре 2019 года, но точка заражения разработчиком появилась, когда Cloudflare открыл свой работник JavaScript/WASM в сентябре 2022 года. JavaScript теперь обычно работает в DataCenters во всем мире, и бок о бок с модулями Wasm.
Практически говоря, это означает, что JavaScript в настоящее время используется на краю сети и часто объединяется с WebAssembly для задач с тяжелыми вычислениями-возможно, для будущего полиглота для программирования (использование нескольких языков программирования в пределах одного проекта).
Вы можете спросить, не была бы первоначальная точка Webassembly для составления других языков, чтобы разработчики могли использовать их в браузере через JavaScript? Да, действительно, но это меняется. Как сказал Гай Бедфорд из Fastly в апреле 2023 года «Mary Branscombe»: «Webassembly имеет все эти преимущества, которые применяются во всех различных средах, где его можно развернуть, из -за ее свойств безопасности и его свойств производительности и его переносимости». Другими словами, у WASM само по себе имеет много преимуществ — особенно на грани — и поэтому для определенных проектов стоит JavaScript в свою экосистему.
Что дальше?
Будет ли JavaScript даже продлиться еще 30 лет, в эпоху, когда ИИ может сделать программирование устаревшим? Никто не может ответить на это прямо сейчас, но мы знаем, что сообщество веб -разработчиков начинает отработать сложность современной экосистемы JavaScript. Как писал мой коллега Алекс Т. Уильямс в посте, опубликованном ранее сегодня, React, в частности, подвергается вызов. «Современные браузеры более способны, разработчики более проницательны, а джиг почти вырос», — отметил он.
Так что, возможно, пришло время вернуться к простоте в мире JavaScript. Несмотря на это, давайте отпраздноваем три десятилетия широкомасштабных инноваций для главного языка программирования в Интернете. Спасибо Брендану Эйху за эти 10 суровых дней в 1995 году, и вот еще 30 лет!
Trending Stories youtube.com/thenewstack Tech движется быстро, не пропустите эпизод. Подпишитесь на наш канал YouTube, чтобы транслировать все наши подкасты, интервью, демонстрации и многое другое. Группа подпишитесь с эскизом. Ричард Макманус — старший редактор нового стека и пишет о тенденциях разработки веб -и приложений. Ранее он основал ReadWriteWeb в 2003 году и встроил его в один из самых влиятельных технологических новостей в мире. С самого раннего … Подробнее от Ричарда Макмануса