Our great sponsors
-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
The 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. Rx.JS 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-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/
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: https://worldmaker.net/angular-pharkas/