- Для чего хорош JavaScript?
- Для чего хорош JavaScript?
- Динамические веб-страницы
- Веб-приложения и игры
- Расширения для браузера
- Серверные приложения
- Мобильные приложения
- Язык программирования JavaScript: история, особенности, перспективы
- Язык программирования Javascript: особенности и преимущества
- Стоит ли учить JavaScript: перспективы, ситуация на рынке труда, мнения экспертов
- Экскурс в теорию: информация о JavaScript, сферах применения и особенностях языка
- Сферы применения JavaScript
- Популярность, рейтинг и перспективы JavaScript
- Сколько платят фронтендерам, или О зарплатах JavaScript-программистов
- Перспективы JavaScript: взгляд экспертов
- Сергей Рубанов: спрос на рынке труда JavaScript-разработчиков сильно превышает предложение
- Павел Черторогов: эх, а ведь были времена, когда разработчики стеснялись говорить, что они пишут на JavaScript. Сейчас всё не так
- Роман Дворнов: JavaScript вряд ли куда-либо денется в ближайшие годы
- Андрей Оконечников: будем ли мы писать JS через несколько лет — неизвестно, но 99% что мы будем продолжать компилировать в JS
- Александр Казаченко: на одного подходящего кандидата приходится 10 или более неподходящих, это печалит
- Стоит ли браться за JavaScript: итоги
- Видео
Для чего хорош JavaScript?
Для чего хорош JavaScript?
Автор Алексей Морозов
Самое известное применение JavaScript — это, конечно же, веб-разработка. Чаще всего к JS прибегают, когда нужно добавить динамичности на сайт или сделать браузерное приложение, но при желании на нём можно написать и бэкенд.
Итак, в каких областях нашёл себя JavaScript.
Динамические веб-страницы
Всплывающие подсказки, движущиеся картинки, падающие снежинки и прочие анимашки — за всем этим можно идти к JS. JS-код встроен в веб-страницу, и когда пользователь открывает её, скрипт выполняется прямо в браузере.
29 апреля в 13:00, Онлайн, Беcплатно
Без JavaScript почти невозможно создать полноценный сайт. Добавьте к JS знания HTML, CSS, и вы получите неплохой набор навыков начинающего фронтенд-разработчика. Для полноты картины стоит освоить пару популярных фреймворков: например React, Svelte, Vue.js.
Веб-приложения и игры
JavaScript пригодится и здесь. Для примера, Google Maps и веб-клиент Gmail используют JavaScript. А если вы хотите написать игру — возьмите JS, HTML5, одну из готовых библиотек (скажем, EaselJS или PixiJS) и создайте свою браузерную бродилку, «три в ряд» или во что там сейчас все играют.
Расширения для браузера
Раз JavaScript выполняет код в браузере, это отличный выбор для создания браузерных расширений. Напишите свой чекер почты или, например, счётчик активности, который будет отслеживать, сколько времени вы провели за работой, а сколько за просмотром соцсетей.
Серверные приложения
Да, на JavaScript спокойно можно написать веб-сервер. Но если в браузере у JS практически нет конкурентов, то в мире бэкенда ему приходится соревноваться с другими языками: PHP, Python и прочими. Главное преимущество JavaScript в этой битве — возможность разрабатывать клиентскую и серверную часть на одном и том же языке. Чтобы писать бэкенд на JavaScript, обычно используется движок Node.js — он позволяет выполнять JS-код вне браузера.
Мобильные приложения
Возможно, не самое популярное, но вполне реальное применение JavaScript. Чаще всего мобильные приложения разрабатываются на языках, специфичных для операционной системы (Swift для iOS и Java/Kotlin для Android). JavaScript же хорош тем, что позволяет создавать кроссплатформенные приложения — для этого можно использовать фреймворки React Native, Ionic или PhoneGap. Хотя и тут у JS есть конкуренты — например языки Kotlin и Dart.
Язык программирования JavaScript: история, особенности, перспективы
Первые предпосылки для появления этого языка появились еще в 1992 году, когда была начата разработка скриптового встраиваемого языка Cmm (Си минус минус). Позже он был переименован в ScriptEase, так как название Си минус минус имело негативный оттенок. В целом. Перед тем, как язык обрел свое современное имя, его название менялось еще несколько раз.
В 1995 году Брендан Эйх получил задачу внедрить язык программирования в браузер Netscape. Изначально язык назывался Mocha, затем LiveScript. Наконец, он получил свое современное имя – JavaScript. Здесь разработчики пошли на хитрость. В то время, когда они занимались улучшением LiveScript, довольно большой популярностью пользовался язык Java. Для того, чтобы привлечь больше разработчиков для работы с новым языком, было решено использовать в его названии Java. В итоге получился JavaScript.
Последняя на сегодняшний день версия языка ES6 вышла в 2015 году. С ее появлением язык обрел вторую жизнь. Появились новые стандарты, а также возможность работы с константами. Претерпел изменения и сам код. Язык придерживается принципа сокращения кода при большей функциональности.
К основным особенностям этого языка программирования относятся:
Помимо этого, важной особенностью JavaScript является его развитая инфраструктура. На сегодняшний день разработчики могут работать с большим количеством библиотек и фреймворков (наиболее популярными из них являются React, Angular и Vue), несколькими сборщиками, вспомогательными библиотеками (например, Lodash) и генераторами статических сайтов.
Что касается сфер применения, в первую очередь, язык JavaScript широко используется в веб-разработке. Причем работает он в сочетании с HTML и CSS. С помощью JS можно создавать любые браузерные приложения. Например, калькулятор расчета кредита, который можно видеть на сайтах большинства банков, также создан с помощью JavaScript.
Причем вся визуальная часть этого калькулятора – это сочетание HTML+CSS. То есть кнопки, диаграммы, ползунки – это статические элементы. С помощью JS все то анимируется, а также проводятся все основные расчеты.
Еще один пример – форма подписки или регистрации. Она создана на HTML+CSS. Однако взаимодействие с сервером обеспечивается именно благодаря JS. Помимо этого, на языке JavaScript можно создавать следующие программы и приложения:
Язык программирования Javascript: особенности и преимущества
Javascript существует уже четверть века. Срок внушительный для подобных технологий. За это время он прошёл большой путь, стал мощным инструментом IT-индустрии. По уровню популярности язык в группе лидеров. При этом он считается доступным для освоения, дружественным по отношению к новичкам. Рассмотрим его главные преимущества.
Само наименование Javascript появилось не сразу. Изначально язык назывался Mocha, затем появился термин Livescript. Это гораздо более ёмко отражало его суть. В то время в браузерах активно внедрялась поддержка нового, перспективного языка Java. Тогда и было решено переименовать Livescript в Javascript. Схожесть между языками есть, прежде всего, по синтаксису. Но по сути это очень разные инструменты.
В 2015 году вышла версия ES6 (ES2015). Это событие считается прорывом в развитии Javascript. Появились новые стандарты и возможности. Например – константы.
Код стал более рациональным, была реализована идея «пиши меньше – делай больше».
Javascript – динамический скриптовый язык программирования высокого уровня. Он отличается мультипарадигменностью. Речь идет о поддержке функционального, императивного, событийно-ориентированного стилей. Чаще всего язык используется для создания интерактивных веб-страниц и приложений.
Неизменно высокий интерес к Javascript подтверждают специальные международные рейтинги. Эти индексы представляют собой аналитические данные, в основе которых:
PYPL (PopularitY of Programming Language). Авторитетный рейтинг, в его основе – данные крупнейшего поисковика Google SE. Javascript – в тройке лидеров.
Stack Overflow. Этот индекс анализирует количество вопросов по языкам и инструментам в профессиональных сообществах. Здесь Javascript уверенно занимает лидирующую позицию.
Именно в области Frontend задействовано огромное число наработок (компонентов), основанных на Javascript. Наиболее активно используется примерно 25-30 библиотек и фреймворков. Эти готовые шаблоны и решения для стандартных задач (с вариациями) существенно экономят время. Они упрощают процесс web-разработки, ускоряют его, снижая стоимость проектов. Самые популярные из них, пожалуй, следующие:
Javascript применяют также для создания мобильных приложений, в серверной (backend) разработке, в десктопных (например, офисных) программах. Мировой бум сайтостроения и тенденция к расширению интерактивности способствуют феноменальному росту востребованности языка.
Javascript популярен не случайно, а благодаря своим несомненным достоинствам.
— Незаменимость для веб-разработки. Поддержка скриптов всеми популярными браузерами; полная интеграция с вёрсткой страниц (HTML+CSS) и серверной частью (backend).
— Скорость работы и производительность. Javascript позволяет частично обрабатывать веб-страницы на компьютерах пользователя без запросов к серверу. Это экономит время и трафик, снижает нагрузку на сервер.
— Мощная инфраструктура (экосистема). Первые 10 лет этого не было и в помине. Затем количество готовых решений в открытом доступе так возросло, что работать с Javascript и его фреймворками стало удовольствием.
— Простота и рациональность применения. Простую задачку можно решить за 5 минут, не надо делать лишнюю работу. Для сложных заданий есть варианты решения, можно подобрать лучший, адаптировать.
— Удобство пользовательских интерфейсов. Заполнение форм, выбор действий, активация кнопок, проверки ввода, реагирование на наведение / клики мыши и т.п Это даёт потрясающий уровень юзабилити.
— Лёгкость освоения. Возможно, это дело привычки. Сначала код может показаться сложным, но к его синтаксису, логике быстро привыкаешь. Отображение действий ощутимо добавляет энтузиазма.
Как любой язык программирования, Javascript имеет некоторые недостатки (ограничения).
— Нет возможности чтения и загрузки файлов. Это ограничение функциональности на стороне клиента. Главная причина – соображения безопасности.
— Нестрогая типизация и вольная трактовка. Язык игнорирует явные нестыковки. Имеет место разная интерпретация данных. Нет возможности раннего выявления ошибок. Все недочёты выявляются уже на этапе работы.
— Нет поддержки удалённого доступа. Поэтому язык нельзя использовать для сетевых приложений. За это Javascript даже не считают полноценным языком программирования.
— Доступность для злоумышленников. В свободный скриптовый язык проще всего встроить фрагмент вредоносного кода, который может навредить пользователю. Надежда только на антивирус и фаервол.
Надо отметить, что сообщество пользователей Javascript активно улучшает язык, устраняя многие недостатки. Узких мест становится всё меньше. Браузеры постоянно совершенствуют работу с JS. Выход HTML 5 дал новый толчок к расширению возможностей скриптов.
При выборе профессии web-программиста без Javascript не обойтись. Понадобятся также знания по HTML и CSS, эти инструменты обычно работают в связке. Быстрому освоению языка способствуют:
Онлайн-обучение – самая удобная и эффективная форма освоения Javascript. Можно начать с общей информации и наглядных примеров, которые очень впечатляют.
За 1 год при желании и старании реально стать специалистом начального уровня, а за 2-3 года обучения и практики дорасти до профессионала в области frontend-разработки.
Спрос на специалистов по Javascript превышает предложение, он постоянно растёт. Программисты нужны веб-студиям, крупным компаниям, есть вариант работать на фрилансе.
Рассмотрим ситуацию с вакансиями на примере крупного российского агентства по рекрутингу Head Hunter. Сделаем на сайте запрос с ключом «программист javascript». Результат:
Чтобы понять, много это или мало, сравним с другими популярными направлениями сферы IT.
На портале HH знатокам JS предлагается наибольшее количество вакансий. Другими словами, это лидер рынка труда по числу предложений для программистов. Вы в этом легко убедитесь. Работу можно найти даже начинающему специалисту, а опытному – тем более.
Труд программиста Javascript оплачивается очень достойно. Средний доход: 120-130 тысяч рублей в месяц при полной занятости. Даже новички зарабатывают от 50000. Конкретные примеры на том же портале HeadHunter.
Востребованность специалистов и высокая зарплата – ещё одно неоспоримое преимущество Javascript. Возможно, главное. И в обозримом будущем эта тенденция сохранится.
Причин для освоения Javascript достаточно. Во-первых, язык очень популярен и ещё долго будет занимать лидирующие позиции в web-разработке. Во вторых, JS динамично развивается, в открытом доступе огромная инфосистема: библиотеки, фреймворки, обучающие материалы. Это результат активности многочисленного профессионального сообщества.
В-третьих, язык достаточно прост для изучения. Срок входа в профессию: 1-2 года. И в-чётвёртых, карьерные перспективы весьма заманчивы. Спрос на программистов растёт, работодатели предлагают высокий уровень зарплаты, особенно опытным специалистам.
Учитывая всё вышеизложенное, можно смело утверждать: у Javascript множество весомых преимуществ. Вы сможете легко в этом убедиться.
М-да, хоть бы фактчекинг провели. Возможность чтения файлов есть. Вы не прочитаете произвольный файл из браузера, но это ограничение «песочницы», а не языка. Указанный пользователем файл прочитать можно. Если вы пишете серверный код на Node.js, то файлы вполне читаются через API и встроенные средства языка.
«Нестрогая типизация и вольная трактовка» это фича скриптового языка. Вам не надо переводить число в строку чтобы сравнить. Программа не упадёт, если вдруг потерялись данные, пользователь может продолжать работать.
«Нет поддержки удалённого доступа» — я вообще не понял про что. Есть возможности сетевого подключения через вебсокеты. Есть возможности стриминга аудио и видео, даже аналог Скайпа или Зума можно сделать. «За это Javascript даже не считают полноценным языком программирования,» — кто? Впервые слышу такое.
«Доступность для злоумышленников.» Без комментариев. Интересно, какой язык считают недоступным для злоумышленников?
Стоит ли учить JavaScript: перспективы, ситуация на рынке труда, мнения экспертов
JavaScript входит в число самых популярных языков программирования, а фронтенд-разработка считается одним из самых простых способов начать карьеру в IT. В этой статье поговорим о целесообразности изучения JavaScript, перспективах этого языка, ситуации на рынке труда. Комментарии известных в отрасли экспертов помогут понять, стоит ли учить JavaScript, есть ли шанс получить работу и не устареют ли полученные знания в ближайшее время.
Экскурс в теорию: информация о JavaScript, сферах применения и особенностях языка
JavaScript (JS) — высокоуровневый язык программирования, который поддерживает императивный, функциональный, событийно-ориентированный и другие подходы. Относится к языкам с динамической типизацией, входит в группу интерпретируемых языков.
Справка: в разговорной речи специалисты употребляют названия «яваскрипт», «джейэс» и даже «жабаскрипт». Кстати, у нас есть мини-словарь профессионального сленга программистов.
В число основных особенностей JS входят:
ES6, современная спецификация JavaScript, поддерживает синтаксис стрелочных функций, дестракчеринг, операторы spread и rest, модули и классы. Эти и другие инструменты делают JavaScript гибким и выразительным языком программирования.
Важная особенность JavaScript — развитая инфраструктура. Вокруг этого языка программирования сформировано многочисленное сообщество. Разработчикам доступны мощные инструменты, например:
Сферы применения JavaScript
В первую очередь JavaScript широко используется во фронтенд-разработке. Этот язык вместе с HTML и CSS входит в базовый набор инструментов фронтендера. На JavaScript создаются приложения, которые исполняются в браузере на стороне клиента. Они обеспечивают интерактивность сайтов. Например, когда пользователь заполняет форму и нажимает кнопку «Подписаться», мгновенная реакция на это действие обычно обеспечивается кодом, написанным на JavaScript.
Сферы применения JavaScript не ограничиваются браузерами и веб-приложениями. С помощью этого языка решают такие задачи:
В данной статье рассматривается перспектива изучения JavaScript для использования в разработке фронтенда.
На Хекслете изучить JavaScript и фронтенд-разработку можно в рамках профессии «Фронтенд-программист». Первые курсы в этой профессии, включая «Основы программирования», «JavaScript: настройка окружения», «Основы командной строки», «Системы контроля версий» и другие, доступны бесплатно.
Популярность, рейтинг и перспективы JavaScript
Как отмечалось выше, JavaScript входит в число самых популярных языков программирования. В июле 2020 года JS занимает седьмое место в индексе TIOBE, который составляется на основе статистики поисковых запросов. Этот язык популярнее, чем PHP, Swift, Ruby, Go.
JavaScript занял первое место по количеству пулреквестов на GitHub во втором квартале 2020 года. Эти данные расчитывает ресурс GitHut.
Как и PHP, JavaScript можно считать одним из способов быстро войти в разработку. JavaScript-программистов берут на работу веб-студии, которые есть как в крупнейших городах, так и в регионах.
О перспективах JavaScript подробно рассказывают эксперты в комментариях ниже. Стоит обратить внимание на два момента.
Первый: как отмечалось выше, JavaScript обеспечивает интерактивность сайтов и используется в популярных современных браузерах. Эти задачи можно решать и с помощью альтернативных технологий, например, WebAssembly, но это не вопрос краткосрочной перспективы. В ближайшем будущем с большой долей вероятности JS останется основным языком программирования фронтенд-приложений.
Второй момент: в настоящий момент растет популярность прогрессивных веб-приложений (PWA, progressive web apps). Эту технологию активно продвигает Google. Прогрессивные веб-приложения представляют собой гибрид сайта и мобильного приложения. В среднесрочной перспективе у PWA есть хорошие шансы отвоевать значительную долю рынка у нативных приложений.
Для разработки PWA применяется JavaScript. Например, сайты, созданные с помощью генератора Gatsby.js, поддерживают функциональность прогрессивного веб-приложения из коробки. Это ещё один плюс в пользу востребованности JS в ближайшей перспективе.
Сколько платят фронтендерам, или О зарплатах JavaScript-программистов
Заработок JavaScript-программиста зависит от уровня квалификации, региона проживания и работы, режима трудоустройства.
По данным карьерного сайта Trud на апрель 2021 года, средняя зарплата JavaScript-разработчика в России составляет 90 000 рублей. В мае 2020 года этот показатель составлял 114 000 рублей, а весной 2019 года — 94 000 рублей. Больше всего вакансий на этом ресурсе с предложением зарплаты в диапазоне от 46 000 до 60 000 рублей (см. иллюстрацию). При этом данные сервиса Trud отражают средние зарплаты JavaScript-разработчиков в России, практически не затрагивая Москву и Петербург. В Москве средняя зарплата JavaScript-разработчика весной 2021 года составляет 110 000 рублей.
По данным агентства NewHR, вилка зарплат фронтенд-разработчиков уровня middle в 2020 составляла от 170 000 до 220 000 рублей. По информации карьерного сайта «Мой круг», медианная зарплата JS-разработчиков во втором полугодии 2020 года — 115 000 ₽ (+8,5% по сравнению с первым полугодием).
На сайте hh.ru по состоянию на весну 2021 года есть почти 15 000 вакансий для JavaScript-разработчиков в России. Уровень зарплаты варьируется от 20 000 до 380 000 рублей.
Информацию по своему региону можно получить самостоятельно с помощью сайтов поиска работы.
Перспективы JavaScript: взгляд экспертов
Мы попросили известных в отрасли экспертов поделиться взглядами на перспективу изучения JS, ситуацию на рынке труда и востребованность JavaScript в будущем.
Сергей Рубанов: спрос на рынке труда JavaScript-разработчиков сильно превышает предложение
По вашему опыту, почему стоит изучать JS?
Несмотря на то, что JS имеет свои странности, он невероятно прост для изучения и терпим к ошибкам. Экосистема языка хорошо развита, так что если вы чувствуете в себе силы, то сможете легко настроить более строгие правила для написания кода, используя различные инструменты, позволяющие избегать популярных ошибок или даже добавить статическую типизацию. В данный момент JavaScript — единственный высокоуровневый динамический язык, доступный практически везде, в том числе (и в первую очередь) на веб-страницах. Это позволяет выучить один язык, частично переиспользовать готовые наработки для клиента, сервера, в роботостроении, для интернета вещей, даже для машинного обучения. А ещё у JavaScript огромное, невероятно классное и самое открытое комьюнити.
Какие перспективы у этого языка программирования по сравнению с другими языками?
JavaScript — один из самых распространенных языков в мире. В индексе TIOBE в данный момент он занимает 7 место, а по количеству репозиториев на GitHub и популярности по результатам опроса Stack Overflow он находится на первом месте и является вторым желаемым языком после Python. Пакетный менеджер npm является самым крупным пакетным менеджером из всех существующих. Все это говорит о том, что перспективы у языка великолепные.
Будет ли он востребован в будущем?
Только недавно стали появляться технологии, которые в чём-то смогут заменить JavaScript в браузерах, но понадобится ещё очень долгое время, прежде чем эти технологии достигнут достаточного уровня развития и научатся всему тому, что может JavaScript. К тому же на сервере и во встраиваемых системах у JavaScript есть много альтернатив, но и там он имеет свою нишу. Многие компании вкладывали и вкладывают огромные деньги в развитие движков, в которых JavaScript исполняется, что позволяет делать язык всё эффективнее и не терять своей актуальности.
Каковы перспективы JS-разработчика на рынке труда?
Спрос на рынке труда JavaScript-разработчиков сильно превышает предложение, отсюда же и хорошие зарплаты. Компании ищут разработчиков любого уровня, в том числе начинающих.
Почему новичку стоит обратить внимание на этот язык?
количество информации, которую можно найти в интернете;
развитая экосистема в виде огромнейшего количества библиотек и инструментов для разработки;
очень хорошее комьюнити;
одного языка достаточно, чтобы писать веб приложения, мобильные приложения, серверы и многое другое;
высокий спрос на рынке труда;
Сергей Рубанов, опытный разработчик и лидер сообществ. Приглашённый эксперт TC39 (комитет, который занимается разработкой языка JavaScript), участник WebAssembly Community Group, член команды Babel, соорганизатор BeerJS Moscow, WebAssembly Moscow, ведущий канала Juliarderity (совместно с Романом Дворновым).
Павел Черторогов: эх, а ведь были времена, когда разработчики стеснялись говорить, что они пишут на JavaScript. Сейчас всё не так
По вашему опыту, почему стоит изучать JS?
JavaScript в последние годы стал набирать безумные обороты.
На это была простая причина: клиенты стали более требовательными к скорости работы и отзывчивости интерфейсов. Поставив лайк, посетители хотят сразу видеть +1, а не ждать полсекунды, пока сервер ответит. Нажал кнопку, моментально получил реакцию. И это можно сделать, если избавиться от сетевых задержек между сервером и клиентом — перенести исполняемый код, который дает результат максимально близко к клиенту, то есть в его браузер.
А в браузерах обосновался старичок JavaScript. Причем если лет 5-10 назад было стыдно говорить, что ты программируешь на JavaScript, так как его было сложно считать удобным и производительным языком, то после выхода ES6 удобство резко возросло и продолжает расти благодаря работе комитета TC39 (куда входят куча спецов из больших компаний), который развивает синтаксис языка.
Производительность языка постоянно увеличивается. Но благодаря большому комьюнити, интересу больших интернет гигантов к языку, неуклонно растет количество инструментария, которые сильно облегчает разработку. Например, ESlint (проверка стиля кода), Prettier — автоформатирование кода, Babel — для транспилинга кода и напиcания всяких AST-трансформеров, JIT-компиляторов.
Но что не может не радовать, так это TypeScript, который позволяет писать статически типизированный код (Flowtype проиграл для меня войну). Статическая типизация позволяет писать более стабильный и качественный код, дает плюшки автоподстановки в IDE. В общем, корпоративный сектор все больше задач может доверить миру JavaScript. Современный джаваскрипт с классами, декораторами, интерфейсами, типизацией все больше и больше становится похожим на Java в хорошем смысле этого слова. А если учесть, что JavaScript сейчас работает как на клиенте (в браузере), так и на сервере (NodeJS), то это это для бизнеса открывает возможность писать изоморфные приложения.
Будет ли этот язык востребован в будущем?
За пару лет популярность JS должна будет только расти. Ведь столько еще чудовищных интерфейсов вокруг, столько мертвых страниц, сгенерированных сервером. JS будет теснить PHP и Ruby.
Так или иначе JavaScript еще будет востребован как минимум лет 10, дальше прогнозировать сложно.
Что угрожает JavaScript/TypeScript:
Страшнее всего для JS-разработчика смена способа потребления контента. Допустим, мы откажемся от браузеров, перейдем на голосовых помощников, или нам вставят электрод в голову, или приклеят хитрую линзу на роговицу. Тут может оказаться, что JS будет не тем языком, который будет использоваться в этих каналах передачи информации. Хотя, поживем — увидим.
В любом случаем надо постоянно учиться и развиваться, чтоб соответствовать текущему времени. Но, к бабке не ходи, лет через 10 надо точно будет чему-то сильно переучиваться.
Каковы перспективы разработчика JS на рынке труда?
Сейчас есть некий перекос в сторону фронтенд-разработчиков, которые производят wow-эффект на клиентов. К примеру, на Украине сейчас активно ищутся React/Vue/Angular разработчики. И нередко зарплата таких фронтенд-специалистов с опытом 1-2 года по зарплате соизмерима со среднестатистическим Java-бэкендером с опытом 6-8 лет. Нужны легкие деньги после универа?! Вперед в JS!
Почему новичку стоит обратить внимание на JS?
Начав учить этот язык, вы сможете стать как фронтендером, так и бэкендером. Посмотреть, на какой стороне вам больше нравится, понять, к чему душа лежит — к удобству для людей или к производительности и нагрузкам на железяках.
Павел Черторогов, архитектор информационных систем, GraphQL-гуру.
Роман Дворнов: JavaScript вряд ли куда-либо денется в ближайшие годы
JavaScript стоит изучать хотя бы потому, что он исполняется у любого пользователя в браузере, он исполняется на сервере, он продолжает осваивать платформы, и тенденция такова, что завтра он может оказаться в любой кофеварке. При этом JavaScript продолжает сохранять невысокий порог входа, что делает его весьма популярным и востребованным.
JavaScript находится в группе языков, которые постоянно недооценивают. С одной стороны, можно сказать, что у JavaScript есть определенные недостатки, связанные с ошибками в дизайне языка. С другой стороны, эти недостатки могут также являться и плюсами, позволяя решать определенный класс задач. Тем не менее, новые редакции языка и его имплементации, со временем исправляют ключевые недостатки.
Кстати, о новом. JavaScript — один из немногих языков с таким немалым возрастом (был создан в декабре 1995-го), который настолько динамично развивается сегодня. Формально все началось в 2015 году, когда вышла новая редакция ES2015 (или ES6) и было решено выпускать новую редакцию каждый год, хотя на самом деле всё началось задолго до этого. Не каждый год случаются значительные изменения, но изменения происходят и чувствуется темп. Можно следить за работой TC39 (комитет работающий над спецификацией языка), участвовать в обсуждениях предложений, вносить свои предложения и так далее – процесс открыт, и это здорово. К тому же, сегодня имплементаторы внедряют новые фичи накануне принятия новой редакции спецификации языка, а не несколько лет спустя, как это было раньше.
Низкий порог входа всегда был предметом споров: с одной стороны, вовлекается больше людей, с другой — их уровень как специалистов невысок. Это, плюс часто неглубокое изучение, обычно и создает негативное отношение к языку. Чтобы использовать JavaScript эффективно, его нужно изучать полностью, и дополнительно множество смежных областей, а особенно Computer Science, как это делают в случае с другими языками. Все больше задач с применением JavaScript не уступают по сложности задачам решаемым с другими языками.
Если говорить о перспективах, то JavaScript вряд ли куда-либо денется в ближайшие годы. Во-первых, это единственный язык такого класса, поддерживаемый браузерами, и нет предпосылок, что это может поменяться, хотя попытки были. Всё, что создается как альтернатива JavaScript, в конечном итоге конвертируется в него.
Во-вторых, необходимость шарить логику между клиентом и сервером, Server Side Rendering и прочее, укрепляет позиции JavaScript на серверной стороне. В-третьих, тулинг для JavaScript, как и для клиентского веб-стека, по большей части написан на JavaScript.
В-четвертых, колоссальные ресурсы, которые вкладываются в развитие JavaScript движков, дают свои плоды: снижаются требования движков, и они начинают работать на все более слабых платформах и устройствах. Так что специалисты со знанием JavaScript будут востребованы еще достаточно долго, пока программисты вообще будут востребованы, если вы понимаете о чем я 😉
Роман Дворнов, эксперт в области фронтенд-разработки, ведущий канала Juliarderity (совместно с Сергеем Рубановым). Профиль на GitHub.
Андрей Оконечников: будем ли мы писать JS через несколько лет — неизвестно, но 99% что мы будем продолжать компилировать в JS
По вашему опыту, почему стоит изучать JS? Какие перспективы у этого языка программирования по сравнению с другими языками?
Несмотря на интересные альтернативы, такие как ReasonML, Kotlin и уже существующие языки, которые компилируются в JS, такие как ClojureScript и Elm, это никак особенно не влияет на всё растущую популярность JS. Причина для того, на мой взгляд, в низком пороге входа и огромной экосистеме (npm). На JS написано несколько миллионов опенсорс модулей, которые можно установить за считанные секунды. Плюс возможность открыть консоль разработчика в браузере и начать писать код.
Развитие распределенных сред разработки, которые работают напрямую из браузера, например CodeSandbox, ещё более уменьшают порог входа для новичков. Инструменты разработки становятся лучше и лучше, позволяя использовать JS в больших командах.
Одновременно с этим, растущая производительность JS runtimes, например V8, делает использование этого языка все более приемлемым на платформах вне веб-браузеров.
Благодаря инициативам ECMA этот язык также очень быстро развивается, получая все более современные фичи.
Уже сейчас JavaScript — один из самых популярных языков программирования в мире. И со временем он только будет набирать популярность благодаря выходу на новые платформы, такие как IoT и так далее.
Будет ли JS востребован в будущем?
JavaScript никуда не денется в ближайшее время, хотим мы того или нет. На этом языке уже сейчас написано огромное количество кода, и количество это будет только увеличиваться. И даже если появится более современный язык, веб-браузеры будут вынуждены поддерживать JS. Так устроен web — вечная совместимость. Будем ли мы писать JS через несколько лет — неизвестно, но 99% что мы будем продолжать компилировать в JS.
Каковы перспективы разработчика JS на рынке труда? Почему новичку стоит обратить внимание на JS?
Сейчас перспективы как никогда хорошие. Особенно связанные с фронтендом. Веб превращается в платформу для по-настоящему сложных приложений, и рынок просто не способен удовлетворить потребность компаний. Но JS не единственный фактор. Умение писать CSS и доступный HTML важны сегодня как никогда. Рынок JS разработчиков наполняется в основном из backend-разработчиков, переквалифицирующихся во frontend. Если вы видите себя во frontend, я бы очень рекомендовал обратить внимание на основы дизайна, user experience, HTML + CSS и, конечно же, JavaScript.
Если вы дизайнер и уже умеете писать разметку и CSS, я бы так же советовал начать изучать JavaScript. В будущем граница между JS и CSS-программистами будет исчезать, так как очень сложно сделать хороший user experience в Web без использования обоих языков.
Андрей Оконечников, фронтенд-разработчик и UI-дизайнер родом из Ярославля, живущий в Вене, Австрия. Более 10 лет он придумывает и разрабатывает пользовательские интерфейсы, используя современные веб-технологии. До этого он работал дизайнером веб-сайтов и пользовательских интерфейсов. Комбинация опыта дизайнера и разработчика помогает ему лучше понимать проблемы пользователей и находить оригинальные решения в пользовательских интерфейсах.
Андрей работал с такими компаниями, как Yandex, JetBrains, Feedly, Netlify и многими другими. Он основатель консалтинг-компании component-driven.io, специализирующейся на дизайн системах и сложных веб-интерфейсах, и создатель macOS приложения цветовой пипетки для разработчиков и дизайнеров ColorSnapper.
Александр Казаченко: на одного подходящего кандидата приходится 10 или более неподходящих, это печалит
По вашему опыту, почему стоит изучать JS?
Когда пользователи включают компьютер, смартфон или планшет, они первым делом запускают браузер. В основном именно в браузере люди развлекаются, работают и учатся.
Нет, я не отрицаю, что у нативных или десктопных приложений достаточно большой рынок, но он не сравнится по размеру с рынком веб-приложений и веб-сайтов.
Сейчас достаточно большой тренд на разработку приложений под мобильные устройства с использование технологий основанных на браузере.
И на сервере JS тоже имеет свою нишу в виде Node.js.
Исходя из этого, достаточно очевидно, что JS — очень популярный и востребованный язык, как минимум поэтому стоит его изучать.
Но если посмотреть не с точки зрения прагматизма, а с точки зрения энтузиазма, то в этом смысле JS тоже очень привлекателен.
Сейчас существует множество языков, транспилирующихся в JS (TypeScript, CoffeeScript, Kotlin и так далее), много фреймворков и библиотек разного уровня абстрактности, что позволяет разрабатывать на JS так, как нравится именно вам.
Какие перспективы у самого языка программирования в сравнении с другими? Будет ли он востребован в будущем?
Как я отмечал выше, у JS очень большой рынок, где он востребован и где ему нет аналогов (веб-браузер).
Соответственно, можно считать, что в ближайшие лет 10 JS не только не умрет, но и будет активно развиваться.
На какое направление при изучении JS обратить больше внимания — frontend или backend?
Изначально JS применялся сугубо для frontend’а, соответственно и развился он больше в эту сторону. Но это не имеет никакого значения, при выборе направления — frontend или backend. Более значимым в этом выборе будет то, чем интересно заниматься именно вам. Так как язык один и тот же, разница только в окружении.
Какие перспективы у JS-разработчика в работе? Почему новичку стоит обратить внимание на этот язык программирования?
Мне кажется, сейчас у многих на слуху выражение «вкатиться во фронтенд», и это неспроста. Порог вхождения в рынок разработки фронта для обычных веб-сайтов очень низкий, и можно, потратив пару месяцев на обучение, начать на этом зарабатывать.
У меня два друга перекатились из администрирования и бэкенд разработки во фронтенд, чувствуют себя хорошо. Но лично мне такая тенденция не нравится. Потому что многие не хотят нормально осваивать профессию и рвутся за большой зарплатой в компании, где нужны профессионалы.
За последние 3 года я прособеседовал не менее 200 человек, и на одного подходящего кандидата приходится 10 или более неподходящих, это печалит.
Поэтому не экономьте на качественном обучении. Даже не имея опыта, но имея хорошие знания и навыки вы сможете легко найти работу с достойной зарплатой.
Стоит ли браться за JavaScript: итоги
JavaScript входит в число самых популярных и востребованных языков программирования. Фронтенд-разработчиков ищут в крупнейших городах и регионах, также специалисты могут работать удалённо в штате и в качестве фрилансеров.
Эксперты считают, что в краткосрочной перспективе JavaScript останется востребованным языком. В то же время фронтенд-разработчикам в любом случае придётся постоянно изучать новые технологии.