изучение JavaScript

Почему стоит начать изучение JavaScript?

«NodeJS, NodeJS… да я телевизор купил, а в нём приложения на jQuery и Backbone» — Один PHP-старовер

Давным давно в одной галактике, когда цветастые девочки и мальчики ещё не то, что не возвращали, а даже не потратили свой 2007-й, мало-кто слышал что-то про асинхронный обмен данными в вебе, а чатики и игры писали на богомерзком Flash, был скромный язык JavaScript, который ветренные отечественные сайтостроители копипастили для получения простых визуальных эффектов на том или ином элементе сайта, дабы выказать своё барство и скилл, никто не писал и даже не думал в то время о сколь-нибудь серьёзных Single-Page Applications или различных сферах применения данного чуда, это был всего лишь язык для работы с гипертекстовой разметкой в браузере придуманный в далёком 1995-м. Так почему же сегодня стоит начать изучение JavaScript если вы всё ещё не в теме?

Относительно низкий порог вхождения

Несмотря на некоторые специфичные заморочки JavaScript это язык с динамической нестрогой типизацией, автоматическим управлением памятью и всего шестью типами данных. Для исполнения вашего кода не требуется компиляторов, сборки, вы можете запустить его прямо в консоли браузера или исполнить с помощью NodeJS в терминале и сразу увидеть результат. 21-летняя история языка и стремительно развивающиеся веб-технологии позволили разобрать и осветить все нюансы его работы, поэтому вы гарантированно сможете найти решение всех проблем при использовании языка на StackOverflow и подобных ресурсах. Всё это в сумме позволяет начать изучение JavaScript с минимальным набором инструментов и делает его весьма лёгким и беспрепятственным.

Увеличивающаяся сфера применения

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

Развитие интернета дало толчок для производителей всевозможных гаджетов улучшить взаимодействие с веб-сервисами и получение информации из сети, появился заметный тренд на «умные» вещи: «умные»-телефоны, «умные»-телевизоры. «умные»-то, «умные»-сё, теперь вот настало время часов.

Сашко
Осталось только придумать «умных» школьников и можно будет спокойно пользоваться всеми благами интернета

Обостряющаяся конкуренция помноженная на стремительно увеличивающееся количество используемых платформ доступа к информации вполне ожидаемо породило потребность в некоторой связующей технологии, которая при относительно низком пороге вхождения позволит максимально быстро выйти на рынок с прототипом или как сейчас стало модно говорить с MVP (Minimal Viable Product —Минимальный жизнеспособный продукт) с максимальным охватом.

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

PhoneGapВ 2005-м году для упрощения выхода на стремительно развивающийся мобильный рынок был придуман PhoneGap, позволяющий вам один раз запилить своё мобильное приложение на вебе, а потом экспортировать его в виде приложений для всех имеющихся мобильных ОС.

Node.jsВ 2009-м году Ryan Lienhart Dahl, решил, что «хватит это терпеть» и весьма не слабо потеснил server-side разработчиков придумав Node.js. С этого момента JavaScript стал уже больше походить на язык общего назначения, появился пакетный менеджер NPM, различные компоненты, сборщики проектов, бэкэндные фрэймворки на JS и вот это уже было действительно круто. По сути уже лишь изучение JavaScript с некоторыми аспектами позволяло отдельно-взятому юзеру гордо нарекать себя Fullstack-разработчиком и я даже знаю ребят, которые приехали в веб на одном лишь JS с солидным опытом как клиентской так и серверной разработки.

NW.js (ex-Node-WebKit)Шел 2012-й, мир не погряз в апокалипсисе, судный день не настал, но нашлись ребята которые решили подкинуть дровишек в затухающий костёр в чреслах презрительно плюющих в сторону JavaScript хейтеров и выпустили Node-WebKit, ныне именуемый NW.js. Это улётное дерьмо, столь-же дерзкое как PhoneGap, сделало возможным кросс-платформенный запуск вашего веб-приложения внутри WebKit-движка в виде standalone-софтины с фундаментом в виде модулей Node.js.

Также если покопаться, можно найти библиотеки, вспомогательные материалы и документацию, благодаря которым пройдя изучение JavaScript можно закодить если не чайник, то по крайней мере приложения в ваш Smart TV.

Easy way…

Подводя итог на сегодняшний день изучение JavaScript это лёгкий путь для того, чтобы:

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

Однако предостерегаю тебя, мой дорогой читатель, не поддавайся иллюзиям думая, что JS это панацея, вовсе нет. Если ты начинающий программист или гуманитарий решивший открыть себя заново в разработке, не будь узколобым, знай, в основе всего лежит алгоритмизация, специфики языков вторичны. Также, чтобы полноценно работать с памятью, добиваться хорошей производительности следует обзавестись багажом знаний работы с хотя-бы одним языком со строгой типизацией, биржа труда и без тебя переполнена кандидатами, которые ваяли шаблоны для CMS, использовали плагины jQuery и регулярно сыпятся на собеседованиях стоит только углубиться в технические дебри.

Not enough jQuery
Не бро…

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

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