Angular vs React – что круче? - Блог ITVDN
ITVDN: курсы программирования
Видеокурсы по
программированию

Выбери свою IT специальность

Подписка

Angular vs React – что круче?

advertisement advertisement

Angular – технология с полным набором инструментов и к тому же с лучшими вариантами подхода к решению. Кому-то он подходит, а кому-то – нет. С другой стороны, React – небольшая технология, которая необходима вам только при создании какого-то приложения.  Обе технологии имеют свои достоинства и недостатки. Какая из них подойдёт вам больше? Попытаемся выяснить в этой статье.

Технологии

Вот основные технологии, о которых я буду говорить:

  • Angular
  • React
  • Vue

Кривая обучения

Допустим, вы знаете JavaScript + ES2015 достаточно хорошо. Какую следующую технологию будет проще выучить?

  1. Vue – наилучший выбор, если вы ищите легкости в процессе изучения технологии.
  2. React – менее абстрактный, тем не менее, вам понадобится больше времени, чтобы изучить best practices, так как есть много вариантов написать одно и то же или ошибиться.
  3. А вот после изучения Angular вы также будете знать всё, что связанно с ним (typescript, MVC…). Angular - большая технология и учить придётся долго.
     

Масштабируемость

  1. Angular - легко масштабируемый благодаря своему дизайну, который так же хорош, как и мощная командная строка.
  2. React требует больше проверок и поэтому более масштабируемый, чем Vue и, я думаю, что частично это правда.
  3. Vue идёт сразу после React. Он хорош, однако ему не хватает лучших практик масштабируемости, из-за чего вы получаете очень запутанный код.

Совместимость с другими технологиями

  1. React. Несмотря на то, что он не работает с DOM-деревом, он основан на чистой JavaScript логикe и популярeн настолько, что содeржит в сeбe альтeрнативы библиотeкам, работающим с DOM.
  2. Vue прекрасно работает как с ДОМ-деревом, так и с JavaScript. Второе место занимает лишь потому, что у него меньше библиотек, которые могли бы быть действительно полезны для обоих (как для ДОМ, так и для JavaScript).
  3. Angular мог бы быть лучше, если бы не typescript, который требует строгой типизации.
     

Инструменты

  1. React, Angular and Vue. Все перечисленные технологии имеют отличные CLI и работают с любым инструментом по типу webpack.

Пользователи и популярность

  1. React точно стал наиболее популярным в 2016, когда его стали использовать англоговорящие frontend и full stack разработчики. React – хороший выбор для мобильных и даже десктопных приложений на JavaScript.
  2. Vue и Angular. Vue – потому что он очень быстро развивается. Angular – потому что он создан Google, а его предшественник Angular 1 был когда-то очень популярен.

Востребованность

  1. React и Angular. В зависимости от того, где вы находитесь, зависит, какая технология будет доминировать. Angular больше используют в Азии, особенно в Индии, а React – в англоязычных странах, таких как US и UK.
  2. Vue менее популярен и не поддерживается большими компаниями, поэтому остальные отдают предпочтение Angular и React.

Производительность

По этому параметру не ставлю ранги, так как все они сопоставимы. Возможно, React станет немного быстрее, когда полностью будет поддерживать Fiber, но сейчас существует только бета-версия.

Перспективы для компаний

  1. Angular имеет open source лицензию. Он поддерживается Google, что, возможно, делает его лучшим выбором для компании, и разница между проектами Angular невелика.   
  2. React был бы очень хорошим выбором, если бы не лицензия с патентом. Однако, существуют бесплатные альтернативы, которые работают также, как и React. Например, Infernojs или мой любимый rax.
  3. Vue – не дитя большой компании, это очень успешный сторонний проект одного человека. Компании часто игнорируют его, хотя, возможно, и не стоило бы.

Вне сети

Рендеринг –  как раз то, о чем можно много говорить. Все технологии способны осуществлять его, но некоторые справляются лучше, чем другие.

  1. React – лучший выбор благодаря react native, alibaba rax, reactWindows и next.js.
  2. Vue подойдёт vue-разработчикам, которые предпочитают разработку под мобильные устройства. Спасибо за это alibaba weex.
  3. У Angular есть ionic 2 и nativescript, но эти технологии не позволяют достичь производительности react native.

