Комментарии 15
Отличное интервью и Олег очень правильно подсвечивает проблемы с репутацией Angular на нашем рынке.
Сейчас, в мире у Angular прям ренессанс, поэтому особенно важно избавиться от связанных у нас с этим фреймворком мифов, таких как:
Типизация - это сложно и ненужно, иронично, что TypeScript в итоге все приняли, а осадочек от него полностью упал на Angular
То что Google кинет с миграцией, уже прошло больше 10 лет, за это время выросло несколько поколений фронтендеров, они и в глаза то AngularJs не видели, но этот страх видимо уже в генетической памяти ;), к тому же конкуренты за это время, тоже неплохие виражи закладывали, но им всё сошло с рук
Ну и прочие глупости, что он старый, тяжелый, медленный и т.п.
А с вакансиями и правда беда, это да, и боюсь что ситуация может так и не выправиться. Зрелые продукты уже заложники своего стека, среди которые практически нет Angular, а с новыми проектами сейчас беда, и люди отвечающие за выбор стека, вряд ли остановят свой взор на Angular.
каждый раз удивляюсь, как ловко люди находят объяснение неудобному мнению) главное ещё упростить эти объяснения, чтобы "с той стороны дураки, а я умный".
ни я, ни кто-либо из моих знакомых, ни разу не слышал о претензиях к ТИПИЗАЦИИ в ангуляр. а что, в остальных библиотеках/фреймворках типизацию не завезли? или что совершенно неочевидное здесь имелось в виду?) какой ещё осадочек упал на ангуляр от тайпскрипта, о чём вы? раскройте эту тему подробнее, если здесь действительно есть, что раскрывать.
прочие объяснения примерно такого же уровня, даже в том, что с вакансиями на ангуляр беда, рынок виноват, но ни в коем случае не сам фрейворк, ну. с ним-то всё ок, и не важно, что он тащит ООП туда, где это вообще не нужно, что визуально код похож скорее на код бэкенда, а не фронта(отсюда и любовь "фуллстеков" к ангуляру, потому что остальное не похоже и страшно) - не, эти проблемы мы озвучивать не будем, выдумаем что-то про типизацию лучше.
ни я, ни кто-либо из моих знакомых, ни разу не слышал о претензиях к ТИПИЗАЦИИ в ангуля
Ну это же не значит, что этого нет. А я вот за 4 года в аутсорсе в разных командах неоднократно видел этот довод - "нафиг нам эта типизация не нужна, большой, тяжёлый, сложный" и т.д. и т.п. И закономерно это возникает в микро-проектах на 20-30 модулей. В больших продуктах такого ни разу не видел.
он тащит ООП туда, где это вообще не нужно
То, что там классы - ничего не говорит про ООП. Не нравится ООП, пожалуйста, пишите в функциональном стиле - вам никто не запрещает. RxJS прекрасно позволяет это делать
Проблемы ангуляра точно не в этих моментах)
и не важно, что он тащит ООП туда, где это вообще не нужно
Кто сказал что не нужно?
визуально код похож скорее на код бэкенда, а не фронта
То есть на код здоровой программной системы.
ни я, ни кто-либо из моих знакомых, ни разу не слышал о претензиях к ТИПИЗАЦИИ в ангуляр. а что, в остальных библиотеках/фреймворках типизацию не завезли?
Например, автор Svelte всё время был нефанат TS и его поддержку добавили, как и в Vue, чуть ли не в 2020, и то опционально, а вот в 2016, во время выхода Angular 2, безальтернативное требование TS было встречено бурей негодования.
какой ещё осадочек упал на ангуляр от тайпскрипта, о чём вы?
ОДНА из ряда претензий к Angular была в том, что требование обязательного TS заставляет тратит время на настройку tsconfig, увеличивает время сборки из-за tsc, и, вместо того, чтобы просто писать функционал, тратить время на "всякие ненужные описания типов". И до сих пор, от части из-за этого, Angular продолжают считать сложным, монструозным, многословным.
что он тащит ООП туда, где это вообще не нужно
Классы обязательны только для декларации компонента/директивы, наследование и прочие принципы ООП нигде не являются обязательными, более того не поощряются
что визуально код похож скорее на код бэкенда, а не фронта
Скрытый текст
@Component({
selector: 'app-counter',
template: `
<div class="counter">
<button (click)="decrement()">-</button>
<span>Count is: {{ count() }}</span>
<button (click)="increment">+</button>
</div>
`
})
export class CounterComponent {
count = signal(0);
increment() {
this.count.update(value => value + 1);
}
decrement() {
this.count.update(value => value - 1);
}
}Как по мне, это далеко не бэкенд-стайл и практически не отличается от такого же примера для Vue, Svelte, да даже от React
не, эти проблемы мы озвучивать не будем
У Angular было достаточно проблем, но подавляющее большинство уже неактульно:
Ivy сделал шаблоны компилируемыми и высокопроизводительными
А сигналы сделали их еще более производительными и понятными
типизация шаблонов, новый блочный синтаксис(@if, @for и т.п.) и поддержка IDE
магию Zone.js выкинули
модули считай выкинули
"сложный" RxJs делают второстепенным/опциональным, и всё можно превратить в сигналы, если уж не смог в асинхронность
"сложный" DI можно не использовать (хотя стоит задуматься над адекватностью фронтенд-сообщества, которое отвергает пользу DI)
типизированные формы из коробки, а сигнальные формы еще проще и мощнее
сборщик на Vite
а есть аудио-вариант интервью?
нашел на ютюб
Очень нравится ангуляр и его флоу работы с данными , слоем представления и кодом в целом, но у меня очень горький опыт с RxJS и нечитабельным кодом, который он порождает
Тогда прошу пожаловать в $mol
Angular здорового человека
Rxjs это буквально худшее что можно взять для реактивности
Все, не нужон мол больше ). С приходом сигналов ОРП как никогда проще реализуется в angular. Правда в головах разрабов особо ничего не поменялось. Как пихали все в один реактивный источник так и продолжили. То есть вместо реактивного name в User, разраб запишет новый User в реактивный entities в так называемом Магазине.
Стор головного мозга, наверное, уже никогда не излечить.
У RxJs, как по мне, три главных минуса:
читаемость - можно победить выносом в отдельные функции, правда с небольших typescript-overhead
debug - это и правда беда, скакать по потрохам внутренних подписок
bad practices - все эти subscribe/unsubscribe, эмит в один subject из сабскрайба другого observable
Но если научиться этого избегать, научиться мыслить в его парадигме - это невероятно мощный и выразительный инструмент
Приведите, пожалуйста, пример нечитаемого кода на RxJS
Заранее прошу простить (я занимаюсь бэком, фронт читаю только для общего понимания).
Мне казалось. что основной выбор: react vs vue, а angular суперсложный и вообще им никто не пользуется. А получается, что vue никому не нужен? Или я чего то не понимаю?
Шел 2026 а разговоры о том какой фреймворк/библиотеку выбрать для разработки все еще не утихают. Печальное зрелище

Angular против React: зарплаты, кризис в IT и почему корпорации остаются на Angular