Angular 4+. Можно ли сказать что поддержка проектов с ним в среднем проще чем React?

Раньше работал с React/Redux. Сейчас руководство дает возможность освоить и выбрать фреймворк для след. проекта.
Понимаю вопрос очень субъективен, но у меня серьезного опыта с Angular нет и очень важен ваш.

Angular 4+ кажется сложнее в изучении, но проще в поддержке.


Причины по которым у меня сложилось такое мнение:
Проекты с React собираются как конструктор и каждый его собирает очень по-своему.
Например знаешь Redux, но на проекте его используют через Ramda - и код с первого взгляда будет казаться иероглифами.
Вместо Redux может быть MobX или Cerebral. Они хороши каждый для своей задачи - но это опять таки время для освоения, которого в запарке может не быть.
Angular все таки фреймворк - а значит поступающие проекты должны использовать общепринятые инструменты.

Angular использует TypeScript
Что в теории должно облегчать рефакторинг, исправление багов, добавление фич.
У React для этого есть flow, но у него кривая обучения выше и он не обязателен, а значит шанс получить проект с ним меньше. Для Angular - TS это почти стандарт.

"API у Angular 4-5-6 не меняется радикально"
У React 16.3 большие обновления, которые могут радикально изменить способ построения приложения. Google вроде выучила уроки перехода с AngularJS и больше не меняет API радикально. По отзывам.

Из недостатков Angular:
RxJS (первое что привлекает внимание). Многие неглупые люди о нем отзываются как об очень мозгодробильной фиче, которую очень сложно освоить сходу, но без которой работать с фреймворком нельзя.

Но повторюсь, серьезного опыта с Angular у меня нет. Очень ценна конкретика из вашего опыта.
  • Вопрос задан
  • 610 просмотров
Пригласить эксперта
Ответы на вопрос 2
rockon404
@rockon404 Куратор тега React
Frontend Developer
1. Использовать в продакшене Angular для вашей команды, это большие риски. Не факт, что вы с ходу напишите что-то поддерживаемое.
2. По поводу легкости поддержки вам только кажется. Если у вас возникли трудности в поддержке React проектов или миграции 15 --> 16, то виной тут только недостаточная квалификация вашей команды. Стек React/Readux отлично масштабируется и поддерживается.
3. TypeScript давно активно и успешно используется с React.
4. RxJS это совершенно другое мышление, не факт, что сходу ваша команда начнет писать, что-то нормальное.
5. Если проект большой и серьезный, то не стоит его начинать без Senior Angular Developer в команде, ваш работодатель может потерять кучу денег, на ваших экспериментах. Даже если вы и будете по мануалам, статьям писать что-то хорошее, вы будете делать это значительно медленней.
6. Хотите изучить Angular и научиться писать на нем хорошие и поддерживаемые приложения? Есть эффективный способ: изучите основы и идите работать в сильную опытную команду.
Angular это выбор Enterprise. Фреймворк хорошо использовать в больших компаниях, где его зачастую и применяют. Обкатывать на коммерческом проекте неопытной командой не рекомендую. Сам быстро в нем освоился потому, что до этого писал мобильные приложения на Java(DI, Rx, статическая типизация, сервисы, сходств много и ничего принципиально нового).

С другой стороны если ваше руководство готово платить за ваше обучение и даже дать дополнительное время, то можно воспользоваться этой возможностью. Я такие возможности всегда использовал.
Ответ написан
Комментировать
Xuxicheta
@Xuxicheta Куратор тега Angular
инженер
1. Проекты могут быть какие угодно. С Angular тоже можно использовать MobX, Redux, Ngrx и т.д., хотя они не являются обязательными, часто обходятся средствами самого фреймворка.
2. Angular2+ без TS это редкостная экзотика. Плюс тут в том, что уровень разработчиков будет немного выше, а минус - проектов немного меньше. Больше сложных и долгоиграющих проектов. А мелкие и быстрые начинают уходить в сторону Vue
3. Да, радикальных изменений нет. Ломающие изменения бывают, но их можно быстро поправить.
4. Можно работать с Ангуляром, зная лишь азы Rxjs. И расширять знания по необходимости. Это инструмент из тех, что можно использовать почти сразу, и в дальнейшем использовать лучше и шире по мере освоения.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы