Angular, Vue или React: что выбрать в 2020 году

Одним из бурно развивающихся направлений в разработке является Front end. Для него разработано множество различных инструментов и фреймворков, значительно облегчающих работу. Возникает вопрос: что выбрать разработчику в 2020 году?

Не так давно велись дискуссии о том, что лучше Angular или React. Однако в 2018 году стал популярным еще один инструмент разработки — Vue. Поэтому сейчас нужно делать выбор между тремя фреймворками. Попробуем разобраться в особенностях, преимуществах и недостатках каждого из них.

Спрос на разработчиков

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

Рис. 1. Востребованность программистов на разных web-ресурсах для поиска работы.

На графике видно, что разработчики, владеющие Angular, являются самыми востребованными. При этом запросов на React тоже довольно много. Такие результаты неслучайны. Ранее у Angular почти не было конкурентов.

Показатель востребованности Vue также легко объясняется. Популярность этого фреймворка стремительно возросла лишь в 2018 году. В топ он пока не попал, поэтому и спрос на специалистов по этому инструменту пока еще невысокий.

Скорость рендера

Для каждого программиста огромное значение имеет скорость работы. И дело не только в том, что сильно растянутый во времени процесс может банально раздражать. У каждого проекта есть дедлайн. Важно успеть закончить работу немного раньше, чтобы осталось время для внесения возможных правок.

Angular существенно превосходит конкурентов. Последние обновления сильно поспособствовали этому. Многие программисты считают, что Angular v.2+ чуть ли не новая страница в истории фреймворков. Наибольший интерес вызывает то, что Vue может обойти по ряду показателей React. Естественно, что это произошло неслучайно.

Популярность

Проанализируем частоту скачиваний и поиска рассматриваемых фреймворков в Сети (Рис. 2). Это позволит нам понять насколько каждый из них востребован среди разработчиков. На основе данной информации можно будет сделать предварительные выводы, которые помогут понять, какой из продуктов предпочитает большинство программистов.

Рис. 2. Число скачиваний фреймворков.

Как мы видим, React опережает Vue и Angular. Число его скачиваний растет. Небольшой скачок был лишь в 2019 году. Vue уверенно набирает популярность, в то время, как число скачиваний Angular держится практически на одном месте.

Такая картина может быть связана со слухами о том, что «Ангуляр» стал уступать своим конкурентам. Опросы разработчиков, проведенные The State of Javascript, говорят о том, что такая точка зрения довольно популярная в среде программистов. Однако делать точные выводы пока рано, поскольку еще есть множество сторонников Angular.

Статистика Github

Самой популярным сервисом для размещения IT-проектов является Github, поэтому его статистические данные помогут в сравнении рассматриваемых фреймворков по уровню популярности (Рис. 3).

Рис. 3. Статистика Github

Данные свидетельствуют о том, что у Angular практически в 3 раза меньше звезд и копий репозитория, что наглядно демонстрирует его низкую популярность относительно двух других фреймворков. При этом пользователи чаще указывают на проблемы с ним и предлагают улучшения.

Angular существенно убавил популярности, хотя его постоянно улучшают. Однако это не помогло ему, и показатели данного фреймворка сильно просели (Рис. 4).

Рис. 4. Топ-10 проектов с открытым кодом.

Отметим, что в список самых популярных фреймворков с открытым кодом Vue не попал. В настоящее время 2-е место занимает «Реакт». Angular занял лишь шестое место, хотя его отставание не такое большое.

Поисковые запросы

Запросы Google не совсем точный показатель. Дело в том, что поиском фреймворков занимаются не всегда только лишь программисты. Кроме того, запрос часто состоит из одного слова. К примеру, многие пишут «React», а не «React developer». Как правило, два из трех таких запросов могут иметь смысл, никак не связанный с программированием. Со статистикой можно ознакомиться на графиках, изображенных на рис. 5 и рис. 6.

Рис. 5. Статистика запросов Google

Рис. 6. Статистика с измененными запросами.

На основе приведенных выше данных (рис. 5), делаем вывод о том, что React занимает 1-е место. Angular и Vue занимают соответственно 2-е и 3-е место. Однако, если запросы изменить, картина кардинально изменится.

Итоги статистики

Активность на Github и количество загрузок свидетельствует о росте каждого из рассмотренных фреймворков. Несмотря на претензии к Angular, он, по-прежнему, еще сохраняет свои позиции.

Отметим непропорциональность между звездами Github и реальным применением Vue. Этот продукт пока еще не дошел до уровня «Реакта» и «Ангуляра».

