Подпишитесь на рассылку
Компьютерной школы Hillel

Вы получите:

  1. Информацию о полезных отраслевых мероприятиях
  2. Интересные статьи IT-сферы
  3. Новости Компьютерной школы Hillel
Спасибо!
Нет, спасибо
На нашу рассылку уже подписалось 2241 человека.

Битва титанов: Angular 2 vs React. Что выбирают в 2017 году?

Автор: Hillel

22 голоса
1884

В настоящее время появляется всё больше разнообразных фреймворков и библиотек на базе JavaScript. Лидирующие позиции среди клиентских технологий занимают Angular и React.

Популярность библиотеки React, созданной компанией Facebook, постоянно растёт, в то время как компания Google выпустила вторую версию фреймворка Angular, презентация которой состоялась на конференции AngularConnect.

Чтобы сделать правильный выбор, нужно сравнить обе технологии.

Что говорят нам Google-тренды?

На графике видно, что популярность технологии Angular в разы превосходит популярность его конкурента. Однако, стоит отметить, что React продолжает набирать обороты с момента его запуска в 2013 году.

Но популярность — далеко не единственный фактор для сравнения этих двух фреймворков. Можно также оценить их востребованность на основании вакансий.

По версии indeed.com, вакансий, требующих знания AngularJS, в 6 раз больше вакансий для владеющих React.

Общие сведения о Angular 2 и React

Сравнение ключевых особенностей Angular 2 и React

Преимущества Angular 2

Поддержка вэб-компонентов

Вэб-компоненты Angular 2 основаны на новом стандарте вэб-компонентов, в отличие от закрытой системы модуляризации AngularJS. На практике это значит, что AngularJS даёт возможность непосредственно использовать любой компонент, написанный как Web Component, не прибегая к коду вёрстки.

Использование Typescript

Самое большое коммерческое преимущество TypeScript состоит в его инструментарии. Этот язык даёт возможности современного автозаполнения, навигации и рефакторинга. Такие инструменты становятся практически незаменимыми при работе с большими проектами.

Отличная производительность

Angular2 не проводит глубокий сравнительный анализ объектов. Если какой-то элемент добавить в массив данных, изменение пути не будет обнаружено. Это касается и свойств объекта, пока они не связаны напрямую с View.

Angular2 CLI

CLI фреймворка Angular2 даёт возможность с лёгкостью создавать приложение, которое работает по умолчанию. Это соответствует лучшим современным тенденциям.

Недостатки Angular 2

Тяжело освоить

Если у вас нет опыта использования typescript, вам понадобится время, чтобы его освоить.

Regular DOM

Angular непосредственно использует DOM, в результате чего снижается его скорость и эффективность по сравнению с React.

Сложности при серверной шаблонизации

В Angular 2 до сих пор осталось физическое разделение между JavaScript, запускающим приложение, и рендерингом HTML.

Преимущества React

Абсолютное разделение данных от их представления

React даёт чуть больше, чем просто представительский уровень. Несмотря на то, что компоненты React имеют концепцию «состояний» (state), они больше подходит для кратковременного хранения.

Легко начать писать

Написание кода в React очень похоже на работу в HTML, что даёт возможность без труда начать писать код, упустив синтаксис.

Привязка к DOM нас не заботит

Если за последние 5 лет вы уже писали какой-то Front-end–компонент с/без фреймворка, вы понимаете все сложности функционала элементов DOM. Несмотря на то, что React решает этот вопрос так же, он распределяется на несколько областей кода по принципу единственной ответственности.

React не является фреймворком

React – библиотека, предоставляющая декларативный метод определения компонентов UI. React DOM – это ассоциированная библиотека, которая обеспечивает рендеринг и DOM diffing. Redux – это библиотека, обеспечивающая хранение данных, а React-Redux соединяет React и Redux.

Недостатки React

React не является фреймворком

Можно много разглагольствовать, но когда дело доходит до того, что нужно что-то сделать быстро, работа с React Way может разочаровать. Знаете, когда у вас горят сроки проектов, а первая страница вашего справочника React больше не работает, а такое бывает, можно выйти из себя.

Необходимы Build tools

Использование build tools не составляет большой проблемы, обычно ими пользуются и при работе с другими языками. Единственной реальной проблемой использования их в JavaScript является то, что нет стандартных многоразовых решений для ваших проектов. Это может значительно увеличить время, которое вы потратите на то, чтобы воплотить идеи в коде.

Сообщество всё ещё формируется

Нужно решить ещё немало проблем, а сообщество React недостаточно велико, чтобы найти все решения.

Компании, которые используют Angular.JS

  • PayPal
  • Upwork
  • The Guardian
  • Nike
  • Google
  • HBO
  • Sony
  • General Motors

Полный список компаний можно найти здесь https://www.madewithangular.com

Компании, использующие React

  • Alipay
  • Airbnb
  • Dropbox
  • Facebook
  • Netflix
  • Reddit

Полный список компаний по ссылке https://github.com/facebook/react/wiki/sites-using-react

Вывод

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

Angular на рынке с 2010 года, в отличие от React, который вышел в 2013 году, поэтому можно однозначно утверждать, что сообщество Angular гораздо больше. Недавно Angular запустил Angular 2 и сообщил о том, что у них в планах выпуск 4-й версии, поэтому будем ждать усовершенствования.

Универсального решения нет — выбирайте то, что больше всего соответствует вашим требованиям в долгосрочной перспективе.

По материалам techmagic.co

05.04.2017 1884
Hillel
IT School,
Компьютерная школа Hillel
Оцените этот материал
comments powered by HyperComments