История возникновения

Краткая история JS #

1995 г. Начало. #

Компания Netscape решила, что для оживления веб страниц требуется браузерный скриптовый язык.

Задача по разработке поручается Брендану Эйху — и легендарный Эйх, за 10 дней выкатывает 1-й прототип.

В процессе написания Брендан пьет много мокко (mocha) и в честь этого язык называют MochaScript Впоследствии переименовывают в LiveScript а потом, чтобы хайпануть на популярном в то времени Java переименовывают в JavaScript

Брендан Эйх

1996 г. Начало войны браузеров. #

Выпуск JavaScript 1.0 в выпускается браузере Netscape Navigator 2.0.

Microsoft же в ответ выкатывает JScript для Internet Explorer 3.0

Языки хоть и похожи между собой но имеют ряд различий. (Например JScript умеет работать с эксель таблицами не выходя из браузера)

Начинается «война браузеров». Разные реализации языка создают хаос и проблемы с совместимостью.

1997 г. ES1 #

Люди пытаются остановить хаос и JavaScript стандартизируют ассоциацией ECMA (European Computer Manufacturers Association)

Новый язык получает название ECMAScript (ES1) но все по привычке называют его JavaScript

1998 г. ES2 #

Выкатывается ES2 приведенный в соответствии со стандартами ISO

1999 г. ES3 #

Выпускается ES3. В нем добавляются регулярки, обработка исключений (try/catch), и т.д.

Эта версия языка остается важной на протяжениии десятилетия.

2000-2005 #

Разногласия в комитете не позволили работать над ES4. Начались невероятные кроссбраузерные проблемы. Браузеры (особенно Internet Explorer, Mozilla, Opera, Safari) по-разному реализовывают JavaScript и DOM API. Разработчики вынуждены писать костыли и изобретать велосипеды, чтобы обойти все это.

2006 jQuery #

Джон Резиг создает библиотеку которая бы упрощает рутинные задачи, избавляет от кросс-браузерных различия и позволяет писать меньше кода. «Write less, do more»

Называет он ее JSelect, однако домен с этим именем занят, тогда Резинг переименовывает продукт в jQuery… потом выяснится, что это имя тоже уже есть у Java бибиотеки для работы с SQL

Ключевые моменты в jQuery #

  1. простой API для работы с DOM

    Функция $() позволяла делать сложные выборки элементов с помощью CSS-селекторов (например, $(’.class div’)), что было революционным.

    Методы вроде .hide(), .show(), .addClass() делали манипуляцию элементами невероятно простой

  2. кроссбраузерность

    Обработка событий и анимации везде происходили одинаково и можно было не изобретать велосипед.

  3. цепочка вызовов

$('div').hide().addClass('blue')
  1. плагины

    Архитектура позволяла легко расширять библиотеку, благодаря этому появились тысячи плагинов для слайдеров, анимаций, валидаций и т.д.

2009 г. ES5 #

После долгого перерыва выходит новая версия ECMAScript. За основу берется версия 3.1. Среди важных обновлений: режим strict, геттеры и сеттеры, а также поддержка JSON

Райан Даль выступает на JSConf 2009 и представляет Node.js — среду выполнения для JavaScript на основе JavaScript-движка V8 JavaScript “вырывается из браузера”

2010 г. NPM и Angular #

Релиз фреймворка AngularJS. И как следствие начало эпохи фреймворков, изменивших подход к разработке веб-приложений

2012 г. #

Появление webpack и TypeScript

2015 г. ES6 (ES2015) #

Самое большое обновление за историю языка! Появились: классы, модули, стрелочные функции, let/const, промисы, шаблонные строки.

2016 - … #

ежегодное обновление ES*, развитие и доминирование фрейморков ( Angular, React, Vue)