Игра фреймворков: тренды JavaScript в 2019

    TypeScript против ES6, React против Angular, Jest против Mocha… Не хуже нашумевшего сериала, эти «битвы» держат поклонников JavaScript в напряжении, заставляя их задумываться: «Что же учить дальше?» К тому же, армии пользователей каждой из технологий приводит настолько убедительные аргументы, что выбор стека технологий для дальнейшего изучения становится очень сложной задачей :)

    Наш анализатор резюме CV Compiler еженедельно обрабатывает десятки резюме JS-разработчиков. Поэтому мы тоже следим за «Игрой фреймворков», регулярно анализируя требования работодателей. Эта статья основана на одном из таких анализов, и посвящена трендам в языке JavaScript в 2019 году.

    Трендовые навыки для JS разработчиков в 2019


    Для анализа мы взяли 300 вакансий для JavaScript разработчиков с AngelList, LinkedIn, StackOverflow, и подобных сайтов. Используя написанный нами ранее инструмент для анализа текстов, мы выделили термины, которые встречались в этих вакансиях чаще всего. Часть этих терминов представлена на этом графике. (Цифры означают количество упоминаний).



    Обратите внимание: Это общий рейтинг навыков для позиций, подразумевающих владение JavaScript как основным языком. Разумеется, мы не считаем, что Back-End разработчики должны знать все тонкости React, и т.д… Более того, этот рейтинг отражает текущий спрос на рынке труда, который может отличаться от предпочтений самих разработчиков (о них мы поговорим в следующем разделе этой статьи).

    Выводы


    Среди тех языков, которые не попали в рейтинг, самыми популярными были С# (24) и PHP (16). Среди СУБД, лидировали MySQL (23) и MongoDB (23). Неожиданно для нас самих, Express.js (24) упоминался в вакансиях совсем нечасто, как и Flow (23).

    Мы решили не включать термин Agile (150) в рейтинг, но он оказался даже популярнее чем Git или Redux, что позволяет приравнивать его к «hard» навыкам, необходимым каждому JS разработчику. Та же история с UX (101). Разумеется, вам не обязательно записываться на расширенный курс UX (хотя вряд ли бы он кому-то помешал). Но, как Front-End разработчик, вы должны знать как улучшить опыт пользователя с помощью технических приемов, недоступных дизайнерам.

    Тот факт, что нам встречались термины Масштабируемость (70), Облачные вычисления (44), и Безопасность (29) демонстрирует, что тенденции JavaScript подобны тенденциям индустрии разработки в целом.

    Как вы могли заметить, Vue.js не занял высоких позиций в нашем рейтинге. На это может быть несколько причин. Во-первых, не каждая компания готова перенести свои проекты на Vue.js, отказавшись от более общепринятых и стабильных front-end решений. Во-вторых, многие работодатели ожидают, что программист сможет выучить Vue уже в процессе работы, поэтому не включают этот фреймворк в список изначальных требований к кандидатам.

    Тем не менее, глобальные исследования говорят о возрастающей популярности Vue.js. 28,8% респондентов опроса State of JavaScript 2018 уже работали с этим фреймворком, и хотели бы повторить этот опыт. Интересное наблюдение: 34% респондентов того же опроса работали с Angular, но не хотели бы возвращаться к этой технологии снова.

    Это не значит, что хотя бы одна из технологий (React, Vue.js или Angular) в скором времени поднимет белый флаг. Выбор front-end фреймворка зависит от многих факторов, таких как масштаб проекта, а также его архитектура или география.

    Та же история повторяется с GraphQL. Хотя этот термин не попал в топ нашего рейтинга, популярность технологии стремительно растет. 21% респондентов опроса 2018 Node.js User Survey уже используют GraphQL в своей работе. Для наглядности, 30 апреля 2018 года 52 человека скачали Apollo (клиент GraphQL). В точности через год, клиент скачали уже 10,794 человека.

    Что касается инструментов для сборки, внимания заслуживает противостояние Parcel и Webpack. Обзор 2018 JavaScript Rising Stars показал, что Parcel потихоньку перенимает популярность последнего. Несмотря на то, что у Parcel есть масса привлекательных встроенных функций, таких как автоматическая конфигурация, сервер разработки, или горячая замена модуля, пока что он не смог оттеснить старый добрый Webpack. Более 16 тысяч респондентов опроса State of JavaScript 2018 используют Webpack для сборки проектов. В процессе анализа, мы не встретили Parcel ни в одной из 300 вакансий.

    Что ожидает JavaScript в ближайшем будущем? Мнения экспертов


    Вот что думают эксперты о надвигающихся трендах в JS разработке.

    Как по мне, в ближайшие годы React сохранит за собой право первенства. GraphQL начнет потихоньку оттеснять REST API, в то время как TypeScript опередит ECMAScript. Что касается новых терминов, я ожидаю увидеть в свежих рейтингах топ-навыков ReasonML, Parcel, и дизайн-системы (возможно, не в 2020).

    Еще одно наблюдение — мне кажется, Redux утратит свои позиции в ближайшие 5 лет, так как разработчики открывают новые подходы к front-end, что не может не радовать.

    Юго Вепсалайнен,
    основатель SurviveJS и React Finland,
    победитель Blue Arrow Awards.
    Twitter | Сайт


    Этот рейтинг демонстрирует продолжительное лидерство React, Angular, и Node.js в экосистеме JavaScript. Я склонен считать, что эта тенденция будет продолжаться, и любой разработчик должен детально изучить хотя бы один из этих фреймворков. TypeScript и GraphQL тоже будут продолжать расти.

    Среди backend-разработчиков, возрастает популярность Node.js. При этом многие компании ожидают от JavaScript-разработчиков способности работать с другими языками, такими как Java или Python. Остальная часть рейтинга свидетельствует о том, что простого знания JavaScript уже недостаточно. Использование общих практик, таких как CI, Git и TDD обязательно для нынешних разработчиков.

    Кевин Болл,
    консультант и тренер в сфере Web Front-End,
    основатель ZenDev.
    Twitter | Блог


    Я удивлен, что Express.js не занимает одну из топовых позиций в этом рейтинге, так как это основной фреймворк для написания backend-приложений на Node.js. Возможно, это связано с тем, что львиная доля JavaScript вакансий предназначена для frontend-разработчиков, но саму технологию нельзя отнести к непопулярным.

    Я склонен считать, что React продолжит лидировать во frontend-индустрии. Фреймворк быстро отвечает на запросы пользователей и выдвигает принципиально новые идеи. Многое значит также поддержка Facebook. TypeScript также один из крупных трендов — я думаю, что через 3 года мы не увидим ни одного масштабного проекта, не использующего TS. Так как связка TypeScript и React хорошо отработана, думаю, что обе технологии сохранят за собой лидерство.

    Что действительно нужно изменить, так это сложность процесса сборки проектов. Скорее всего, в ближайшем будущем появится эффективное решение этой проблемы, такое как codesandbox или Parcel.

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

    Денис Радин,
    Tech Lead в FocusReactive.
    Twitter | GitHub


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

    Понимание основного синтаксиса ES6 крайне важно, наряду с пониманием процесса интерпретации и ограничений различных браузеров. И наконец, рост прогрессивных веб-приложений и сервис-работников также заслуживает внимания. Потенциальные рынки для JavaScript приложений расположены по всему миру, и стоит также понимать, что нужно клиентам в той или иной точке планеты.

    Лори Барт,
    спикер, блоггер, преподаватель,
    консультант в Ten Mile Square Technologies.
    Twitter | Блог | Сайт


    Основываясь на нужды Cypress.io, я вижу, что GraphQL и TypeScript будут лидировать в списках наиболее требуемых навыков в 2020. Также можно предсказать, что гибридные фреймворки (Next.js, Nuxt.js, Gatsby.js) будут применяться во львиной доле проектов, поэтому JavaScript разработчикам придется разобраться в этих технологиях.

    Глеб Бахмутов,
    VP of Engineering в Cypress.io.
    Twitter | Сайт


    Экосистема JavaScript постоянно растет, и это может сбить с толку. В то же время, это свидетельствует об эволюции языка, и дает разработчикам отличный шанс учиться и развиваться. Владение React и Next.js — огромный плюс как для вашего резюме, так и для поиска работы в целом.

    Таня Бутенко,
    Software Engineer в Hireup (Австралия),
    основатель и CEO Muses Code JS Inc.
    Twitter | Сайт


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

    Комментарии 10

      –2
      Redux утратит свои позиции в ближайшие 5 лет, так как разработчики открывают новые подходы к front-end
      Новое не всегда значит лучшее. А для мелких/одноразовых проектов все равно что использовать.
      React продолжит лидировать во frontend-индустрии. Фреймворк быстро отвечает на запросы пользователей и выдвигает принципиально новые идеи.
      Это какие принципиально новые идеи двигает React? Это изделие создавалось как библиотека-шаблонизатор с элементом оптимизации в виде Virtual DOM и таковым и остается сейчас. Однако его начали использовать как составную часть самособранных-ферймворков и внезапно обнаружили что не хватает возможности дешевого сравнения данных чтобы даже не пытаться рендерить без необходимости и добавили мемоизацию и shouldComponentUpdate, в то время как во взрослых фреймворках это было сделано изначально. Принципиально новые идеи это допиливание костылей к библиотеке чтобы хоть как-то спасти ситуацию? А Virtual DOM вообще не нужен, только память жрет.

      PS O Svelte ни слова, как же так PaulMaly
        0
        Спасибо за комментарий! Не стану ни спорить, ни соглашаться, т.к. не я автор процитированных вами слов. Тем не менее, всегда интересно услышать альтернативное мнение о популярных технологиях)
          +2
          Почитай твитор Дэна Абрамова. Там есть разъяснения для чего нужен виртуальный дом.
            0
            PS O Svelte ни слова, как же так PaulMaly

            Везде коррупция и профанация!!! А может и нет, просто время еще не пришло. ;-)
            –2
            GraphQL начнет потихоньку оттеснять REST API

            GraphQL неплохо бы для начала обзавестись namespaces, а то получается борьба одноногого с одноруким.
              0

              Там есть schema stitching.

              0
              Redux утратит свои позиции в ближайшие 5 лет
              а что будет на замену ему так и не сказали… что изучать то? GraphQL пока что забросил, ибо мало спроса на него
                0
                Context API и хуки. Redux по сути одна большая глобальная переменная, аналогичной функциональности уже можно достичь нативным способом в React 16+.
                  –1
                  GraphQL пытались использовать на одном проекте но что то не смогли там настроить и оно выдавало скрытые данные и вернулись опять к REST API.

                  Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

                  Самое читаемое