5 ms·
Starting with front end: angular or react? Seems like a good time to make a decision.
by hellojesus 4y ago
Starting with front end: angular or react? Seems like a good time to make a decision.
- mhoad 4y agoAngular comes with the advantage of you can learn “the angular way” and it will always be applicable. With React every time you pick up a new project you don’t know what you’re going to get. I also have some serious doubts about the long term viability of React for what it’s worth. They made some choices early on in the project about how they decided to integrate with the wider web platform that made a lot of sense at the time but are now big liabilities that they can’t get rid of. Like I wouldn’t consider starting a new project with React in 2022 if I wanted it to still be around for more than 5 years.
- azemetre 4y agoCould you expand upon what you mean by liabilities? Are you referring to the ecosystem or something like hooks?
- hellojesus 4y agoThanks!
- WorldMaker 4y agoMy opinion is that Angular is the worst of all the current frontend stacks. It's acceptably bad to a lot of people because "no one ever went wrong using something from Google", but it's just bad, especially for something associated with Google. It's "a horse designed by a committee of people with huge egos" that doesn't do anything it sets out to do well and has a ton of "best practices" and "defaults" that lead directly to "pits of failure" rather than anything resembling success. I've blogged more detailed technical analysis about that if you are interested. React tries not to be awful and generally seems to have a good idea of the direction it is going. It's not perfect, no tech stack is ever perfect, but as an "expert" at this point on both stacks, I'd wholeheartedly recommend React over Angular.
- jeremycarter 4y agoThis is purely anecdotal. Have you used both professionally in a large team?
- WorldMaker 4y agoI have worked with both professionally in team environments. I have got into technical discussions to back up my anecdotes. As I've mentioned I've blogged them before. I've even at this point built open source libraries to work around Angular technical flaws.
- hellojesus 4y agoWhat are the biggest flaws you see with it? Also feel free to link the blog if that covers this. Thanks!
- WorldMaker 4y agoThe biggest flaw that I think most other flaws derive from is making the huge dependency on RxJS, but then not trusting it and building in escape hatches that end up making "Angular Best Practices" wind up becoming "RxJS Worst Practices" and performance suffers accordingly. I noticed that even the Roadmap now mentions that they are finally re-evaluating the play between RxJS, Angular Change Detection and Zone.js. RxJS is "push" oriented so why do you need two complex "pull" oriented systems around it? (In my opinion: Zone.js and Angular Change Detection are these extremely baroque, over-complicated systems that aren't necessary at all if Angular actually trusted RxJS to "push" changes. Or they could skip the huge RxJS dependency and go all in on "pull" like Vue/Svelte. What they have today is a worst of all worlds compromise that benefits no one.) Blog post is here: https://github.com/WorldMaker/blog.worldmaker.net/blob/gh-pages/_posts/2021-06-26-angular.md https://github.com/WorldMaker/blog.worldmaker.net/blob/gh-pa... Or you can read it on my actual blog site but it scrolls horizontally when the browser is wider than tall and that got a lot of hate the last time my blog was on HN that distracted from the contents: http://blog.worldmaker.net/2021/06/26/angular/ http://blog.worldmaker.net/2021/06/26/angular/ While we are at it, here's the Component Framework I built out of what felt like necessity to try to make following RxJS best practices easier in building Angular Components (and make it easier to switch components to ChangeDetectionStrategy.OnPush and apps towards being able to set Zone.js to "noop"), which I built out of some struggles doing performance optimization work in Angular and some patterns I was already following in Component building: Documentation site: https://worldmaker.net/angular-pharkas/ https://worldmaker.net/angular-pharkas/ NPM package README: https://www.npmjs.com/package/angular-pharkas https://www.npmjs.com/package/angular-pharkas