Резкий скачок в январе говорит о том, что оба фреймворка имеют некоторые проблемы, и рост их популярности ощутимо замедлился. Это хорошо видно по Китаю. В этой стране многие разработчики активно переходят на Vue. Вероятно, что по результатам 2020 года приведенные нами графики будут выглядеть иначе.

Важно! Vue уже в наше время используют такие гиганты рынка, как Xiaomi и Alibaba. Все эти компании родом из Китая. Вполне вероятно, что в 2020 году Vue сможет существенно улучшить свои позиции, а, следовательно, возрастет и спрос на программистов, владеющих данным фреймворком.

Обновления

Переход на следующую версию продукта часто сопряжен появлением багов. Например, юзеры соцсети «Инстаграм» говорят о сбоях в работе компонентов приложения практически после каждого обновления.

С фреймворками такие ситуации случаются крайне редко. Эти инструменты разработки используют крупные мировые гиганты. Поэтому авторы фреймворков всегда стараются выпустить качественный продукт. Подготовка к масштабным обновлениям, в случае Angular, идет в среднем около полугода.

Для разработчиков React главное — стабильность в работе. Поэтому переход на другую версию осуществляется предельно просто. Часть обновления — скрипт, позволяющий юзеру перейти к более новой версии ПО.

У Vue смежные версии продуктов на 90% идентичны. Следовательно, в ходе обновления проблемы почти никогда не возникают. Кроме того, у этого продукта есть инструмент, позволяющий осуществлять контроль за состоянием ПО после обновления.

Что думают программисты?

Мнение разработчиков попробуем проиллюстрировать статистикой из сообщества The State of Javascript. Она наглядно показывает отношение программистов к рассматриваемым фреймворкам.

Рис. 7. Отношение разработчиков к фреймворкам.

Сведения на рис. 7 во многом синхронизированы с предыдущими данными. Место лидера у «Реакт». Больше половины опрошенных разработчиков заявили, что продолжат в будущем применять этот фреймворк. При этом лишь 23,9% программистов заявили, что хотели бы продолжить использовать «Ангуляр». 33,8% не хотели бы применять его в будущем.

Относительно Vue, все предельно стабильно. Почти все разработчики, использовавшие этот фреймворк, хотели бы продолжить работать с ним. Кроме того, порядка 50% опрошенных заявили о желании изучить его.

Особенности работы с фреймворками

Рассмотрим аспекты, которые большинство специалистов ставят на первое место.

Объем библиотек

  • Vue 80 KB;
  • React 100 KB;
  • Angular 500+ KB.

Компоненты

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

  1. UI и поведение могут быть комбинированными. Добиться этого можно без дополнительных скриптов. Это делает Vue более понятным для пользователя.
  2. С помощью одной и той же части кода можно как создавать элементы интерфейса, так и изменять их поведение.
  3. Элементы разделены. Одни из них отвечают за пользовательский интерфейс, а другие — за поведение.

Время на освоение фреймворков

Для работы на «Ангуляр» придется изучить связанные с ним технологии, такие как MVC и Typescript.

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

Vue является интуитивно-понятным фреймворком. Освоить его можно довольно быстро. При этом в работе с ним возможна нехватка готовых решений, что вызывает необходимость постоянной отладки и тестирования.

Плюсы и минусы

На основе данных, полученных сообществом The State of Javascript, можно определить плюсы и минусы фреймворков, которые выделили сами программисты.

React

Рис. 8 Плюсы «Реакт».

Рис. 9 Минусы «Реакт».

Angular

Рис. 10 Плюсы «Ангуляр»

Рис. 11. Минусы «Ангуляр».

Vue

Рис. 12. Плюсы Vue.

Рис. 13. Минусы Vue.

Краткие итоги

«Ангуляр» — подходит для больших компаний, поскольку включает полный набор инструментов и качественную поддержку. Многие новички ругают его, поскольку он довольно сложный для освоения.

«Реакт» — хорошо зарекомендовавший себя продукт, который хорошо известен программистам. Его гибкость и простая интеграция с другими инструментами разработки являются главными преимуществами этого фреймворка.

Vue на рынке уже несколько лет. Однако этот продукт все равно считается новым. Вместе с тем, на этот фреймворк активно переходят крупные азиатские компании. Он прекрасно подойдет тем, кого интересует быстрый рост, например, небольшой компании.

На сегодняшний день первое место прочно занимает «Реакт». На разработчиков, владеющих данным фреймворком, большой спрос. Для общего развития имеет смысл освоить Vue. Этот фреймворк в ближайшее время может потеснить своих пока еще более популярных конкурентов.

Узнать больше об инструментах разработки по направлению Front end вы сможете на курсах DevEducation в Санкт-Петербурге.

Присоединяйся к DevEducation — стань востребованным специалистом и построй карьеру в IT!