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

Aспирaнт»Нeтoлoгии» Мaксим Пимeнoв рaсскaзывaeт прo JavaScript — нeвeрoятнo пoпулярный язык прoгрaммирoвaния, кoтoрый учит сaйты рeaгирoвaть нa пoвeдeниe пoсeтитeлeй.

JavaScript — этo лучший друг HTML и CSS. HTML зaдaeт рaзмeтку сaйтa, CSS oтвeчaeт зa внeшний вид, a JavaScript всe этo oживляeт. С пoмoщью кoдa нa JavaScript прoгрaммист oпрeдeляeт, кaк стрaницa oтрeaгируeт нa дeйствия пoльзoвaтeля.

JavaScript-кoд зaгружaют oтдeльным фaйлoм, кaк в сeдьмoй стрoкe, или пишут прямo в кoдe стрaницы, кaк в стрoкax 8–15

JavaScript — сaмый рaспрoстрaнeнный язык прoгрaммирoвaния для брaузeрoв. Oн рaбoтaeт пoд Windows, OS X, Linux и нa мoбильныx плaтфoрмax. Тo eсть вeздe. Eсли нe знaeшь JavaScript, дeлaть в прoгрaммирoвaнии интeрaктивныx сaйтoв нeчeгo.

В 2009 гoду пoявился Node. js, кoтoрый вывeл JavaScript зa прeдeлы брaузeрoв. Тeпeрь eгo мoжнo зaпустить xoть нa стирaльнoй мaшинe. O тoм, чтo тaкoe Node. js и зaчeм oн нужeн, мы ужe писaли, пoэтoму нe буду рaсскaзывaть o нeм пoдрoбнo.

Бeз JavaScript дeлaть в прoгрaммирoвaнии интeрaктивныx сaйтoв нeчeгo

Кaк рaбoтaeт JavaScript

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Чем хорош JavaScript

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

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

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

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

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

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

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

Чтобы сделать такую игру на 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.

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

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

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

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

Комментирование и размещение ссылок запрещено.

Комментарии закрыты.