Спорная битва между двумя мощными фреймворками. Краткое сравнение, основанное на моем опыте использования обоих по состоянию на май 2020 года.

Введение

Поскольку и React, и Vue развиваются и внедряют инновации с невероятной скоростью, следует отметить, что это сравнение было проведено в мае 2020 года. Сравниваемые фреймворки — это React 16 и Vue 2. Сравнение скоро будет выйти на ринг во втором квартале 2020 года.

Итак, вопрос стоимостью 1 миллиард долларов заключается в том, какую структуру выбрать? Должен ли я изучать React или Vue?

Обзор React и Vue

В то время как Vue — это фреймворк, React — это библиотека (даже сам официальный сайт называет React библиотекой JavaScript).

Так в чем же разница? Framework означает, что он поставляется со всеми включенными батареями, в то время как библиотека выполняет только определенную часть работы.

В этом случае библиотека React имеет дело с пользовательским интерфейсом. Остальные стеки оставлены на усмотрение разработчика (например, Redux, Flux, MobX и т. д. для глобального управления состоянием).

Vue поставляется с рекомендуемыми способами ведения дел. Таким образом, большая часть решения о стеке уже принята за вас. VueX для глобального управления состоянием, Vue Router для маршрутизации и так далее. Он также поставляется с Vue CLI, который упрощает запуск нового проекта, он поставляется с готовым к использованию шаблоном.

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

Личный опыт использования обоих

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

Изучать Vue определенно проще.

Поскольку React — это библиотека, перед началом проекта нужно решить и изучить так много, особенно если вы новичок. Должен ли я использовать Redux? Должен ли я использовать промежуточное ПО Redux-Thunk? Список можно продолжить. В Vue в большинстве случаев есть рекомендуемый способ сделать что-то. Новичку легче начать, так как решения уже приняты.

Vue принимает (хорошее) решение за вас.

React развивается быстрее, чем Vue, в конце концов, его поддерживает Facebook. Нужна мобильная разработка? React Native — это фантастика. Нужна быстрая интеграция других библиотек? React Hooks упрощает задачу (кстати, Hooks появится и в Vue 3). Следует отметить, что появится много новых фреймворков, но вы можете быть уверены, что развитие React будет продолжаться, а инновации будут внедряться быстрее. Посмотрите на Angular, поддерживаемый Google, он все еще работает!

React – лучший выбор в долгосрочной перспективе.

Как упоминалось ранее, у React есть React Native для кроссплатформенной мобильной разработки, а у Vue есть Weex, Nativescript и Vue Native. На мой взгляд, после попытки изучить все это, они еще не совсем соответствуют React Native.

Выберите React, если вам нужна мобильная разработка и вы хотите использовать существующую команду.

Образовательные ресурсы? У обоих есть много ресурсов в Интернете, однако из-за того, что React является библиотекой, вы можете столкнуться с разными способами ведения дел, поскольку каждая реализация отличается. Сказав это, я чувствую, что у React есть гораздо более продвинутые онлайн-ресурсы для обучения. В конце концов, React используется большим количеством компаний в производстве, в то время как Vue используется для чего-то более экспериментального и требующего быстрой разработки.

Утверждение об этом может показаться спорным, однако у React есть лучшие онлайн-ресурсы для обучения.

Сторонние библиотеки? У обоих есть тонны библиотек. Если вы можете найти библиотеку в React, скорее всего, для нее есть библиотека и в Vue.

И у React, и у Vue есть замечательные сторонние библиотеки.

Какой мне больше нравится? Я бы сказал, что React мне нравится больше. Использование и изучение React — это своего рода искусство, конечно, это сложно, но эта сложность делает его интересным. Это как делать майонез самостоятельно, почему бы не купить что-то купленное в магазине? Потому что веселее делать самому!

Мне больше нравится React.

React vs Vue — что выбрать? Какой из них вы должны изучить?

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

Для более сложного проекта и если вам нужна мобильная разработка, используйте React! React — это настоящее искусство.

Для новичков, плохо знакомых с JavaScript, изучите Vue. Вы можете быть более продуктивным быстрее.

Для безопасности работы изучите React. Если вы не живете в азиатских странах (говорят, азиатские страны больше используют Vue, нужно подтверждение), для React больше рабочих мест.

Заключительные слова

Спасибо за чтение! Надеюсь, вам понравится так же, как мне нравится писать. Вышесказанное является чисто моим мнением, основанным на моем опыте.

Я бы посоветовал пойти и изучить оба и решить для себя, какой из них вам больше нравится.