Простота и длина кода

  1. Vue имеет предварительно встроенные привязки данных и MVC модель, его легче настроить, нежели Angular и React.
  2. React пугающе прост для понимания, но нужно реально много времени, чтобы настроить react project.
  3. Angular совсем непростой. Эта сложность вызывает много путаницы 3rd party libraries и синтаксиса.

Время разработки

  1. Vue, безусловно, лёгок в установке и не требует много изменений или синтаксиса, за что его и любят. Он был создан для борьбы с утомительной работой.
  2. React настраивается дольше, но после начала работы над приложением будет легко добавлять новые фичи.
  3. Angular хоть и является весьма конкурентоспособным, но количество ненужного синтаксиса, который он требует для работы простых вещей, отбрасывает его на последнее место.

Размер

  1. Vue - наименьший и много в себе содержит. Вы можете подумать, что это не имеет значения, но если речь пойдёт о дешёвом Android 3G смартфоне, то вы уже не будете так уверены.
  2. React - больше чем Vue, но все же меньше, чем Angular.
  3. Angular - больше всех предыдущих, что вызывает увеличение времени загрузки и проблемы производительности на мобильных устройствах.

Будущее

Вот лично мои прогнозы для этих технологий на 2017 год:

  • Vue будет приобретать популярность и всё большее количество разработчиков переключится на него. Вполне вероятно, что это может заставить крупные компании продвигать и поощрять Vue.
  • Команда React представит Fiber  и сделает React быстрее, чем Vue и Angular.
  • Создатели Angular попытаются привлечь больше людей, но, скорее всего, им это не удастся.

Так что же лучше для вас?

Подводя итог, можно сказать, что нет идеального решения, и никогда не будет. Тем не менее, вот полезные советы, которые помогут вам сделать выбор:

  • Если вы разработчик «до мозга костей», тогда попробуйте все и выбирайте между Vue или React, доверяйте своему чувству.
  • Если вы новичок в разработке, выбирайте или Vue, или React.
  • Angular подойдёт компаниям с большими командами.
  • Google -> Angular.
  • Если любите простоту, тогда выбирайте Vue.
  • Если нравится использовать шаблоны, тогда выбор стоит между Vue или Angular.
  • Если предпочитаете JavaScript и JSX, попробуйте поработать с каждой технологией.
  • Если вы работаете с Typescript, используйте Angular или Vue.

Выбирайте подходящую технологию поскорее, не стоит пребывать в неопределённости. Я сомневался несколько месяцев, и это было невесело. Я решил пожертвовать популярностью и выбрал то, что считал для себя наилучшим вариантом – Vue.

Ютубер funfunfunction сказал лучшее, что я когда-либо слышал про JS framework fatigue:

«Существует точка в вашей карьере программиста, когда вы понимаете, что это не лучший инструмент».

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

Оригинал статьи на английском языке. 

КОММЕНТАРИИ И ОБСУЖДЕНИЯ
advertisement advertisement

Покупай подпискус доступом ко всем курсам и сервисам

Библиотека современных IT знаний в удобном формате

Выбирай свой вариант подписки в зависимости от задач, стоящих перед тобой. Но если нужно пройти полное обучение с нуля до уровня специалиста, то лучше выбирать Базовый или Премиум. А для того чтобы изучить 2-3 новые технологии, или повторить знания, готовясь к собеседованию, подойдет Пакет Стартовый.

Стартовый
  • Все видеокурсы на 3 месяца
  • Тестирование по 10 курсам
  • Проверка 5 домашних заданий
  • Консультация с тренером 30 мин
59.99 $
Оформить подписку
Базовый
  • Все видеокурсы на 6 месяцев
  • Тестирование по 16 курсам
  • Проверка 10 домашних заданий
  • Консультация с тренером 60 мин
89.99 $
Оформить подписку
Премиум
  • Все видеокурсы на 1 год
  • Тестирование по 24 курсам
  • Проверка 20 домашних заданий
  • Консультация с тренером 120 мин
169.99 $
Оформить подписку
Notification success