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

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

Я протестировал Vue и сначала был недоволен тем, что вокруг него не так много поддержки сообщества. Итак, я перешел на React. Я к этому еще вернусь.

Реагировать

React было легко изучить. На то, чтобы сориентироваться, потребовалось около 2 дней. Шаблон был значительно меньше, чем Angular 1, и, несмотря на мое первоначальное отвращение, писать на нем было действительно интересно. Это управление состоянием Redux произвело революцию в моем мире и сделало создание будущих приложений намного более организованным.

Угловой 2

Angular 2 - мощный фреймворк, но не для меня, и я предпочитаю не использовать его. Это добавляет много ненужной работы. Потому что это более объектно-ориентированная информатика, и многие люди, работающие с такими языками, как Java, .NET и C ++, должны найти это приветствие. Однако я думаю, что в целом сообщество javascript хочет больше двигаться в сторону функционального программирования, используя композицию объектов вместо классов. Это новая парадигма, но некоторые ее части могут предложить меньше набора текста и более простой код.

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

На Angular 2 у меня ушло около недели, вместо двух дней React, и у меня большой опыт работы с Angular 1. Это гораздо более тяжелый фреймворк, и я не вижу значительных преимуществ и множества минусов для машинописный текст (для моего примера я сделал это без машинописного текста, но только с es6, а не с версией es5).

Однако в Angular 2 было то, чего не было в React. Директивы. Мне они понадобились в моем личном проекте CMS, meanbase, потому что они были теми пользователями api, с помощью которых создавались темы.

Vue

Я продолжал слышать отличные отзывы о Vue и, наконец, снова решил использовать Vue 2. На этот раз я посвятил себя тому, чтобы всегда возвращаться к исходной документации для решения проблем. Документация была лучшей, что я видел. Исходя из углового фона 1, я почувствовал себя комфортно с Vue за один день. Я начал перемещать meanbase, cms, созданную с помощью angular, на Vue. Мое приложение было намного быстрее в первых тестах. Котельная плита была меньше Angular 2 и меньше React. У Vue также были директивы, которые позволяли моим пользователям поддерживать api своей темы.

Vue больше похож на Angular 1, чем на Angular 2 (без внедрения зависимостей), и он быстрее, чем даже React.

Vue 2 сочетает в себе лучшие части React и Angular 1 и 2. На разработку сложной CMS для обеспечения качества продукта ушла около недели. Сравнивая это с Angular, я работал над корпоративными производственными приложениями почти 2 года и до сих пор не понял всех подводных камней Angular 1. На освоение Angular 1 ушли месяцы. Vue 2 занял неделю. Имейте в виду, когда я сказал, что Angular 2 занял 1 неделю, я имел в виду только начальное обучение, а не мастерство.

Заключение

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