4 ms·
> As someone who just decided to learn React (and modern javascript, after 1.5 decades or so of not programming in javascript at all) in the past month or two,
by EMM_386 4y ago
> As someone who just decided to learn React (and modern javascript, after 1.5 decades or so of not programming in javascript at all) in the past month or two, I've been extremely frustrated by the documentation (in particular) and the whole state of flux that it's in (in general).
As someone who was in a similar boat (2 decades of .Net essentially, with a lot of HTML/JS but no frameworks), I found jumping into Angular very nice in this regard.
New versions every 6 months but not with "changing things for the sake of change", actual small but incremental improvements. The documentation I've found to be great, and since it is "opinionated" it easy to jump between multiple projects and not feel completely lost.
It seems a lot of flak that Angular gets is because it is "opionated" but I look at this as a major positive.
I've jumped between React projects and have been bewildered at how different they all are.
The whole framework vs. library thing.
- zdragnar 4y agoThe problem with Angular (back when I used it, around versions 4-6) was that it had a ton of opinions, and they were half baked. Angular had its own plugin for driving flex layouts, and roughly 90% of the bugs we had were related to one of those plugins.
- jansommer 4y agoAnother 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.
- EMM_386 4y agoRegarding the flex layout thing, they decided to deprecate it. https://2022.ng-conf.org/a-new-layout-ahead https://2022.ng-conf.org/a-new-layout-ahead More recent versions (I'm currently on 15) don't seem to have these issues, as least from my working with them. I started an enterprise product on version 13, the upgrade path to 15 has been smooth and so far, so good.