Статьи

JavaScript достиг совершеннолетия

В следующем году JavaScript исполнится 20 лет (если не считать того, когда он впервые появился в браузере Netscape). Это язык с пестрой историей, который несет в себе много багажа с ранних лет, но, поскольку он оставляет позади свои юношеские годы, я думаю, что этот язык наконец-то вырос.

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

Но, несмотря на все свои проблемы, в JavaScript есть то, чего нет в других языках — охват и повсеместность . Для этого требуется только браузер, что означает, что любой, у кого есть компьютер или смартфон, способен запустить приложение JavaScript. JavaScript осуществил мечту о том, чтобы Java была доступна на всех платформах, используя браузер в качестве своей виртуальной машины. И теперь он может работать без браузера благодаря разработке таких движков, как Node.js.

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

После неловкого первого десятилетия JavaScript провел свои подростковые годы, взрослея. Революция началась с появлением Ajax, когда люди начали всерьез воспринимать JavaScript. Затем jQuery заставил людей использовать JavaScript для создания серьезных приложений, и Node поднял все это на совершенно новый уровень. Люди начали понимать, что JavaScript — это мощный и гибкий язык с некоторыми интересными функциями, такими как:

  • Асинхронное программирование на основе событий
  • Функции как объекты
  • Затворы
  • Прототип наследования
  • Объектные литералы и JSON

JavaScript также оказался достаточно гибким, чтобы позволить писать решения, которые преодолевают его основные недостатки. Ряд сред и библиотек был написан для решения этих проблем и делает JavaScript более приятным языком для программирования. Современные веб-браузеры также оказали большое влияние на язык, фактически устраняя несоответствия в реализации, которые преследовали его в прошлом (кто помнит, что нужно было написать несколько версий кода просто для того, чтобы заставить работать простое событие, например?). И скорость больше не является проблемой, поскольку различные движки, используемые в современных браузерах, уже невероятно быстры, и они только становятся быстрее.

Я твердо верю, что JavaScript будет самым важным языком для изучения в течение следующих нескольких лет. Способы разработки веб-сайтов развивались, и теперь они, вероятно, будут одностраничными веб-приложениями, которые в значительной степени зависят от JavaScript для выполнения тяжелой работы на стороне клиента, часто используя современные интерфейсные инфраструктуры, такие как Backbone или Angular.js. Изоморфный JavaScript — это процесс использования JavaScript для программирования серверной части веб-приложения, который приобретает все большую популярность благодаря преимуществам использования одного и того же языка для всего приложения. Данные, которые транспортируются из баз данных, часто хранятся в формате JSON. Можно создать приложение для iOS, Android и FireFox OS, используя комбинацию HTML, CSS и JavaScript. Интернет вещей — это широкий термин, используемый для описания чего угодно — от домашних гаджетов до маленьких роботов, большинство из которых использует JavaScript для взаимодействия со своими API. Короче говоря, JavaScript становится предпочтительным языком не только для переднего и заднего плана веб-разработки, но и для взаимодействия с огромным количеством современных устройств.

Недавно SitePoint опубликовал мою книгу « JavaScript новичок для ниндзя », которая берет вас с самого начала и подходит к более сложным темам в JavaScript. Он начинается с введения основ программирования, охватывающих такие темы, как переменные, условная логика, циклы, массивы, функции и объекты в предыдущих главах. Затем он переходит к использованию JavaScript для взаимодействия со средой браузера, охватывающей события, DOM, анимацию и формы. Затем в последней части книги рассматриваются более продвинутые концепции, такие как тестирование и отладка, объектно-ориентированное программирование и функциональное программирование, показывающие, что JavaScript способен справиться с ними. Мы также принимаем во внимание последние разработки, такие как HTML5 API, Ajax, фреймворки и исполнители задач, такие как Grunt. Есть также практический проект, включающий создание интерактивного приложения для викторин, которое развивается в каждой главе.

Если вы всегда хотели научиться программировать, то сейчас самое время начать, а JavaScript — идеальный язык для изучения. В 20 лет JavaScript, наконец, вырос и начал развиваться!