Frontendly
Статьи по frontend/web разработке.

React vs Angular vs Vue: Что изучать, чтобы получить работу во Front-end в 2019 году.

React vs Angular vs Vue: Что изучать, чтобы получить работу во Front-end в 2019 году.

Вы задаетесь вопросом, какой фреймворк или библиотеку JavaScript вы должны изучить чтобы устроиться на работу в 2019 году? Позвольте мне помочь вам в этой статье. Мы быстро сравним три лучших фреймворка JavaScript. Мы рассмотрим их историю, проанализируем рынок труда и рассмотрим сложность их изучения.

Для начала, давайте разберём терминологию, чем отличается библиотека от фреймворка? Некоторые разработчики используют эти термины взаимозаменяемо, но на самом деле эти понятия отличаются.

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

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

Так почему же необходимо использовать фреймворк или библиотеку для создания приложения? Почему бы просто не использовать старый, добрый JavaScript? Да, можно использовать, но это пустая трата времени. Для примера, представьте, что вы хотели бы самостоятельно собрать стол? Вы бы для этого взяли готовые доски или пошли в лес пилить деревья? Конечно нет причин рубить лес, когда есть готовые части древесины. Так и мы используем библиотеки и фреймворки, чтобы увеличить нашу производительность и скорость.

Итак, React, Angular и Vue, на сегодняшний день, являются лучшими инструментами для создания интерфейсных приложений, но давайте всё-таки выясним, какой из них лучше? Давайте посмотрим на результаты опроса, проведённого ресурсом stackoverflow.com, среди разработчиков.

Результаты показывают, что наиболее любимым среди разработчиков, является React, следом за ним идёт Vue, а Angular, кажется, теряет популярность по сравнению с прошлыми годами. Если вы наберете запрос в Google Trends, вы так же увидите, что React является самой популярной библиотекой.

Сравнение в Google Trends
Сравнение в Google Trends

Теперь давайте быстро пробежимся по истории этих фреймворков.

Angular является старейшим из троих. Он был разработан компанией Google в 2010 году и до 2016-го назывался Angular.js. В 2016 был выпущен Angular.js 2, который являлся полностью переписанным Angular.js и по сути, не имел с ним ничего общего, это был абсолютно новый фреймворк. Чтобы избежать путаницы, создатели решили отказать от приставки .js в новой версии и оставили для нового фреймворка название Angular.

React разработан компанией Facebook в 2013 году. В настоящее время выпущена 16-я версия библиотеки. Ей пользуются такие компании как Facebook, Twitter, Netflix, Uber. У фреймворка огромное сообщество, что означает, что большинство сложностей, с которыми вы можете столкнуться, уже кем-то решены. Для него есть множество сторонних библиотек и расширений.

Vue или Vue.js является самым молодым из троих и в отличии от Angular и React не разработан огромной корпорацией. Первоначально он был разработан бывшим сотрудником Google в 2014 году и сейчас он поддерживается группой увлеченных энтузиастов. Несмотря на то, что это новый фреймворк, он приобрёл огромную популярность за последние два года.

Что же на рынке труда? В конечном счете, вы хотите тратите время и хотите научиться чему-то, что даст вам работу.

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

Я провел быстрый поиск в LinkedIn, чтобы сравнить объявления о вакансиях в Соединенных Штатах по React, Angular и Vue. Это то, что я обнаружил, React занял первое место в списке с 59000 сообщений, за которым следует Angular с 33103 сообщениями. Vue был наименьшим среди трех с только 6442 сообщениями, что указывает на то, что он еще не принят компаниями в больших масштабах.

Давайте посмотрим на аналогичный поиск на сайте indeed.com для объявленийо вакансиях в США. Исходя из приведенных здесь цифр, существует огромный спрос на разработчиков React — 13000 объявлений о вакансиях, за которыми следует Angular.

В России похожая ситуация, но отставание Vue выглядит уже не таким существенным.

Что насчёт изучения этих фреймворков?

В Angular есть много тем для изучения, начиная с базовых, таких как директивы, модули, декораторы, компоненты, сервисы, внедрение зависимостей, каналы и шаблоны. После этого появляются более сложные темы, такие как обнаружение изменений, зоны, компиляция AoT и Rx.js. Входной барьер для Angular явно выше, чем для Reactпотому, что React это библиотека и не имеет множество концепций, который вам необходимо изучить и понять. Vue определённо легче в изучении, чем Angular. Некоторые даже утверждают, что он легче в изучении, чем React, но на мой взгляд, это очень субъективное суждение.

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

Подписывайтесь на наш канал в Telegram.