В чем преимущества React над Angular?

С моей точки зрения технологии практически идентичны. Angular даже несколько выигрывает по возможностям. Если смотреть на рынок, то соотношение примерно 60 к 30 в пользу React. Чем вызвана такая популярность React?

👍НравитсяПонравилось1
В избранноеВ избранном1
LinkedIn

Лучшие комментарии пропустить

даже несколько выигрывает по возможностям

В этом и проблема. React — это не фреймворк, а просто библиотека для рендеринга. Angular — фреймворк, вместе с которым из коробки идет куча всего: DI, сервисы, и т.д. Они совсем не идентичны.

В случае с React’ом, ты сам решаешь, как строить архитектуру приложения, можешь использовать MobX или Redux для управления состоянием, или вообще управлять состоянием целиком через Apollo (GraphQL). Можешь прикрутить удобный для себя DI, например Inversify.
+ React проще, не нужно учить отдельный синтаксис для рендеринга, достаточно знать JS.

Ну и React Native со своим большим комьюнити.

В Реакте правильные вещи сделать проще, чем неправильные. В частности, Реакт построен на максимальной изолированности частей приложения. Что в практическом плане выливается в то, что джуны не часто и не сильно портят код. Что опять же позволяет выключить компутер и уйти домой без единой тревожной мысли.
В Реакте очень быстро все скатывается к клонированию уже имеющихся решений (см. пункт 1). Скорость разработки возростает, кол-во ошибок уменьшается.
В Реакте есть точка А и точка В. Все, что между ними, может быть приготовлено каким угодно способом — никакие предрассудки архитекторов Гугла никогда не помешают. Из В выйдет ожидаемая величина, в А уйдет тоже ожидаемая. Приложение живет. Возможно, пострадает производительность, но єто другая история, т.к. любой бизнес предпочтет работающее приложение быстрому, но глючному.
Поиск бага (почти всегда — косячные данные) при помощи браузерных консольных утилит — минутное дело. Я не припомню, чтобы у нас было нечто подобное многочасовым поискам в Ангуларе с логированием всего, что только можно.

Допустимые теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Допустимые теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter

Я туторіал пройшов і теж сподобалось. Але це ж порівняння з джейквері, а не іншими сучасними фреймворками, як ангуляр 2.

Ну а реальна оцінка може бути лише через рік промислового використання.

html компоненти повністю народжуються в js коді

Это вообще основная идея всего SPA подхода.

Зазвичай Реакт і Ангулар — це не тільки про «додати нові компоненти в існуючу кодову базу», це можливість зробити «fat client», коли дані можна кешувати, а також опрацьовувати на клієнті всю бізнес-логіку. І оскільки комоненти «народжуються» в js коді, можна позбутись такого атавізму як повне перезавантаження при переході на іншу сторінку.

На фронтенд треба виносити лише формочка логіку. Не більше. За винятком коли це якийсь графіка едітор.

Навіщо потрібен товстий клієнт? Щоб потім дублювати бізнес логіку і на мобілках? Не кажучи вже про те, що то тупо відкритий код, який крути як хочеш. Фронтендщики трохи їдуть з глузду на фоні javascript everywhere.

позбутись такого атавізму як повне перезавантаження при переході на іншу сторінку.

Зате при цьому атавізмі браузер не зависав.

Якщо там може бути комусь користь від низькокваліфікованих розробників — хай заходять.

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

Есть конкретные примеры что нельзя сделать на React и в его экосистеме, но можно на Angular?

Речь о целесообразности, в больших проектах закрыты на реализацию сильно возрастают. Ну вот к примеру
medium.com/...​terprise-app-846ea840841c

Основная проблема была не в React а том что у людей не было достаточно опыта, выбрали инструмент с таким не работали или работали мало, думали прокатит, не прокатило ...
Redux как единственный стор + Redux Saga, на мой взгляд худшее что можно было использовать, неоправданно много боилерплейта, тут достаточно раз попробовать и больше не использовать.

