В прошлом году наша команда Frontend перестала использовать Ruby. Итак, нам нужно было проверить вопрос: что лучше? Vue против Angular? Узнайте, какой из них мы выбрали в качестве языка интерфейса пользователя.
Задолго до появления нынешней Frontend Team многие наши проекты были построены на Ruby, в свое время это был элегантный язык, с которым хотел работать каждый разработчик, но спустя годы, после кропотливой работы в унаследованных проектах и выходе из них, мы Компания решила, что нам нужно остановить Frontend и попытаться ускорить наши стандарты. Команда фронтендов индивидуально экспериментировала с разными фреймворками Javascript из разных клиентских проектов. Мы наблюдали за быстрым развитием этих фреймворков за короткий период времени, так что. это было очевидно для создания проектов в масштабе, необходимом для адаптации к этим фреймворкам.
Наши требования
Как небольшой команде нам нужно было что-то, что было хорошо задокументировано, что мы могли бы быстро освоить. При тестировании Vue и Angular нашим самым большим требованием было найти что-то знакомое, поскольку мы продолжаем работать гибко, нам нужна была структура, которая позволила бы нам быстро создавать рабочие прототипы. Выполнив несколько внутренних проектов с Angular, прежде чем мы выбрали между этим и React, мы хотели перейти к использованию Angular, поскольку это было то, что отвечало нашим знакомым требованиям, но также означало, что мы могли создавать прототипы в CodePen и легко импортировать их в нашу кодовую базу. Нам это показалось очевидным.
Проблемы, с которыми мы столкнулись с Angular
Нам удалось создать несколько действительно больших проектов, таких как Omstars и Keetoo, с приложениями Angular, которые мы масштабировали от небольшого рабочего прототипа до приложений, у которых были десятки тысяч пользователей в месяц. Это то, что мы узнали в процессе.
Угловая производительность
Изначально у Angular есть проблемы с производительностью, и есть много улучшений, которые вы можете внести в свой проект, чтобы повысить производительность - однако мы считаем, что это улучшения, которыми вы не должны жертвовать при создании приложений, например, избегайте использования ng- Повторите директиву или ограничьте использование привязки.
Двусторонняя привязка данных
Я изначально думал, что двусторонняя привязка данных изменит правила игры при создании приложений. Постоянная проверка переменной $ scope (фрагмент данных, который можно использовать из любого места в проекте) и наблюдателя в DOM выполняются, когда пользователи перемещаются по вашему приложению, эта проверка регистрируется с пользовательскими событиями (щелчок, прокрутка, клавиша так далее). Как бы хорошо это ни звучало, на самом деле это влияет на время загрузки страницы.
Переход на Vue
Потратив несколько недель на исследование и сравнение фреймворков (Angular2, React и Vue), а также на создание некоторых внутренних приложений с помощью React и Vue, мы решили, что Vue - это фреймворк для нас. Ниже приводится подробное описание того, почему мы выбрали Vue.
Vue Performance
Производительность Vue заметно лучше, чем у Angular, Vue отображает проект в виртуальной DOM, что значительно быстрее, чем цикл дайджеста в Angular (двусторонняя привязка данных).
Знакомство с HTML и CSS
Каждый Frontend-разработчик сначала разбирается с HTML и CSS, прежде чем заняться любым другим языком или фреймворком. Работа с Vue дает вам ощущение знакомства, которого не может предложить никакой другой фреймворк. Уроки, которые наша команда извлекла из HTML и CSS, сделали переход на Vue довольно плавным.
Простая кривая обучения
Последняя, но самая важная причина заключается в том, насколько легко было освоить Vue, в основном это связано с надежной документацией и сообществом. Когда мы создавали внутренние приложения с помощью React, мы обнаружили, что действительно сложно освоить основы, но с Vue документация полна небольших примеров кода, которые постоянно проводят вас через каждый шаг.
Наш вывод
Мы собираемся продолжить работу с Vue, мы, как команда, чувствуем, что в него вложены большие средства - поскольку мы продолжаем создавать внутренние инструменты и клиентские проекты, мы хотим делиться своими успехами на этом пути. У нас есть много вещей, которые мы хотим обсудить относительно Vue. В следующий раз мы поговорим о том, как создать проект Vue в первый раз.
Первоначально опубликовано на fueled.com 29 августа 2018 г.