React, как и ожидалось, намного превосходит Angular и Vue. Стоит отметить, что его скачивают все больше, за исключением маленького скачка в начале 2019. Vue также постепенно набирает обороты, а вот Angular практически не двигается с места по количеству
скачиваний.
Вероятно, это связано с множеством споров и слухов, что эта среда разработки стала намного хуже и ее использование сегодня не рационально. Достаточно известное сообщество среди разработчиков – The State of Javascript опубликовало результаты опросов, согласно которым действительно начались разговоры об ухудшении Angular в сравнении с его конкурентами. Но точный ответ сейчас дать нельзя, поскольку есть еще очень много сторонников этого продукта.
Статистика Github
Поскольку Github – самая крупная площадка для размещения IT-проектов, нельзя пойти мимо него при сравнении популярности фреймворков.
Прежде всего видим, что у Angular почти в три раза меньше звезд и копий репозитория, что отражает его низкую популярность относительно двух конкурентов. При этом, пользователями отмечено больше проблем или предложено улучшений.
Два фактора показывают, что Angular действительно оценивают намного хуже, чем в прошлые года. Но сам фреймворк улучшается. Однако его показатели сильно проседают в сравнении с конкурентами.
Несмотря на это, в список лучших фрейморков с открытым кодом Vue сегодня даже не попал. React при этом занимает второе место, а Angular – шестое, с довольно небольшим отставанием. (Вся статистика состоянием на 8 марта 2019 года).
Поисковые запросы
Запросы Google нельзя брать как основной показатель. Во-первых, даже фреймворки далеко не всегда ищут исключительно веб-дизайнеры. Во-вторых, их часто ищут запросом из одного слова (к примеру «React» вместо «React developer»), а два из трех названий могут иметь смысл, не связанный с ИТ.
А теперь статистика с видоизмененным поисковым запросом:
Как видно, в первом случае React занимает первое место, Angular второе, а Vue, вполне ожидаемо – третье. Но при поиске вводом лишь одного слова статистика кардинально меняется.
Итоги статистики
В целом заметен рост каждого продукта, если говорить о количестве загрузок и активности на Github. Даже несмотря на увеличившиеся недовольство, Angular все еще держится на своих позициях.
Тем не менее, можно заметить непропорциональную разницу между фактическим использованием Vue и звездами на Github. Ведь на самом деле, этот фреймворк еще не достиг уровня Angular и React.
Январский отрицательный скачок свидетельствует о том, что эти две среды разработки все же имеют проблемы и, вероятно, их рост немного замедляется. Особенно это заметно в Китайском регионе, где многие разработчики стремительно переходят на Vue. Потому, вполне возможно, что в 2020 году графики кардинально изменятся.
Важное замечание: Vue уже сегодня используется такими гигантами экономики, как Alibaba, Xiaomi, Tencent и Baidu. Все они представители китайского рынка, который активно развивается и практически вытесняет западный. Потому, я предполагаю, что в 2020 Vue не просто поднимет свои позиции, но и спрос на специалистов этого фреймворка станет значительно выше.
Обновления
Переход к новой версии всегда приносит с собой новые ошибки и баги. Так, к примеру, пользователи Instagram в большинстве случаев жалуются проблемы в работе отдельных инструментов почти после каждого обновления. У игроков Dota 2 вовсе есть целый ряд шуток по поводу зависаний игры и сломанной механики героев во время очередного обновления.
Но это, как правило, не касается качественных фреймворков. React используется такими компаниями, как Twitter и Airbnb, Vue обеспечивает половину китайских гигантов. Потому разработчикам каждого из продуктов очень важна стабильность. Ведь они ориентированы на крупные компании и в случае ошибки будет не до шуток.
Angular проводит масштабные обновления, но планирует их в среднем 6 месяцев. Более того, основные API предыдущей версии устаревают в течении 6 месяцев после обновления. Потому у пользователей есть достаточно времени для внесения всех необходимых правок.
Facebook заявили, что стабильность для них имеет первостепенное значение. Потому в React переход к новой версии проходит довольно просто. Частью обновления является сценарий, помогающий пользователю перейти к следующей версии обеспечения.
Что касается Vue, 90% API смежных версий практически идентичны. Потому при обновлениях проблем практически не возникает. Более того, в данном фреймворке есть инструмент, который контролирует состояние приложений после перехода на новую версию.
Мнение ИТ-разработчиков
Программирование – целое искусство, потому при использовании различных инструментов нужно их любить, а не просто использовать. Ведь намного проще работать с тем, что приносит удовольствие. Потому предлагаю Вам статистику The State of Javascript об отношении разработчиков к каждому из фреймворков.
Во многом данные результаты отображают предыдущие
графики. Снова React имеет большое преимущество, так как больше половины респондентов ответили, что будут использовать данный продукт снова. В то же время, только 23.9% опрашиваемых желают продолжить работу с Angular, а 33.8% больше не будут его использовать.
Что касается Vue, почти все, кто уже работал с фреймворком, не против продолжить его использование. И почти 50% заинтересованы в изучении этой среды разработки. Очередное подтверждение, что Angular утратил свои позиции в связи с развитием других продуктов.
Работа с фреймворками
В данном случае я не рассматривал все особенности продуктов, а обратил внимание лишь на ключевые из них, которые
разработчик будет упоминать в первую очередь.
Размер библиотек
- Angular 500+ KB;
- React 100 KB;
- Vue 80 KB.
Компоненты
Компоненты – это интегральные
составляющие фреймворков. Как правило, они получают входные данные и изменяют поведение приложения на их основе. Визуально это проявляется в виде изменения пользовательского интерфейса.
- компоненты разделены (часть отвечает за пользовательский интерфейс, а часть – за поведение);
- одна и та же часть кода может отвечать как за создание элемента интерфейса, так и за его поведение;
- UI и поведение также могут быть комбинированными, однако этого можно достигнуть без использования дополнительных скриптов, что делает Vue более интуитивно понятным.
Время на изучение
- кривая обучения Angular достаточно крутая, поскольку для его освоения необходимо изучить связанные понятие вроде Typescript и MVC;
- React предоставляет краткое руководство, благодаря которому настроить данный продукт можно за час. Однако он не является полным набором решений, потому есть необходимость использования сторонних библиотек. Соответственно, время зависит от того, какие дополнительные функции будут выбраны;
- как уже сказано, Vue интуитивно понятен, потому его освоение будет достаточно быстрым. Однако, при работе с ним допустима нехватка кода, потому требует постоянной отладки и дополнительного тестирования.
Преимущества и недостатки
Возвращаясь к The State of
Javascript хочу также обратить Ваше внимание, на положительные и отрицательные качества каждого продукта, которые отметили сами разработчики.
React
Angular
Vue
Суммируя вышеизложенное…
Angular – хороший выбор для больших корпораций, так как имеет полный
набор инструментов и качественную поддержку. Тем не менее, его кривая изучения крута, потому для новичков данный фреймворк будет очень сложным.
React – достаточно «взрослый» продукт, пользующийся сегодня наибольшей популярностью и признательностью разработчиков. Гибкость и возможность простой интеграции с другими библиотеками – одна из ключевых особенностей продукта. На данный момент самый универсальный вариант среди трех сравниваемых.
Vue – существует уже несколько лет, но по факту новичок на рынке. Все же, на его использования перешли большинство крупных азиатских компаний, что говорит о его качестве. Особенно хорошо подойдет для тех, кому нужен быстрый рост. К примеру, старт-апу с молодой командой стоило обратить внимание именно на эту среду разработки.
Пока высшие строчки уверенно занимает React. На разработчиков в этой среде есть большой спрос, потому имеет смысл изучать именно его. Тем не менее, для общего развития стоит рассмотреть Vue. Этот новичок вскоре может взойти на вершину благодаря своей простоте и легкости в использовании.