Should we use Axios or the fetch browser API?
Redux-Forms, Formiq, or Final-Form?
Styled-Components, makeStyle, SASS, or plain CSS?

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

Roadblock #1: .NET Developers Join the Team

Согласен, если на проекте будут фулстеки, у которых основной профиль BE, то им должно быть проще выучить Angular.
Говорит ли это об инструменте или о команде и первоначальном выборе?

Roadblock # 2: There Is Never Only React

Для архитекта, которым автор статьи является, стало новостью, что чистый React это только о view и что для его использования нужен дополнительный набор библиотек (в основном дефолтный). Отдельно порадовало что он не знал что для роутинга выбрать и ошибки в названиях библиотек.
Говорит ли это об инструменте или о качестве «архитекта»?

Roadblock #3: React Hooks Gets Popular

В это пункте команда не смогла определится со code style guide.
> There is no way of going back and migrating existing pages and components to Hooks!
што?
Говорит ли это об инструменте или о качестве «архитекта» и коммуникации в команде?

Roadblock #4: Development Is Slowing Down

Тут он описывает проблемы с npm. npm используется только в React?

That was when the CTO lost his temper and blamed me for making poor decisions when we started the project.

I’m ok with that.

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

Если есть готовая кодовая база, написанная грамотно, т.е есть куда посмотреть, есть у кого спросить то за 2 месяца можно. С нуля это 5-6 месяцев разбираться с документацией, туториалами и то при условии если есть сильная мотивация.

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

перефразирую старую шутку:
— React лучше!
— чем?
— чем Angular

Макс Іщенко пише на лінкедині:

Azure, Kubernetes, TypeScript, Vue.js и Unity — лидеры роста по количеству упоминаний в вакансиях на Джинне в 2020 году.

Лузер года? Однозначно Angular.

ОПЗЖ — лідер росту по кількості пенсіонерів в 2020. Лузер року? Однозначно Зеленський.

Якщо коментар про те, що в абсолютних числах кількості вакансій Ангулар ще в лідерах, то дуже сумніваюся(:

Где — то всплакнула пара фулл стеков с 5к$/мес.

А скільки кобольщики отримують! Мова не йде про те що роботи не буде, я думаю навіть для тих, хто не гидуватиме Angular, відкриються ще кращі фінансові можливості. Але нові проекти на ньому ніхто не писатиме.

В чому біда ангуляр 8 чи як там? Він же новий модний. Неосилятори обирають реакт, як на беку пхп з нодою?

В тому й справа, що з реактом простіше щось прикрутити або швидко зклепати проект малого чи середнього розміру. Але якщо справа доходить до великого проекту, то з реактом з’являється купа проблем. От тоді краще використовувати ангулар

Так про пет проекты никто и не говорит, можете хоть knockout.js юзать. Это ваш бизнес и ваши проблемы.

В той самий час, коли Ангуляр змусив би, підозрюю, перековбасити весь js в проекті.

Конечно, это не для любителей заговнокодить и намешать 10 подходов и технологий в одном проекте. А кастомеру потом ищи фронта со знанием этих технологий :)

Але нові проекти на ньому ніхто не писатиме.

Хз, пишем на 11-м, все окей :)

За ради інтересу знайшов цей пост Макса www.linkedin.com/...​-6760465029532848128-UcFZ

Схоже, що Макс... ммм, скажімо так — несильний аналітик. У цьому пості він робить резонансний висновок, на підтвердження якого видає картинку із незрозумілими цифрами, типу: за 2019 рік було 1685 вакансій по Angular, у 2020 року 2586 вакансій і зроблено висновок про −27% «y/y change».

Шо?! Де логіка? У коментарях про це у нього спитали і він типу дав відповідь:

2All: Данные по росту нормированы по количеству всего опубликованых за год вакансий, то есть это рост не абсолютный, а относительный по категории.

Абсолютные цифры вакансий вводят в заблуждение, да ;/ не очень удачно получилось

