Vue.Js: хороший,плохой. Выбираем.
Сегодня для большинства разработчиков, создающих fornt-end, выбор фреймворка / библиотеки сводится, в основном, к Angular или React. Часто люди не уделяют достаточно внимания Vue.js. Итак, я хочу немного рассказать о Vue.js и моем личном опыте работы с Vue.js. Вместе мы постараемся ответить на вопрос: является ли Vue.js подходящим фреймворком для вас?
Для тех из вас, кто плохо знаком с Vue.js или даже не слышал о Vue.js. Vue.js - это фреймворк для разработки клиентской части приложения на JavaScript, изначально выпущен в 2014 году и разработан Эван Ю. С тех пор Vue.js очень быстро завоевал популярность среди многих разработчиков. Некоторые из известных компаний, которые используют Vue.js, включают Gitlab, Alibaba, Buzzfeed и другие.
Что же хорошего во Vue.js?
Хороший вопрос!Из многих причин эти 4 особенно выделяются из моего личного опыта.
- Легкий
- Низкая сложность
- Виртуальный ДОМ
- Низкая кривая обучения (для начинающих)
Давайте теперь перейдем к специфике каждого из этих пунктов.
Легкий
Одним из заметных преимуществ использования Vue.js в производственном приложении или даже в личном проекте является то, что он относительно легкий.
![](https://webdevelopmentjournal.ru/wp-content/uploads/2019/03/1_uPwq3FH4dq4OsACRuJ1TjQ-274x300.png)
Низкая сложность
Это одна из моих любимых частей Vue.js, потому что после работы со многими приложениями, созданными с помощью React, кодовая база может часто становиться очень сложной, когда вы добавляете управление состоянием в смесь по мере того, как приложение становится больше. Я заметил, что одна из причин, по которой приложения React могут стать сложными, заключается в том, что шаблон JSX, методы жизненного цикла и другие методы существуют в одном объекте. Это часто затрудняет следование логике. Итак, давайте посмотрим, как выглядит код Vue.js:
![](https://webdevelopmentjournal.ru/wp-content/uploads/2019/03/1_fWmGM-mu9GxQdZitIz6P2g-293x300.png)
Обратите внимание на то, что шаблон HTML, необходимые методы и таблица стилей являются отдельными и позволяют очень легко точно определить, какую часть кода искать. Это может означать, что кодовая база будет относительно проста в обслуживании без необходимости увеличивать сложность кода каждый раз, когда код обновляется.
Виртуальный ДОМ
Как и React, Vue.js реализует использование Virtual DOM для управления / визуализации представления. Используя Virtual DOM, пользовательский интерфейс будет работать лучше, если не будет отображать Real DOM каждый раз, когда требуются изменения, а будет отображаться только разница между частями между Virtual DOM и Real DOM.
Низкая кривая обучения
Рассмотрим этот сценарий, который, я уверен, многие люди переживают.
Большинство людей, занимающихся веб-разработкой, скорее всего, изучат основы трех технологий: HTML, CSS и JavaScript. Представьте себе, как новичку, что нужно изучать эту новую вещь под названием JSX вместо HTML. Хотя JSX выглядит аналогично HTML, безусловно, есть ряд различий, которые отличают JSX от HTML, и это не тот вид обучения, который необходим в Vue.js.
![](https://webdevelopmentjournal.ru/wp-content/uploads/2019/03/1_DhXrAT08wa_3S6sn7_939w-300x59.png)
Как видите, Vue.js использует то же имя тега, что и HTML, что упрощает перенос знаний из HTML в Vue.js. Более того, модульная структура кода может быть очень полезна для понимания различных движущихся частей компонента Vue.js.
Для тех из вас, кто знаком с React, изучение Vue.js будет очень просто, потому что между ними много общего.
Что плохого во Vue.js?
Как бы я ни хотел сказать, Vue.js просто потрясающий, у него мало недостатков, как и у любого фреймворка / библиотеки. Вот несколько недостатков, которые я заметил в Vue.js:
- Меньшее Сообщество
- Английский письменный ресурс
- Возможности трудоустройства
Одна из проблем, с которой я столкнулся на ранних этапах работы над проектом Vue.js, заключалась в том, что иногда бывает сложно найти решение для конкретной проблемы, которая возникла в моем приложении. Это связано с тем, что сообщество Vue.js по-прежнему не так велико, как Angular или React.
Еще одна проблема, которую я обнаружил, заключалась в том, что когда я думал, что нашел помощь, ответы часто пишутся на китайском языке. Как раз когда я думал, что меня спасли, я получил приманку. Позже я узнал, что Vue.js более популярен в азиатских странах, чем в англоязычных странах, таких как США.
Наконец, в текущем состоянии не многие используют Vue.js, поэтому может быть трудно найти работу с опытом работы в Vue.js. поэтому я бы порекомендовал использовать Vue.js либо для личных проектов, либо для небольших приложений с пользовательским интерфейсом, либо для удовольствия, чтобы дать приложению небольшой вкус с легким пользовательским интерфейсом за относительно короткое время.