Это история двух подруг Ады и Грейс. Ада - увлеченный разработчик пользовательского интерфейса. Она увлекается новыми технологиями и всегда старается узнавать что-то новое в экосистеме пользовательского интерфейса. После долгого времени в один прекрасный день Ада встретила свою подругу Грейс, которая работает над другой технологией. После первоначального обсуждения обсуждение перешло к их работе ...

Грейс: Привет, Ада, вы все еще работаете над JavaScript и HTML?

Ада: да. Я работаю с JavaScript.

Grace: используется ли он для разработки веб-приложений?

Ada: он был разработан для Интернета, но на сегодняшний день JavaScript повсеместно присутствует. Он также используется для разработки на стороне сервера (Node JS), погружения в Интернет, то есть AR / VR, программирования дронов, мобильной разработки и многого другого.

Грейс: Хм ...

Ада:… и знаете ли вы, что он имеет открытый исходный код, кроссплатформенный и довольно популярный? На таких платформах, как GitHub и NPM, доступен ряд JS-репозиториев и плагинов, которые вносит очень большое активное сообщество. Прелесть JavaScript в том, что это легкий интерпретируемый язык программирования.

Grace: вы упомянули NPM. Что ты имеешь в виду?

Ada: NPM означает диспетчер пакетов узлов. Это менеджер пакетов по умолчанию для среды выполнения JavaScript Node.js. Думайте об этом как о Maven для Java.

Грейс: Да уж, здорово. Если я хочу изучить JS и мне нужно запустить базовый проект JS, какие шаги мне нужно выполнить?

Ada: для базового приложения или для начала работы с JS вам понадобится только редактор. Популярными редакторами, используемыми JS-программистами, являются Visual Studio Code, Sublime, WebStorm и так далее. Для начала вы можете сослаться на базовые онлайн-уроки в W3C School, Tutorials Point и Pluralsight.

Grace: круто. У меня фундаментальный вопрос о веб-программировании. Все ли браузеры понимают JavaScript?

Ada: Да, все браузеры полностью понимают JS до версии 5. Кстати, я работаю с последней версией JavaScript.

Grace: какая последняя версия JavaScript ??

Ada: последним популярным выпуском был ES6 aka ECMAScript2015, как следует из названия, он был выпущен в 2015 году.

Грейс: интересно! Вы хотите сказать, что после 2015 года нового релиза не было?

Ada: № 2015 был крупным выпуском после долгого времени, который был принят большой частью сообщества. С тех пор было выпущено несколько релизов, каждый из которых содержал действительно приятные функции.

Грейс: Итак ... как вы называете последнюю версию?

Ada: ECMAScript 2018 aka ES9.

Grace: ECMAScript и Javascript - это одно и то же?

Ада: Хм… не совсем. ECMAScript - это спецификация, а JavaScript следует за ней.

Grace: технические характеристики? Что вы имеете в виду под спецификациями?

Ada. Подумайте о спецификациях, таких как план, рекомендации, нормы, которым должен соответствовать язык.

Грейс: Тогда кто определяет эти характеристики?

Ada: существует технический комитет TC39, на который возложена ответственность за развитие JavaScript. Они предлагают эти спецификации.

Грейс: Попался. Вы сказали ранее, что браузеры понимают только до версии 5. Означает ли это, что популярные браузеры, такие как Chrome, Firefox, Safari и Edge, не распознают последние версии, о которых вы только что упомянули?

Ada: на сегодняшний день среди всех браузеров Chrome понимает большинство последних версий, а Firefox занимает второе место. Цель остальных - наверстать упущенное.

Грейс: Тогда почему вы используете его сейчас?

Ada: новые версии обладают действительно классными функциями, такими как 100% обратная совместимость, они быстрые, поддерживают принципы объектно-ориентированного программирования, функциональное программирование и т. д.

Grace: если вы пишете код с использованием последней версии, как вы можете гарантировать, что браузер его поймет?

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

Grace: Какой транспилер вы тогда используете?

Ада: мы используем babel. Он переносит или преобразует код, написанный на ES6 или последних версиях, в ES5, версию, которую, как я упоминал ранее, понимают все браузеры. Чтобы связать JS-код с babel, мы используем webpack.

Grace: Webpack, что такое Webpack ???

Ada: Webpack - это сборщик модулей для приложений JavaScript. Он объединяет все файлы артефактов в один выходной файл. Webpack предоставляет загрузчики для различных типов файлов, таких как JSON, CSS, URL и т. Д. Кроме того, он предоставляет загрузчик для babel transpiler, также известного как babel-loader.

Grace: есть ли другие функции?

Ada: нулевая конфигурация, минификация, удаление, встроенный сервер, горячая замена модулей. У него также есть собственный интерфейс командной строки ...

Грейс: Ого! JavaScript действительно очень мощный и крутой, чем я думал. Я определенно хотел бы узнать об этом намного больше. Мне интересно узнать, как он используется для разработки на стороне сервера, а также для разработки мобильных приложений. Когда ты расскажешь мне об этом подробнее?

Ада: Давай скоро встретимся снова, и тогда я буду более чем счастлив рассказать тебе об этом больше. Пока мы не встретимся снова, до свидания и чао!

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