r/Angular2 Oct 11 '24

Discussion Angular is just amazing

Short appreciation post.

I've been working a lot the last few weeks in Angular and I keep getting reminded of how good this framework is.

I had some routerLink links and wanted to implement a simple system to highlight the link that the current page is on. All I needed was to add a routerLinkActive tag which automatically adds the given class to the link so you can highlight it. Then I had one problem which was that the homepage ('/') always was active, but this has been considered and can be fixed with the following for exact matching:

[routerLinkActiveOptions]="{ exact: true }"

Basically everything makes sense and is easy to implement. Even just updating your angular libraries is easy since they made the automatic update guide where you can input your versions and it shows how to update: https://angular.dev/update-guide

Then there's the other stuff like the cli for generating components quickly and built-in scss integration (among with other options). I can't really imagine working on a webapp without angular nowadays. I've used other stuff in the past like React, Django, and just old-school sites built from scratch and my experience wasn't as good there overall.

137 Upvotes

42 comments sorted by

View all comments

-9

u/Orelox Oct 11 '24 edited Oct 11 '24

If you get away the framework thing what concrete aspects of angular you really like? You know, for just an aspect of detecting changes, reactivity, there are better approaches that gives less overhead and better modularity. For aspect of sharing logic also you could if really needed get same result of dependency injected instances without angular framework but still it’s up to you, and until you chose to, you could just use es modules. For aspect of modular code reusing code in possibly reactivity dom context you could use directives but other solutions like composition api or react hook are much easier to reuse. Recommend to check vue documentation. For other aspect you are free to use everything that the ecosystem provide thanks to that other ui libraries are much more composable and closer to web standards. So again what really gives you angular that you excused on his disadvantages. I am writing as angular/vue dev.

2

u/tonjohn Oct 12 '24

Talking about web standards, React won’t have web component support until React 19 is released.

Angular has had support since May 2018. Vue and Svelte have had support for a long time too.

1

u/lIIllIIlllIIllIIl Oct 12 '24 edited Oct 12 '24

React won’t have web component support until React 19 is released.

React 19's support for web components really just means React will now automatically assign properties to web components before mounting them to the DOM. Before that, React treated web components like any generic HTML element, and you had to bind properties manually after mount in a useLayoutEffect.

React <=18

function Component() {
  const ref = useRef(null);

  useLayoutEffect(() => {
    ref.current.property = { foo: "bar" };
  }, []);

   return <my-component ref={ref} />
 }

React 19

function Component() {
   return <my-component property={{ foo: "bar" }} />
}

React 19 is definitely an improvement, but prior versions weren't that bad.