В последнее время у меня была возможность поработать над многими проектами, которые были основаны или, по крайней мере, включали VueJS или ReactJS. Оба являются современными фреймворками с растущими сообществами, основанными на схожих принципах. Несмотря на то, что они похожи, у них обоих есть свои плюсы и минусы, и они различаются в некоторых аспектах. Вот почему я решил провести небольшое сравнение между этими JavaScript-фреймворками.

Кривая обучения

Если вы младший разработчик или у вас есть команда, которая не сталкивалась с этими технологиями, я рекомендую начать с VueJS. Кривая обучения для этого фреймворка не очень крутая, так как многие вещи уже встроены. С другой стороны, настройка ReactJS может быть непосильной для того, кто только знаком со всем безумием JS. Для быстрого начала работы с VueJS единственной необходимой вещью является сценарий CDN, который необходимо включить в ваш HTML:

Представление

Оба фреймворка виртуализируют DOM и оба работают очень быстро. В некоторых операциях один превосходит другой и наоборот. Вы можете найти сторонний тест производительности Vue и React здесь:

https://stefankrause.net/js-frameworks-benchmark8/table.html

Лично я ни разу не сталкивался с ситуациями, в которых производительность одного из этих фреймворков оказывалась недостаточной.

Возможность повторного использования

Дерево компонентов является ключевой концепцией в обеих этих платформах и способствует повторному использованию самого написанного кода. Компоненты одного файла можно повторно использовать в разных местах и ​​в разных приложениях. В настоящее время сообщество React имеет то преимущество, что оно первым внедрило очень похожую мобильную среду — React Native, но сообщество Vue не отстает от Vue Native. Лично я обожаю внешний вид Vue Native. Однако дело в том, что у React Native гораздо более сильное сообщество. Из-за этого React в настоящее время поддерживает возможность повторного использования, поскольку на мобильной платформе можно использовать много кода.

Масштабирование

Обе платформы предлагают надежные решения для сложной маршрутизации и управления состоянием. С Redux с одной стороны и Vuex с другой легко заметить сходство — у обоих есть центральное состояние, у обоих есть действия, и в обоих случаях мутации можно сравнить с редюсерами. Из-за этого масштабируемость на самом деле не является точкой сравнения между этими платформами. Думать о масштабировании следует только с точки зрения команды, которая будет поддерживать разрабатываемый продукт. В настоящее время ReactJS является отраслевым стандартом, поддерживаемым гораздо большим сообществом (разработанным Facebook). Поэтому в настоящее время легче найти разработчика ReactJS.

Итак, какой выбрать?

Как всегда, это зависит от обстоятельств — оба они лидируют в соревновании за лучший фреймворк JavaScript. Если вы или ваша команда не знакомы с клиентами javascript, используйте Vue. Если вы ищете стабильное сообщество, выберите React. Одно можно сказать точно — если вы выучите один из них, вам будет намного легче выучить другой.

Первоначально опубликовано на https://www.vegaitsourcing.rs 7 ноября 2018 г.