Вам прояснилось щось після максового пояснення? =). Я у коментарі спитав, що це означає, але очевидно, м’яко кажучи, що щось не так із цією «аналітикою».

Та пишите на чем знаете, нет смысла искать причины «кто там лучше» и резко шариться с одного фреймворка на другой.

Я видел Angular 1 — мне не понравилось что нужно писать кучу кода лишь бы фреймворк заработал и выдал хоть что-то. После него были всякие CanJS / ExtJS (в которых наверное тоже кто-то видел счастье и спасение).

Сейчас React и пока на нем будет достаточно вакансий — нет смысла резко срываться и бежать учить очередную версию очередного нового фреймворка.

Особенно удивляют рекрутеры в линкеде, которые на почти верхнюю строчку

React/Redux stack only, not Angular, not Vue, not Fullstack

суют все подряд, как будто я резко все брошу и побегу учить другие языки/фреймворки (потому что их вакансия ессно чем-то лучше? чем все остальные) :D

ExtJS

был задолго до ангулара.
Щас вроде окончательно пропал, и славабогу.

Щас вроде окончательно пропал, и славабогу.

На мой взгляд он стал более нишевым, покажите мне UI библиотеку с таким набором компонентов (особенно гридов).

С таким набором компонентов, прибитых намертво гвоздями? нет, не подскажу, экстджс на этом поле, видимо, вне конкуренции.
Не знаю как щас, но раньше любая минимальная кастомизация, которую разработчики экста не предусмотрели из коробки, обращалась в потоки боли.

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

С таким набором компонентов, прибитых намертво гвоздями?

ты те гвозди повыдергиваешь, открываешь крышку, а внутри еще монтажной пеной все заполнено для надежности

Вспомнил и перекрестился.

Angular уже все, фронтенд-мода мінлива(:. Не виключаю що через два роки і Реакт там буде, а всі будуть писати на Свелті і Вью.
Хоча як ніша «підтримую існуючий проект на неактуальному фреймворку і маю за це компенсацію +1000» буде ще жити довго.

2020.stateofjs.com/...​eworks_experience_ranking
До нас, як для ринку з ~50% аутсорсу, тренди з затримкою приходять.
Подивіться Usage і Interest. Цікаво що там ще Стімулус сильно піднявся, ще один конкурент.

То пора вчити Svelte?

Інсайд з Апворку:

Svelte — 248
Angular — 1925
React.js — ~3000

Якщо мета працювати в новому модному стартапі то так(:.

Не виключаю що через два роки і Реакт там буде

+1
Він уже туди рухається. Бо всі новшества на кшталт контекстів і хуків не хило так відлякують новачків.

Так це зрозуміло. В ідеальному світі розробкою софта займаються виключно сіньори з 10 річним стажем, шкода тільки що живемо ми в не ідеальному світі ))

Это не так, материалов с детальным объяснением всех нюансов предостаточно + практика и никаких проблем. Но если подходить: тяп-ляп и так сойдет, то да, очень сложно будет.

В Індії багато сіньйорів з 10 річним стажом. Просто киньте вакансію.

В Індії вже народжуються 10 річним стажем.

контекстів і хуків не хило так відлякують новачків.
контекстів

1. 3 рядки коду
2. досить специфічна річ яка новачку скоріш за все не знадобиться

хуків

1. важче буде перехід з класів ніж вивчення з нуля
2. не складніше за lifecycles — трохи інша концепція

так как раз хуки для индийских фулстек сеньйоров и придумали, потому что их пугают классы, которые внедрили, потому что еще раньше их пугало семантическое отсутствие таковых в js. И все это преследует древнейшую хотелку — выплюнуть html в DOM через его композицию с функций, что предел мечтаний любого еще со времен до джикверной эпохи и в общем то можно считать, что цель достигнута.

Свелте это ещё один вброс для неосиляторов реакта или ангуляра, плохо что эта мозоль всё больше и больше расползается

