От автора: поскольку тенденции рынка начинают смещаться в сторону React, легко задаться вопросом о будущем Angular. Это те соображения, которые заставляют задуматься, что из них стоит выбрать, особенно когда вы только вступаете в игру. Важно знать победителя в борьбе Angular vs React.
Поскольку Facebook изменил лицензию React с BSD на MIT, библиотека, похоже, становится мега-популярной у многих в мире разработки. Однако многие предприниматели и стартапы не осознают, что React не является полноценной front-end системой — это всего лишь одна библиотека, один из множества строительных блоков, помогающих быстро масштабировать небольшое приложение в более крупное. Раздельная и компонентная система.
Дискуссии о сравнении React и Angular
Facebook часто используется в качестве основного примера свой успех. Но React — это лишь крошечная капля из множества технологий, которые использует технический гигант. В конце концов, это просто UI библиотека JavaScript. Angular, однако, представляет собой набор библиотек, которые работают вместе как единое целое.
Есть вещи, которые Angular делает хорошо, но React опускает их, в то время как другие теоретические реализации последним выполняются намного лучше, по сравнению с первым. Разработчики всегда будут склоняться к тому, что они знают лучше всего, и в результате они отказываются рассматривать другие парадигмы, которые могут больше подходить для данной ситуации — или, возможно, такой тип мышления часто наблюдается у тех, кто находится на младшем и среднем уровнях.
Несмотря на рост популярности React, Angular по-прежнему пользуется сильной поддержкой со стороны такого же, если не большего, технологического гиганта Google. Конференции и поддержка разработчиков одинаково сильны у обеих методологий, основанных на JavaScript. Тем не менее, у нас может быть другой восходящий аутсайдер, который вклинивается между Angular и React.
Поговорим о Vue
Данные из Google Trends. Красный = Angular. Синий = React. Желтый = Vue
Vue — самый новый игрок на рынке, и он постепенно набирает популярность. Хотя его сообщество намного меньше, чем у Angular и React, оно постоянно увеличивается благодаря тому, что Vue не такой сложный, как Angular, но предлагает больше, чем основные функции React.
Создатель Vue на самом деле имеет опыт работы с Angular JS, который намного больше соответствует принципам React, чем текущей версии и методологии Angular.
Простота принятия и привлечения разработчиков
С React неоспоримо проще начать проект и превратить его в конкретное приложении, которое является нативно мобильным и оптимизированным под конверсии. За что он и пользуется большой популярностью в среде разработчиков новичка.
Angular требует немного больших усилий и обучения, чтобы заимствовать концепции и идеологию из Java, это преимущественно бэкэнд-технология, которая доминирует в инфраструктуре кода Google. Facebook, однако, основан на PHP и, как следствие, внедряет значительную часть компонентной инфраструктуры из языка.
React и Angular можно сравнивать целый день. Суть в том, что оба имеют сильную поддержку разработчиков и сообщества. Однако стартапы все больше склоняются к React, потому что им нужны минимальные затраты. Их выживание зависит от того, насколько быстро они смогут выйти на рынок.
Но многие стартапы имеют тенденцию упускать из виду, что чем ниже проходной барьер, тем ниже потенциальное качество. По мере того как все больше и больше разработчиков начинают самообучаться и становятся ориентированными на сообщество, некоторые темы, такие как парадигмы программирования и чистый код, упускаются новичками. Это не значит, что разработчики Angular лучше — но есть определенная принудительная структура, которую вводит Angular, и которой нет в React.
Vue существует в своем собственном небольшом пространстве и решает для разработчиков некоторые из недостатков React и Angular.
Что использует Netflix?
Оказывается, Netflix использует React — среди множества других серверных и инфраструктурных технологий. Если мы действительно посмотрим на общую картину экосистемы всего приложения, то интерфейсные технологии составляют лишь небольшую часть того, что используется.
PayPal использует Angular, как показано в визуализированном HTML.
Снимок экрана HTML-кода страницы PayPal
Netflix и PayPal — обе огромные компании сами по себе, и обе совершенно не связаны с Angular и React, как Google и Facebook. Они выбрали React и Angular, соответственно, в качестве решения для своих интерфейсов.
Можно рассуждать про унаследованный код и что-то еще, но у обеих компаний более чем достаточно денег, чтобы нанять разработчиков для работы со своей базой кода так, как они хотят. Кстати, GitLab использует Vue, еще с 2016 года.
Все дело в решении, а не в инструментах
По мере того, как разгораются споры о том, какие фреймворки или библиотеки лучше других, кажется, никто не задается вопросом — какое лучшее решение для того, чего мы пытаемся достичь?
Если это скорость разработки с ограниченным бюджетом, то React, вероятно, ваш лучший выбор. Если вы хотите что-то более простое и более надежное из-за кривой обучения, тогда Angular — это выбор. Хотите лучшее из обоих миров? Сторонники Vue, безусловно, сейчас поднимут руки вверх.
Популярность Angular не умирает. Скорее, от него просто было отвлечено внимание. В то время как React, возможно, поглощает большую часть экосистемы разработки и требует много денег, Angular по-прежнему остается стабильным, несмотря на растущую известность React.
Красный = Angular. Синий = React. Google Trends по результатам поиска в мире для Angular и React за 5 лет
Также стоит отметить, что Angular пришлось частично перестроить свое сообщество с нуля после его преобразования из AngularJS. В то время как у них была готовая аудитория, все должны были все заново изучать, когда вышел Angular 2.
Если мы посмотрим на это так, Angular, как мы его знаем сегодня, на 3 года моложе React. Оригинальный Angular на самом деле не считается из-за того, насколько он отличается от Angular 2+.
Заключение
Если вы новый разработчик и пытаетесь понять, что изучать, не слишком задумывайтесь над этим. В конце концов, это всего лишь JavaScript, так что, возможно, лучше сначала узнать, как работает он, прежде чем переходить к «странным» вещам и заставлять их работать.
Какой бы фреймворк или библиотека вам ни понадобились, вы вступите в контакт с переносимыми парадигмами, которые облегчат выбор фреймворка или библиотеки. Главное — хорошо изучить свой первый фреймворк и выйти за рамки общепринятого первого ToDo List.
Научитесь быть разработчиком, который хорошо разбирается в парадигме программирования и не зацикливается и не привязывается ни к чему. Окунитесь в структуру архитектуры, проектируя и разрабатывая компоненты, понимая, как через приложение проходят потоки данных.
Способность распознавать и передавать эти навыки — это то, что отделяет тех, кто застрял на уровнях джуниор / мидл от настоящих сеньоров. Спасибо за прочтение.
Автор: Aphinya Dechalert
Источник: https://itnext.io
Редакция: Команда webformyself.