4 ms·
Another problem I've seen is that the default data binding being taught to new comers is slow. At least slow enough for a team I was on to later have switched t
by jansommer 4y ago
Another problem I've seen is that the default data binding being taught to new comers is slow. At least slow enough for a team I was on to later have switched to an approach (called OnPush) where you must manually tell the UI when to update with calls to detectChanges() all over the place. The way to avoid that is to fully embrace Reactice Extensions, but that seems to be very hard to grasp for a lot of developers that instead work around the library in all sorts of quirky ways (subscription()'s everywhere, that you must remember to dispose, that calls detectChanges()....).
Edit: Found this old GitHub issue I stumpled upon when looking up why this performance improvement wasn't the default.. I think these comments are interesting:
> Both OnPush and zone coalescing would, however, change the default semantics of building Angular apps. This is outside the scope of the feature.
> We did discuss this a couple of months ago and felt that we shouldn’t since it would complicate things for new user which are not familiar with change detection.
https://github.com/angular/angular-cli/issues/21278 https://github.com/angular/angular-cli/issues/21278
- hdhrufjdi 4y agoYou are probably talking about rxjs, possible even ngrx. I have become to love it. However, it should be way simpler now with the upcoming Angular version that's supporting signals now.
- jansommer 4y agoYes, the rx in rxjs means Reactive Extensions. I think it's perfect for UI dev, but the steep learning curve excludes a lot of developers. Signals look identical to React hooks.