4 ms·
Angular is as little innovative for web frameworks as Firefox-ESR is for browsers. It merely keeps copying features from other frameworks - just many years late
by phil294 3y ago
Angular is as little innovative for web frameworks as Firefox-ESR is for browsers. It merely keeps copying features from other frameworks - just many years later. It is a chronically outdated framework that always struggles to keep up with its competitors. It would be ok if those were deliberate design decisions, but if the features get copied some day anyway, what is the point? Why not do it the right way from the start?
For example, this update brings us computed properties, an essential feature for any complex performant web application that was made popular by Vue.js 10 years ago [1]. And now in 2023 we get it in Angular, essentially a confirmation by its devs that its lack had always been a design error.
I also cannot understand the "mature" argument. For example, it took five years for documentation on the integral `<ng-content>` to arrive [2]. This is something I'd expect from the side project of a lone programmer, not an enterprise-level framework.
The only upsides of Angular are its "batteries included" approach and the (debatable) default of RXJS, while the downsides are plenty (see other comments).
[1] https://github.com/vuejs/vue/tree/218557cdec830a629252f4a9e2643973dc1f1d2d https://github.com/vuejs/vue/tree/218557cdec830a629252f4a9e2...
[2] https://github.com/angular/angular/issues/17983 https://github.com/angular/angular/issues/17983
- neamar 3y agoKnockout.js, released in 2010, introduced computed properties to the web (slightly before Vue I think)
- politelemon 3y agoNot quite, its webcomponent implementation is ahead of React's, which is still pretty poor. Its PWA integration has been among the simplest and most seamless I've seen. It's easy to cherry pick examples either way.
- spyke112 3y agoComputed properties has always been a possibility in Angular, you'd just create a getter[0] based on multiple different values, works like a charm. This new way is probably faster, but I've honestly never had any issues with the other approach. [0] https://www.typescripttutorial.net/typescript-tutorial/typescript-getters-setters/ https://www.typescripttutorial.net/typescript-tutorial/types...
- Timon3 3y agoWill the getter result be cached? If not, it's not a computed property.
- nitrammm 3y agoAccording to what definition?
- geysersam 3y agoIsn't that just semantics? Whatever name you give the feature "lazily computed and cached values in the context of web frameworks", previously Angular didn't have them (built in) and now they do.
- NoNameProvided 3y agoAngular did have it, it is called RxJS.
- Timon3 3y agoAccording to the "definition" on the Vue documentation page for computed properties: https://vuejs.org/guide/essentials/computed.html#computed-caching-vs-methods https://vuejs.org/guide/essentials/computed.html#computed-ca...
- nitrammm 3y agoThat describe what a computed properly is in the context of Vue.
- Timon3 3y agoAre you aware what comment tree you are in? This whole thing started because GP wrote this: > For example, this update brings us computed properties, an essential feature for any complex performant web application that was made popular by Vue.js 10 years ago [1]. So obviously the relevant definition is "what the feature does in Vue". What is your issue here?
- Alex3917 3y ago> The only upsides of Angular are its "batteries included" approach This basically trumps everything else though. Angular is likely going to have by far the lowest TCO for any projects with a 10+ year lifespan. Like, sure, you need to watch 20 hours of Udemy videos to understand how to build an app, but that two weeks of work upfront is going to save you millions of dollars and multiple years of stress eating coffee pastries every morning.
- tcfhgj 3y agoWhat's the point? If you copy after there is some proof that the features work in practice, you are less likely to implement something that's going to make everything worse instead of better. Frameworks are experimenting with thousands of new features which might improve something, but this doesn't mean that they do in the end. People rely on Angular, this makes it important that everything is thought through. I don't want to become proof of concept tester for new features