JavaScript-2021. Учить или не учить?

Мир веба быстро меняется. О достоинствах и недостатках, а также о возможностях применения JavaScript , рассказал Илья Литвинов – тренер Web Academy. Бытует мнение, что на JavaScript можно работать только в браузере. А еще часто приходится слышать, что JS используют далеко не самые продвинутые разработчики. Эти предрассудки основаны на том, что изначально JavaScript был создан для анимирования элементов веб-страниц. В далеком 1995 году компания Netscape решила улучшить скромный внешний вид браузера и создала JS, для того чтобы на страничку можно было “добавить снег”. С момента создания JavaScript прошло 26 лет, JS вырос с “игрушечного” языка для украшения браузера до “вездесущего”, применяемого для создания больших и сложных веб-приложений. В 1995 году появилась спецификация языка ECMAScript – это стандарт, а JavaScript – коммерческое название. С тех пор поменялось одиннадцать стандартов, сейчас у нас уже ES-2020. С 2015 года они выходят каждый год. Самый важный стандарт – ES6. И сравнивать возможности JavaScript 1995 года и 2020 года просто не корректно. Задачи, которые JS выполняет сегодня, очень сильно изменились.

В 2021 году JavaScript – это зрелый серьезный язык программирования.

Подтверждаем популярность JavaScript статистикой JavaScript два года подряд занимает седьмое место в рейтинге по данным индекс TIOBE, оценивающего популярность языков программирования путем подсчета результатов поисковых запросов и на основе различных метрик, определяющих количество инженеров JS. На мой взгляд, этот рейтинг близок к реальности. А по данным комплексной платформы Github 18% вновь созданных репозиториев (специальных серверов, на которых хранится ПО) в 2020 году были на JavaScript, Python и Java использовали реже.

Web вытесняет все.

Многим бизнесам нет смысла создавать десктопные приложения, ведь 80% задач можно решить в браузере, начиная от создания векторных приложений, заканчивая бухгалтерией в Excel. Все крупные компании Google, YouTube, Figma, Netflix перешли в web. В 2021 году JavaScript мегапопулярен и без него никуда, потому что хотя бы фронтенд будет написан на JS.

Что можно создавать на JS?

В браузере для JavaScript нет альтернативы. Но кроме этого, на JS с успехом создаются:
  • веб-приложения (для обывателя – сайты) с интерфейсами и админпанелями;
  • нативные приложения для мобильных телефонов, в нашей компании и фронт, и бэк будет написан на JS. Многие коммерчески успешные приложения на JavaScript создают под IOS и под Android и распространяют через App Store и Play Маркет;
  • сетевые приложения, то есть серверы давно уже создаются на JavaScript;
  • консольные утилиты. На JavaScript мы пишем все инструменты, которые помогают нам работать на JavaScript. Если вы используете редактор Visual Studio Code, знайте, что он написан на JS;
  • игры в 3D и 2D, сопоставимые по качеству с играми для PlayStation X-летней давности.

JavaScript умеет:

  • открывать и закрывать окна в браузере;
  • создавать трехмерные демонстрационные сцены (игры, превью) посредством WebGL. Конечно, вебперфоменс на JS немного ограничен, но вполне впечатляет. Сложные сцены лучше создавать на Web Assembly;
  • выводить аудио и видео, создавать софт для редактирования, с помощью API программировать звуки, писать музыку в браузере;
  • поддерживать VR-решения для браузера.
С каждым обновлением появляются какие-то новые интересные штуки. Сейчас существует широкая поддержка в браузере human interface device (устройств по типу игровых контроллеров для PlayStation). Последняя фича, которую я недавно применил: взял контроллер со своей PlayStation-4, подключил к браузеру и там написал игру, управляемую этим контроллером. Это круто. Все экспериментальные фишки еще больше убеждают меня, в браузере можно делать все!

Браузер сейчас – это платформа, на которой можно делать много интересных вещей. И все это на JavaScript.

Достоинства языка JavaScript

Это идеальный язык для новичка, он не требует глубокого погружения в теорию программирования. Для написания первой инструкции на Java начинающему разработчику нужно полкнижки изучить. На JavaScript вы просто берете и пишите. И точно получаете результат, пусть и не идеальный. JavaScript легко освоить и его хочется учить. Отклик дает драйв. JavaScript можно использовать и на клиенте, и на сервере. Это выгодно для заказчика, поскольку решение работать на одном языке программирования позволяет один и тот же модуль использовать и на бэкенде, и на фронтенде. JavaScript – распространенный язык, знания расшарены между большим количеством людей. Собрать команду на JavaScript легче, чем на PHP. Один язык используют везде, это позволяет легко перейти с одного направления в другое. Количество JavaScript-разработчиков постоянно растет, и многие фронты миддл-уровня уходят в бэкенд. Если вы пишите на PHP, на Python или Java, вам нужно обязательно изучить JavaScript.  Если вы бэкендщик и хотите на фронтенде что-то сделать, вам нужно изучить JavaScript. Для фулстек JS идеально подходит, можно и на фронтенде, и на бэкенде писать. Этот язык радует производительностью и скоростью работы в браузере и на сервере. JavaScript можно скомпилировать, это и обеспечивает скорость разработки. И вы в браузере сразу же видите, что происходит. Экосистема NPM – это венец пакетных менеджеров. Это как бесплатный Appstore, только для программ, написанных на JavaScript. Если вам нужно решить какую-то бизнес-задачу, скорее всего, ее уже кто-то решил. И вы можете в три клика взять все, что необходимо для дальнейшей работы. В 2021 году JavaScript есть везде, начиная от группы FAANG до локальных компаний. Потребность в JavaScript-разработчиках увеличивается.

Недостатки, которые я выделил за 8 лет работы

Динамическая типизация, вы не можете гарантировать типы, которые хранятся у вас в переменных. Эта проблема решается с помощью TypeScript от Microsoft. Безопасность – лидирующий язык с открытым исходным кодом, нет гарантии, что в этот код никто ничего не инъецируют. С этим ведется активная борьба. NPM – менеджер пакетов JavaScript, тщательно проверяет свои пакеты, рассылает репорты с рекомендациями. Банковское приложение на Node.js я бы не стал делать. Скорость изменения в самой экосистеме. JavaScript подвержен хайп-девелопменту, в нем часто появляется что-то новое. Это требует постоянной включенности и самосовершенствования.

Выводы

Учить JavaScript однозначно стоит. Это значительно расширить Ваши возможности как разрабоотчика и повысит Вашу ценность на рынке.
0
0
SAVE