Для .net core стьоку краще ангуляр?

Как это вообще связано?

Середній розмір проектів. Стиль розробки (типізована ООП мова).

Реакт так же поддерживает typescript из коробки.

Так, але реакт це бібліотека, а ангуляр повноцінний фреймворк.

Так, але реакт це бібліотека, а ангуляр повноцінний фреймворк.

Опять же ни как не связано с .net core=)
С технической стороны вообще пофиг на чем апи, на .net core, java spring, scala, python etc.
Я работал где и vue.js и react и angular привязывали к .net/.net core web api.

Я работал где и vue.js и react и angular привязывали к .net/.net core web api.

Наскільки глибоко потрібно було знати їх?

Так TS из коробки нужно еще уметь готовить, а там нюансов и особенностей предостаточно ...
react-typescript-cheatsheet.netlify.app/...​shooting/types#enum-types

Так почитаєш, і цей реакт треба тижнями готувати з встановленням 100500 бібліотек власноруч.

Якщо руки ростуть з дупи то ліпше писати на ангуларі. Якщо не з дупи то ліпше теж на ангуларі. По реакту, весь гітхаб засіяний пенформанс ішшус повязантми з лишніми ререндерами то там то сям. + редакс + міліон селекторів для нього + селектор креейтори + креетори креейторів склекторів..та ну нах.

Виправив.

По реакту
Якщо руки ростуть з дупи то
весь гітхаб засіяний пенформанс ішшус повязантми з лишніми ререндерами

По ангулару, навіть якщо руки ростуть з дупи то проблем всерівно менше.
Нащо мені знати всі ці страшні речі як мемоізації, hoc, ефекти...я просто хочу взяти інструмент і зробити якусь роботу, а не колупатися в інструкції як правильно інструмент тримати в руках.

Нащо мені знати всі ці страшні речі як мемоізації, hoc, ефекти...

А лучше займитесь чем-то более подходящим, например: инструмент в виде лопаты отлично подойдёт под ваши желания

Якщо руки ростуть з дупи то ліпше писати

на jQuery :-)

Ой, це буде боляче дебажити.

"

пенформанс ішшус повязантми з лишніми ререндерами то там то сям. + редакс + міліон селекторів для нього + селектор креейтори + креетори креейторів склекторів..та ну нах.

"

mobx решает все эти проблемы разом.
Как-то один знакомый фуллстек с 25+ лет стажем сказал, что на сегодняшний день react + mobx — это лучшая связка на рынке для построения интерфейсов по соотношению скорость разработки / комфортность разработки / стоимость разработчика. Особенно это хорошо проявляется когда требования к этим интерфейсам меняются каждые два дня.

соотношение примерно 60 к 30 в пользу React

React это еще и React Native, ого сколько памятисжиралок на мобилках на нем делают. Angular Native не подвезли.

и это + в сторону ангуляра.

Angular Native не подвезли.

Так NativeScript же nativescript.org , который изначально насколько знаю был сугубо ангуляровским (это потом уже в него поддержку вью добавили).
Хотя конечно по популярности он наверное сильно проигрывает ReactNative’у.

З.Ы. ну и еще есть упомянутый чуть ниже Ionic. :-)

Реакт найтив это жуткое гуано, пользующееся у «фуллстаков» чтоб не нанимать лишних разрабов для мобил

Angular выигрыаает во всем, React даже не стоит учить)

Про що говорять всі ці люди? ;))

Видео в котором выложено детальное сравнение React/Angular по инженерным и бизнес критериям
www.youtube.com/watch?v=3RV2yKDw35E Может поможет :)

Доки жсники тут срачуються, Дарт Вейдер пилить Blazor.

Ангуляр слишком сложный, в нем много багов и запутаного поведения.

jQuery все ще згадується в деяких вакансіях:
jobs.dou.ua/...​es/?search=jQuery&descr=1

