ReactJS, Angular5 и Vue.js — какой фреймворк выбрать в 2018 году?

Dmitry Khirsh
Sep 1, 2018 · 5 min read

Перевод статьи TechMagic: ReactJS vs Angular5 vs Vue.js — What to choose in 2018?

Некоторое время назад мы опубликовали статью, в которой сравнили Angular 2 и React. В ней мы обсудили плюсы и минусы этих фреймворков и предположили, что стоит выбирать в 2017 году для различных конкретных целей. Но как обстоят дела в саду фронт-енда в 2018 году?

Фреймворки JavaScript развиваются очень быстрыми темпами, поэтому сегодня у нас есть часто обновляемые версии Angular и ReactJS, а также версии нового игрока на этом рынке — Vue.js.

Мы проанализировали количество открытых вакансий во всем мире, которые требуют конкретных знаний определенного фреймворка. В качестве источника мы взяли сайт Indeed.com и получили следующие данные среди более 60 000 вакансий.

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

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

Angular — это такой супергеройский фреймворк MVVM JavaScript, основанный в 2009 году, который идеально подходит для создания интерактивных веб-приложений.

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

  • Новые функции, такие как улучшенный RXJS, ускоренная компиляция (менее 3 секунд) и новый лаунчер HttpClient.
  • Подробная документация, которая позволяет каждому разработчику получить всю необходимую информацию без обращения за помощью к коллегам. Тем не менее, обучение требует немалого времени.
  • Двусторонняя привязка данных, которая обеспечивает превосходное поведение приложения, что минимизирует риски возможных ошибок.
  • MVVM (Model-View-ViewModel), которая позволяет разработчикам раздельно работать в одном разделе приложения с использованием одного и того же набора данных.
  • Внедрение зависимостей функций связанных с компонентами с модулями и модульности в целом.

Недостатки Angular 5:

  • Сложный синтаксис, который исходит от первой версии Angular. Тем не менее, Angular 5 использует TypeScript 2.4, который изучить не так уж сложно.
  • Проблемы с миграцией, которые могут возникнуть при переходе от старой версии к новой.

Компании, которые используют Angular 5: Upwork, Freelancer, Udemy, YouTube, Paypal, Nike, Google, Telegram, Weather, iStockphoto, AWS, Crunchbase.

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

ReactJS — это библиотека JavaScript, исходный код которой был открыт Facebook в 2013 году. Этот фреймворк отлично подходит для создания огромных веб-приложений, где данные могут меняться на регулярной основе.

Преимущества ReactJS:

  • Легок в изучении. React гораздо легче учится ввиду простоты его синтаксиса. Инженеры просто должны вспомнить свои навыки написания HTML и всё на этом. Нет нужды в глубоком изучении TypeScript, как в случае с Angular.
  • Высокий уровень гибкости и максимальная отзывчивость.
  • Виртуальная DOM (document object model), которая позволяет упорядочивать документы форматов HTML, XHTML или XML в дерево, которое лучше всего подходит веб-браузерам для анализа различных элементов веб-приложения.
  • В сочетании с ES6/7 ReactJS может легко работать при высоких нагрузках.
  • Связывание данных от больших к меньшим. Это означает такой поток данных, при котором дочерние элементы не могут влиять на родительские данные.
  • 100%-ая JavaScript-библиотека с открытым исходным кодом, которая получает множество ежедневных обновлений и улучшений в соответствии с отзывами разработчиков по всему миру.
  • Невероятно легкий вес, так как данные, которые выполняются на стороне пользователя, могут легко быть представлены на стороне сервера в то же самое время.
  • Миграция между версиями, как правило, очень проста. Также Facebook предоставляет «codemods» для автоматизации большей части этого процесса.

Недостатки ReactJS:

  • Нехватка официальной документации. Сверхбыстрая разработка ReactJS не оставляет места для правильной документации, которая сейчас немного хаотична, так как многие разработчики вносят в неё индивидуальные изменения без какого-либо систематического подхода;
  • React не имеет чёткой цели. Это означает, что разработчики, иногда, имеют слишком большой выбор;
  • Долгое время для освоения. React JS требует глубокого понимания того, как интегрировать пользовательский интерфейс в структуру MVC.

Компании, которые используют ReactJS: Facebook, Instagram, Netflix, New York Times, Yahoo, Khan Academy, Whatsapp, Codecademy, Dropbox, Airbnb, Asana, Atlassian, Intercom, Microsoft.

Плюсы и минусы Vue.js

Vue.js — это фреймовк JavaScript, запущенный в 2013 году, который идеально подходит для создания адаптируемых пользовательских интерфейсов и сложных одностраничных приложений.

Преимущества Vue.js:

  • Усиленный HTML. Это означает, что Vue.js имеет много схожих с Angular характеристик. Это может помочь оптимизировать обработку HTML-блоков с использованием разных компонентов.
  • Подробная документация. Vue.js имеет очень хорошую документацию, которая может увеличить скорость обучения разработчиков и сэкономить много времени на разработку приложения с использованием базовых знаний HTML и JavaScript.
  • Адаптивность. Vue.js обеспечивает быстрый период перехода от других фреймворков к Vue.js в виду его сходства с Angular и React с точки зрения дизайна и архитектуры.
  • Восхитительная интеграция. Vue.js можно использовать как для создания одностраничных приложений, так и для более сложных веб-интерфейсов приложений. Самое важное, что небольшие интерактивные части можно легко интегрировать в существующую инфраструктуру, не оказывая при этом отрицательного влияния на всю систему.
  • Большое масштабирование. Vue.js помогает разрабатывать довольно крупные шаблоны для многократного использования, которые можно разработать без траты огромного количества времени в виду простой структуры.
  • Крошечный размер. Vue.js может весить около 20 КБ и при этом сохранять свою свою скорость и гибкость, что позволяет достичь гораздо более высокой производительности, по сравнению с другими фреймворками.

Недостатки Vue.js:

  • Нехватка ресурсов. Vue.js по-прежнему имеет довольно небольшую долю рынка по сравнению с React или Angular. Это значит, что обмен знаниями в рамках фреймворка все еще формируется.
  • Риск чрезмерной гибкости. Иногда у Vue.js могут возникать проблемы при интеграции в огромные проекты, а опыта о возможных решениях до сих пор нет. Но они обязательно появятся в ближайшее время.
  • Отсутствие полной англоязычной документации. Это приводит к некоторым сложностям на различных этапах разработки. Тем не менее, все больше и больше материалов переводятся на английский язык.

Компании, которые используют Vue.js: Xiaomi, Alibaba, WizzAir, EuroNews, Grammarly, Gitlab and Laracasts, Adobe, Behance, Codeship, Reuters.

Итог

Для настоящего инженера нет существенной разницы в том, какой фреймворк выбрать, так как для обучения новому требуется всего немного времени. В нашей компании мы растим экспертов для работы ReactJS и Angular 2/4/5, но Vue.js также включен в нашу программу. Каждый фреймворк имеет свои плюсы и минусы. Это значит, что для каждого отдельного случая ваш выбор фреймовка может отличаться.

https://www.techmagic.co/

NOP::Nuances of programming

Перевод и адаптация статей в сфере IT

Dmitry Khirsh

Written by

English-Russian Translator

NOP::Nuances of programming

Перевод и адаптация статей в сфере IT

Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch
Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore
Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade