3 ms·
It surprises me too personally - the testing experience is worlds better, better built in modules than what you get in the React ecosystem (especially routing,
by Bahamut 7y ago
It surprises me too personally - the testing experience is worlds better, better built in modules than what you get in the React ecosystem (especially routing, http request layer, forms, testing, etc.), and opinionation that helps improve the overall experience of working with it. I miss my time with Angular sometimes - my only gripes is TypeScript being limiting with regard to function composition, and creating a component in Angular requires quite a bit of boilerplate compared to React.
To some degree, I feel there are a varying set of reasons why people have settled on React - some were never fans of AngularJS/Angular and some disliked how Google handled the migration story from AngularJS to Angular are probably the strongest reasons. TypeScript also not being terribly FP friendly is also a huge negative to some, whereas React enables more functional patterns overall. Some also dislike separate HTML templates vs. HTML in JS templating, some prefer to cobble together a bunch of small modules together, even if the modules are weaker on average.
Ultimately, I think Google fell short on DX with the change over to Angular 2+ and the damage has lived on since, which is a shame because as a framework it was built really solid.
- jamil7 7y agoBasically this, I picked up angular 1 back in the day, for a while there was a lot of hype around it. The migration was very poorly handled and Angular 2 felt a bit alien when it was first released. React rose in popularity at exactly the right time and I think a lot of people felt a bit burnt by angular and didn't look back. Vue being released probably converted those still on the fence.
- nkingsy 7y agoIt’s just a bad framework for code reuse. -No dynamic directives -Nothing dynamic works with @ContentChildren, making anything that uses it the “last stop” for abstraction. -DI system makes inheritance/mixins nearly impossible, and without dynamic directives there are situations where the only solution is a massive copy paste job. I work in the framework every day and spend countless hours shaking my head at cryptic docs any time I try to do any type of abstraction.
- Bahamut 7y agoI'd argue that inheritance and mixin patterns are both things you should stay away from, whether it's Angular, React, or whatever, they have proven to be poor patterns IMO and it is simple enough to create reusable abstractions without relying on those. Code reuse is fine with Angular in my experience - it has been 2.5 years since I last used it though, as I have been working with React in that time and my frustrations about certain aspects of using React & the community has me in a the grass is greener on the other side sort of mindset from time to time, although I know things are not perfect with Angular either (I have some complaints there too). I've basically learned to accept that using off the shelf libraries come with tradeoffs that you just have to accept as a dev.
- ng12 7y agoI think it's the opposite. Angular1 was obviously dead on it's feet, and I respect Angular2 for admitting that. If anything I wish they had gone further and cleaned up some of the other smells around the Angular ecosystem. My real problem with Angular is it's not great for either beginners or experts. There's so much boilerplate and Angular concepts a beginner needs to learn to use the framework well and for experienced developers that stuff tends to get in your way.