P.S. Сам не писав на React, але періодично почитую свіжі порівняння із Angular.

Выделил главную часть, остальное можно не читать

Преимущество React в том, что он подразумевает использование Redux, навязывая таким образом качественную архитектуру приложения. В Angular приложениях использования фреймворка ngrx для реализации похожей архитектуры менее распространено, да и сам ngrx появился позже.

В жодному разі використання реакт не має на увазі використання редакс. Не вводьте людей в оману. Необхідно 100 раз обміркувати, чи вам дійсно необхідне його використання у вашому проекті, часто можна обійтись або звичайними стейтами, або React context API, або використати альтернативи типу mobx.

как вы определили что на React больше спрос? есть мнение что все совершенно наоборот

мне особенно нравится количество тех, кто юзал Ангулар и не планирует больше юзать. Говорящая стата :)

На 10% больше тех, кто юзал и хочет использвать и в дальнейшем =D
Хуже дела только у Кордовы, где тех, кто не будет больше использовать вдвое больше тех, кто использовал и будет еще.
ПС Я сам кордову поддерживаю и это боль =(

Реакт это про spa и только. Использовать его на сайте в связке с шаблонизатором фреймворка адекватно не получится.

vue.js в этом плане наоборот заточен под сайты: js компоненты раскидать по шаболону, кое-где с сео подружить

angular — универсал, и в целом из этих трех самый навороченный зверь. и эта навороченность с одной стороны плюс, тк все из коробки есть и не нужно ничего колхозить или докачивать чужие компоненты, но с другой стороны минус тк от этой навороченности страдает скорость инициализации, размеры загружаемых js файлов.

тут уже постили картинку с разного вида какашками?

Сначала я выбирал AngularJS vs Knockout.js. Потом Angular vs React. Потом забил и взял Polymer. Говорят, еще Vue.js очень норм.

Расскажите об опыте с Polymer, плз.

Мне с ним довольно приятно работать. Особенно после того, как они переехали на npm. Недавно зарелизили lit-html и новый базовый элемент, но я пока на него не переехал — другие приоритеты. Удобно, что есть много готовых компонентов и свои не сложно реализовывать. Начал использовать его в связке redux-saga для управления состоянием. So far so good.

Angular — в основном для enterprise приложений. Он более сложен и больше порог вхождения (плюс нужно еще выучить TypeScript). А TypeScript — это ООП и типизация, что опять же сложнее для изучения по сравнению с plain vanilla JavaScript

А TypeScript — это ООП

Возможно, Angular диктует ООП стиль разработки, но сам TypeScript никоим образом не заставляет этого делать.

А зачем использовать TypeScript без ООП? Какие преимущества в этом?

А зачем использовать реакт без ООП? Вы утвержадете, будто Angular = ООП, но это не так (хотя, конечно, без ООП там делать нечего, ну так и в реакте каждый компонент, по сути, класс)

Как минимум, строгая типизация с проверкой на этапе транспайлинга в JS, плюс более выразительные средства языка для описания предметной области (например, перечисления и алгебраические типы).

Если интересно, подробнее здесь: www.typescriptlang.org/...​dbook/advanced-types.html

React с TypeScript это тоже must have даже для не enterprise.

Чем вызвана такая популярность React?

Вероятно тем, что пока ангуляр переползал из стремной первой версии во вменяемую вторую, реакт уже был вполне production ready. А так они просто для разных задач имхо.

просто для разных задач

Принципальных отличий я не вижу. Дело вкуса.

Чем вызвана такая популярность React?

— Реакт подкупает простотой, его легче изучить, разобраться с нюансами (по крайней мере мне).
— Превосходное комьюнити, например вышло обновление, самому разбираться лень или некогда, через неделю-две выходит огромное количество статей, видео с примерами как его лучше применить на практике.

В Реакте правильные вещи сделать проще, чем неправильные. В частности, Реакт построен на максимальной изолированности частей приложения. Что в практическом плане выливается в то, что джуны не часто и не сильно портят код. Что опять же позволяет выключить компутер и уйти домой без единой тревожной мысли.
В Реакте очень быстро все скатывается к клонированию уже имеющихся решений (см. пункт 1). Скорость разработки возростает, кол-во ошибок уменьшается.
В Реакте есть точка А и точка В. Все, что между ними, может быть приготовлено каким угодно способом — никакие предрассудки архитекторов Гугла никогда не помешают. Из В выйдет ожидаемая величина, в А уйдет тоже ожидаемая. Приложение живет. Возможно, пострадает производительность, но єто другая история, т.к. любой бизнес предпочтет работающее приложение быстрому, но глючному.
Поиск бага (почти всегда — косячные данные) при помощи браузерных консольных утилит — минутное дело. Я не припомню, чтобы у нас было нечто подобное многочасовым поискам в Ангуларе с логированием всего, что только можно.

В Реакте правильные вещи сделать проще, чем неправильные.

на этом Swing погорел — там легко всё испортить,
но и можно сделать круто.

Конкретний приклад: жоден компонет в реакті немає жодного уявлення про оточення та «сервіси». Якщо потрібно використати контекст, це робиться з допомогою «зайвих зусиль» і тими, хто розуміється на HoC, або на контекстах (було старе апі — таке собі, зараз нове — легке, і це не дуже добре). Якщо такого девелопера намає, рішення буде простим, але працюватиме, та нічого не завалить. Тобто мало шансів, що джун перетворить апликацію в дику суміш сервісів, декораторів, та контроллерів.
Я Вам це кажу з 4 річного досвіду з Ангуляром та 2 річного з Реактом.

чим більше простині з коду — тим більше вакансій ¯\_(ツ)_/¯

Angular на мелких/средних проектов особого смысла использовать нет, имхо. Плюс с ним в связке сразу идут typescript и rxjs. Первое норм и круто, второе просто круто, но нужно привыкнуть. Некоторых отпугивает. Ну и di. React, заметили ниже, ближе к нативке.

Плюс когда я только начинал учить второй, реакт существенно выигрывал в производительности. Хотя теперь понимаю, что многое зависит от того как готовить.

Angular на мелких/средних проектов особого смысла использовать нет, имхо.

На чистом React проще написать что-то совсем небольшое и никому ненужное. Без DI в реальных проектах не обойтись, если нужно пробросить состояние в различные компоненты. Следовательно к React придется уже прикручивать упомянутый Inversify или иметь дело с контейнерами состояния, что не добавляет простоты.

DI в классическом, интервьюшном виде — зло. Все в пропсах приходит. Свежее и актуальное. Для тестов готовятся моки в любом случае. Вы их в инжектор суете, мы — прямо в require

Тобто щоб протестувати конкретний клас, вам треба змінювати файл, де він знаходиться?

Реакт ближче до джаваскрипту, ніж Ангулар, де Ви дуже обмежені з тим, що Вам пропонує Гугл.
Ми пишемо:
jest .unmock('react-router-dom') .mock('react-router-dom', () => {...}
якій всередині використовує require таким чином, що замість файлу, як Ви кажете, спрацьовуэ колбек

В яких пропсах, і що саме приходить?

Я мав на увазі те, що для підтримки stateless компонентів, ніякіх ініціализацій в конструкторах. Всіляки «залежності» — це import (див. пункт про require). Все інше — це саме дані, які потрібно відрендерети. Якщо якійсь компонент ззовні вирішіть, він може або відрендерити інший компонент, або відправити відповідні інші дані в пропсах.
Дані визначають структуру, а не структура намагається підлаштуватися під дані.

Звичайно, якщо Ви вживаєте тег А, то повинні вказати необхідні атрибути для цього тегу. В дереві реакту все так само. Компонент не зі стелі бере ці «5 компонентів». Батьківські компоненти завжди трошки «розумніші». Якщо внутрішній компонент відправляє якісь команди, батьківський мусить або відправити цю команду до редьюсеру, або змінити свій стейт, або комусь нагору — нехай той компонент розбирається. Це призводить до легкого дебагінгу, та до більшого розуміння архітектури додатку. Погодьтеся, набагато складніше, коли якійсь дуже внутрішній компонент лізе за даними казнакуди, які «хтось десь» йому віддає.

В реакт чётко видно, какие свойства компонент ожидает принять. Какие-то глобальные сервисы это или инлайн функция в шаблоне родительского компонента ему без разницы. Ну, как в html+js элементу button без разницы что попало в onclick свойство, он просто вызовет это значение как функцию, передав в неё аргументом событие.

redux, mobx. Держишь состояние в единственном источнике правды, пробрасываешь что надо и куда надо без проблем.
Если не хочешь пользоваться ими — используй обычные props и пробрасывай сверху вниз

даже несколько выигрывает по возможностям

В этом и проблема. React — это не фреймворк, а просто библиотека для рендеринга. Angular — фреймворк, вместе с которым из коробки идет куча всего: DI, сервисы, и т.д. Они совсем не идентичны.

В случае с React’ом, ты сам решаешь, как строить архитектуру приложения, можешь использовать MobX или Redux для управления состоянием, или вообще управлять состоянием целиком через Apollo (GraphQL). Можешь прикрутить удобный для себя DI, например Inversify.
+ React проще, не нужно учить отдельный синтаксис для рендеринга, достаточно знать JS.

Ну и React Native со своим большим комьюнити.

Они совсем не идентичны.

И там, и там есть компоненты. То что получаешь от Angular из коробки, в React проект нужно добавлять извне. Плюс в Angular есть вещи, аналогов которым просто нет. Я имею в виду директивы, пайпы, ленивую загрузку, роут резольверы

То что получаешь от Angular из коробки, в React проект нужно добавлять извне

Правильно. Потому что React не фреймворк!!111

Если устраивает то, что Angular дает из коробки, или есть острая необходимость использовать что-либо из этого — отлично, используйте на здоровье. Не всем нужен швейцарский нож :)

По поводу аналогов — React Router + React Loadable и роутер с ленивой загрузкой готов. React компоненты отлично работают с асинхронностью через состояние, поэтому резольверы не нужны.

Правильно. Потому что React не фреймворк!!111

а JavaScript не язык программирования :-)))

