Оригинал предоставлен - Manmohan Singh

Vue.js, проект с открытым исходным кодом под лицензией MIT, представляет собой библиотеку JavaScript для создания веб-интерфейсов. Библиотека была впервые выпущена в 2013 году, но в следующие два года не многие разработчики узнали о ней в технологии веб-фреймворков. Это был 2016 год, когда Vue.js стал известен и приобрел такую ​​популярность, что теперь он рассматривается как альтернатива даже хорошо зарекомендовавшим себя библиотекам JavaScript, таким как Angular и React.

Поскольку Angular принадлежит гиганту поисковых систем Google, а React создан гигантом социальных сетей Facebook, разработчики по-прежнему доверяют и используют эти библиотеки больше, чем Vue.js. Однако в прошлом году Vue.js продемонстрировал достаточно сил, чтобы вызвать фурор в Интернете и стать потенциальным кандидатом, который во многих случаях превзойдет Angular и React. В этом блоге делается попытка пролить свет на то, почему среди разработчиков растет вера в то, что Vue.js станет лучшей библиотекой JavaScript, оставив позади Angular и React.

Ознакомьтесь с достижениями Vue.js в 2016 году

  • 1,531,217 загрузок NPM
  • 26000 звезд Github
  • 100 696 367 просмотров на странице Vuejs.org
  • Vue.js версии 2.0 запущен в сентябре 2016 г.
  • Vue.js занял 3-е место в рейтинге самых популярных проектов на GitHub в 2016 году.

Почему Vue.js считается лучше, чем Angular и React?

Vue.js - это легкая и простая в освоении библиотека с такими функциями, как двусторонняя привязка данных и виртуальная модель DOM. В отличие от Angular и React, которые часто загружают разработчиков множеством вещей для разработки приложения, Vue.js прост и требует только тех вещей, которые вам нужны для эффективной разработки приложения. Кроме того, Vue.js относительно новый, поэтому избавляет от необходимости знакомиться с его историей перед тем, как начать его использовать.

Давайте сначала сравним Vue.js с Angular

В настоящее время Angular.js является ведущей библиотекой JavaScript, а с выпуском Angular2 она стала еще больше. Тем не менее, Vue.js также извлекает уроки из успеха известных библиотек JavaScript, таких как Angular, которые вскоре станут популярными. Например, выпуск Vue 2.0 в прошлом году был нацелен на то, чтобы помочь разработчикам максимально легко создавать веб-приложения с более продвинутыми функциями.

Vue.js против Angular 1

№1. Когда дело доходит до API и дизайна, Vue намного проще, чем Angular 1. Кроме того, Vue не требует сложного и утомительного обучения, как Angular 1.

№2. Vue.js - это более гибкое и менее самоуверенное решение, чем Angular 1. Это позволяет вам структурировать ваше приложение так, как вы хотите, вместо этого быть вынужденным делать все в стиле Angular. Это всего лишь слой интерфейса, поэтому вы можете использовать его как легкую функцию на страницах вместо полноценного SPA , - сказал Эван Ю , основатель Vue Technology LLC.

№3. Подобно Angular 1, Vue также поддерживает двустороннюю привязку данных. Но Vue по умолчанию использует односторонний поток данных от родителей к потомкам между компонентами, что упрощает анализ потока данных в больших приложениях.

№4. Еще одно важное различие между Angular 1 и Vue.js - это четкое разделение директив и компонентов. Директивы в Vue включают только манипуляции с DOM, тогда как компоненты предназначены для автономных модулей с собственным представлением и логикой данных. Разделение между ними часто сбивает с толку разработчиков, использующих Angular.

№5. Поскольку Vue не использует грязную проверку, он работает лучше, чем Angular 1. Производительность Angular 1 снижается в случае большого количества наблюдателей, потому что любое изменение объема требует повторной оценки всех этих наблюдателей. И, если некоторые наблюдатели запускают другое обновление, может возникнуть необходимость запустить цикл дайджеста несколько раз для «стабилизации». Что еще хуже, пользователи Angular иногда не могли найти способ оптимизировать область действия с большим количеством наблюдателей.

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

Vue.js против Angular 2

Angular 2 - это не обновление версии, а полная переработка. Angular 2 быстрее, чем Angular 1, и некоторые радикальные изменения были также внесены в API Angular 2. Дизайн Angular 2 был создан с учетом первоклассной поддержки крупных корпоративных приложений, что было невозможно с Angular 1. В Помимо ES5, ES6 и Dart, Angular 2 также использует TypeScript, который представляет собой комбинацию ES 6, типов и аннотаций. Angular 2 также предлагает Компоненты вместо Контроллеров.

Angular 2, безусловно, стал крупным игроком в мире JavaScript. Но, тем не менее, в некоторых случаях Vue 2.0 все же является лучшим выбором.

№1. Когда мы говорим о производительности, Vue 2.0 быстрее, чем Angular 2, согласно этим сторонним тестам. Angular 2 имеет возможность уменьшать свой размер за счет автономной компиляции и встряхивания дерева, но Bur Vue 2 все еще легче. Это правда, что встряхивание дерева помогает приложению Angular 2 уменьшить его размер за счет удаления неиспользуемых кодов. Однако приложение снова увеличивается до своего фактического размера, когда вы начинаете импортировать и использовать дополнительные функции из фреймворка.

№2. Vue менее самоуверен, чем Angular 2, поэтому вы получаете официальную поддержку многих систем сборки. Кроме того, вам нравится свобода структурировать свое приложение так, как вы хотите.

№3. Выучить Vue легче, чем Angular2. Любой разработчик, знакомый с HTML и ES5 JavaScript, может использовать Vue.js и быстро начать создавать хотя бы нетривиальные приложения.

Чтобы понять это с точки зрения разработчика, давайте посмотрим на следующие строки кода

Кредиты: fadeit.dk

Области, в которых Vue получает преимущество перед React

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

№1. Vue 2.0 поставляется с более быстрой и легкой реализацией виртуальной модели DOM, чем React, что сокращает количество накладных расходов по сравнению с React. Известно, что основные реализации виртуальной DOM вызывают проблемы с производительностью, такие как повторный рендеринг, необходимость оптимизации и т. Д. «Vue 2.0 решает эту проблему, комбинируя виртуальную модель DOM с ее реактивной системой отслеживания зависимостей, чтобы система могла автоматически и эффективно определять, когда и что делать. повторный рендеринг, освобождая разработчика от ненужной работы по оптимизации », - сказал главный разработчик Vue Эван Ю. Повышенная производительность рендеринга также приводит к более быстрым обновлениям в неоптимизированном Vue, чем в неоптимизированном React.

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

Также вы можете прочитать Зачем использовать HTML5 и CSS3 для вашего бизнеса?