Зачем учить JavaScript и где он пригодится

Аспирант»Нетологии» Максим Пименов рассказывает про JavaScript — невероятно популярный язык программирования, который учит сайты реагировать на поведение посетителей.

JavaScript — это лучший друг HTML и CSS. HTML задает разметку сайта, CSS отвечает за внешний вид, а JavaScript все это оживляет. С помощью кода на JavaScript программист определяет, как страница отреагирует на действия пользователя.

FirstExampleBlur.png
JavaScript-код загружают отдельным файлом, как в седьмой строке, или пишут прямо в коде страницы, как в строках 8–15

JavaScript — самый распространенный язык программирования для браузеров. Он работает под Windows, OS X, Linux и на мобильных платформах. То есть везде. Если не знаешь JavaScript, делать в программировании интерактивных сайтов нечего.

В 2009 году появился Node. js, который вывел JavaScript за пределы браузеров. Теперь его можно запустить хоть на стиральной машине. О том, что такое Node. js и зачем он нужен, мы уже писали, поэтому не буду рассказывать о нем подробно.

Без JavaScript делать в программировании интерактивных сайтов нечего

Как работает JavaScript

Любое действие пользователя на странице порождает событие. Программирование на JavaScript — это обработка событий. Вот как выглядит обычный сценарий:

Пользователь что-то сделал на странице

В браузере сработало событие

Запустился JavaScript-код, который назначен на событие

JavaScript изменил что-то на странице.

Программист пишет обработчик только для тех событий, на которые стоит реагировать:

Пользователь кликнул мышью

Сработало событие onclick

Запустилась функция changePhoto

В галерее сменилось фото

Пользователь нажал клавишу

Сработало событие onkeydown

Программист не назначил обработчик события

Ничего не произошло

ModalWindow.png
Не все события — это реакция на действие пользователя. Например, «приветственные» окна сайт показывает после события onload. Оно само срабатывает после полной загрузки страницы

JavaScript — это, прежде всего, реакция на события

Чем хорош JavaScript

JavaScript полностью интегрирован с HTML, он способен как угодно менять веб-страницу. В ответ на событие программист может:

  • на лету вставить в HTML-код любые теги;

  • задать внешний вид элементов через класс и атрибуты HTML;

  • переместить любой элемент;

  • запросить у пользователя данные;

  • отправить запрос на сервер(технология AJAX).

Это только то, что сразу пришло в голову JavaScript может намного больше, в пределах своей страницы он Бог.

GIF_rally-2.gif
Чтобы сделать такую игру на JavaScript, нужно 30(!) строк кода. Автор игры написал про нее небольшую заметку на «Хабрахабре»

JavaScript — подходящий язык для изучения программирования. Он достаточно прост, но содержит все фундаментальные вещи: алгоритмы, объектно-ориентированную модель, структуры данных. Если традиционные языки для обучения — Pascal и Basic — несут мало практической пользы, то JavaScript — рабочая лошадка.

Начинать с JavaScript хорошо и потому, что синтаксически он похож на великий и ужасный язык С. Изучив JavaScript, получишь базовое представление обо всех»сиобразных» языках: С++, C#, Java, PHP. Они задают тренд в своих областях и весьма популярны, поэтому для новичка важно познакомиться с синтаксисом С.

Программа на JavaScript — это простой текст. Писать на JavaScript можно в любом текстовом редакторе.

В пределах своей страницы JavaScript — Бог

Ограничения

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

Правила безопасности браузеров ограничивают мощь JavaScript и за пределами»родной» страницы. Управлять вкладками можно при определенных условиях или же вовсе нельзя. Например, JavaScript может закрыть только ту вкладку, которую создал сам.

Тем, кто хочет писать приложения для компьютеров или смартфонов, JavaScript не подходит

Конкуренты

Сейчас в веб-программировании нет ничего, что способно пошатнуть позиции JavaScript. Язык настолько удачен, что нет причин изобретать что-то другое.

С чистым JavaScript как-то конкурируют только надстройки над ним: CoffeeScript, TypeScript, Dart. Код этих надстроек отличаются синтаксисом, в некоторых случаев он быстрее работает, но перед выполнением все равно преобразуется в JavaScript

Главная сила JavaScript — вечная молодость. Он вышел 21 год назад, но не устарел, а развивался и развивается вслед за HTML.

Серьезных конкурентов у JavaScript нет

Что изучать до JavaScript

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

Если есть опыт HTML и CSS, совсем хорошо. Создание сайта логично начать со статичных страниц на HTML и CSS, а потом оживить их при помощи JavaScript. Плюс HTML и CSS дают базовое понимание того, как устроен интернет и работают сайты.

JavaScript — подходящий первый язык, если связываешь будущее с веб-разработкой

Куда развиваться JavaScript-программисту

Изучив основы JavaScript, можно копать так глубоко, как хочется.

Хорошо освоить библиотеки(фреймворки) для JavaScript. Фреймворк — это набор готовых готовых функций и классов. Некоторые из них настолько мощные, что полностью меняют сценарии программирования на JavaScript.

Самые популярные фреймворки- React, jQuery и Angular2.

JavaaScriptVsjQuery.png
Код в обеих строках делает одно и то же — скрывает элемент с идентификатором»helloDiv»

Кроме фреймворков можно изучать надстройки над JavaScript: CoffeeScript, TypeScript и Dart. Некоторые из них сделают ваш код чище и компактнее, другие — быстрее и строже.

Наконец, можно взяться за серверное программирование и Node.js. Это трендовая технология, которую используют BMW, Amazon, Apple и другие серьезные компании. Так вы расширите область своих знаний JavaScript за пределы управления веб-страницей.

Для JavaScript-программиста нет потолка развития

Полный текст статьи читайте на Нетология