а ваш комментарий не ложная аналогия ;)

Компоненты реакта — єто и есть директивы ангулара с намного более простым жизненным циклом, биндингом и рендерингом. Мало того — некоторые в свое ангулар приложение вкручивают компоненті реакта именно как директивы. Сам с таким работал.
Но вы в ангуларе не можете все сделать на директивах потому, что єто будет боль, потому что синтаксис деректив калечный, потому что тестировать хуже, потому что там єтот ваш прибабаханый DI, потому что у вас «целый фреймворк» от самого Гугла. И приходится тратить время на весь ангуларовский зоопарк, вместо того, чтобы собрать страничку из одних директив.
Зачем реакту роут резолвер? Запрос данных должен біть явным, а не размазанным по роутам, сервисам, контроллерам и директивам (єто же может біть теоретически? может. Значит, когда-то будет, когда лид не уследит)

Зачем реакту роут резолвер

А что отображать, когда данные не пришли?

та ну, роут резолвер ортогонален fallback view
даже если вместо "когда"(ну, ошибка получения данных) поставить "пока«(ожидание запроса), роут резолвер не снимет с нас необходимости что-то там дизейблить, затенять, показывать прогрессбар

ps для «пока»-варианта уже скоро должна стабилизироваться Suspense/Lazy фича прямо в ядре

Да хоть другой компонент. В реакте и есть рамки и одновременно — полная свобода.

слышал что люди жаловались на брейкинг чейнджи в ангуляр

Ну фактически Angular 2 — это одна breaking change. А потом с этим попроще стало

Подписаться на комментарии