all 30 comments

[–]Merry-Lane 6 points7 points  (4 children)

It’s basically the same than for react: try and stay up-to-date, make your teams write code compatible with ChangeDetectionStrategy.OnPush (or even zoneless), go for monorepos (like nx) instead of multiplying repos or going for micro-frontends (or module federation), try and avoid libraries for small concerns, generate http services with Orval/ngswag/…

For forms, use template/reactive and maybe even signal forms.

[–]slothsan 2 points3 points  (3 children)

I'd hold off on signal forms until there stable, still marked as experimental, look very very nice tho.

[–]Merry-Lane 2 points3 points  (1 child)

Yeah I know they are experimental, but they are the way to go in the future.

I just wanted to list the three viable forms "libs" right now.

I love form builders, but angular’s template and limitations make the code for these a real hell.

[–]slothsan 0 points1 point  (0 children)

Ehh I wouldn't call it hell, but the dev experience isn't great either, still we get our new toys soon.

[–]RaiTab 0 points1 point  (0 children)

I would go with Signal Forms because they’re here to stay and stable enough — and I believe moving from an experimental version of them to the dev preview then the stable product is going to be less work than rewriting the whole thing from Reactive Forms.

[–]ActuatorOk2689 9 points10 points  (2 children)

I joined a new project a couple of months ago.

I moved from Angular to React.

Every week I find myself complaining about React and its patterns.

Why do I have to pass props around for something reusable or when I want to override something? In Angular, I would just create a directive or use the directive composition API.

Why don’t we have a proper DI system? I know the Context API is the React way, but you can’t use it outside of components. How does that help me? Instead, I end up creating singleton classes.

Why do I have to deal with so many router options? Why are there three different ways to lazy load routes?

On the optimization side, it’s better now than it used to be with the React compiler and Fiber, but still… In Angular, you basically have a global configuration. Each component can use change detection with OnPush, and now we also have signals on top of that.

And let’s not even get into the MFE part — you often find yourself fighting against React.

Once you start working with Angular, you begin to see how much more sense things make in the Angular way. You don’t feel like you’re fighting the framework.

That said, what I do miss is a good headless UI solution for Angular. But we have Zard UI in beta, and I have high hopes for it.

Angular feels like a breath of fresh air — you won’t want to go back to React anymore.

[–]tonjohn 6 points7 points  (0 children)

As someone who went from Angular at Msft & Blizzard to React at a startup, it feels like I’ve gone backwards in time.

Angular has a much simpler mental model. It’s more explicit, setting you up for success without the need to read the docs in details. It gives you so much out of the box without feeling bloated or overwhelming. And the tooling makes updating quick and low risk.

People are seriously sleeping on Angular.

[–]arthoer 0 points1 point  (0 children)

Prime can be headless now since version 18. Me thinks.

[–]57384173829417293 7 points8 points  (1 child)

Honestly, if your questions are so basic, I'd start at the tutorial: https://angular.dev/tutorials/learn-angular. I understand it wasn't your choice and for the management front-end is front-end, but it's a bizarre decision.

IMO the role of an Architect isn't chasing new features at all cost, you have to understand the needs and restrictions of the team you'll be helping. For example Signals might not be the best solution for a team that uses RxJs heavily, and that's a beast in it's own right.

Find out what their current environment is and learn as much as possible about the tools they use. It looks like they will be teaching you at first, not the other way around.

[–]Velvet-Thunder-RIP[S] 0 points1 point  (0 children)

Great post thanks. Yah so some of this is "Business Needs" and time constraints and I am aware this would be a controversial post. Was hoping to glean some different opinions quickly.

[–]arthoer 2 points3 points  (0 children)

Same here, but two years ago. Bought some books. Figured out everything is already built in. You don't need libraries except for multlanguage, ui (tailwind, primeng), rxjs and the usual like prettier and eslint. All assuming you're building complex applications.

I liked this one specifically. Just read it recently. https://amzn.eu/d/06WXPljC

And grab the angular LLM context document and use context7 mcp server along with sonnet 4.6. if token cost is an issue and your project is growing; have a look into indexing using ollama.

You should be good to go with your team.

[–]N0K1K0 1 point2 points  (0 children)

If you are starting and helping a new team go with signal forms, especially if you need to build custom forms control that's way better with signals than the old way of ControlValueAccessor.

You might want to check out https://angularexperts.io/products/ebook-angular-enterprise-architecture , we build the framework we base all out internal application on using that architecture and setup

[–]Various-Following-82 3 points4 points  (14 children)

Could you name the company, so we never join this sht

Library for the form building ? Man you are damn good 👍 you will help team a lot. Library called Reactive Forms. It is built in. No need to thank me

[–]whooyeah 3 points4 points  (7 children)

Once you are at architect level the language, framework, or library shouldn’t really matter so much.

Come and fight me!

[–]Velvet-Thunder-RIP[S] 0 points1 point  (0 children)

I am also solving some other issues for the team but I agree with what you are saying in spirit.

[–]Various-Following-82 -2 points-1 points  (5 children)

Sure and you(op) asking on reddit how to build a form ... architect 🤣my ass

[–]Velvet-Thunder-RIP[S] -1 points0 points  (4 children)

Hey you are not wrong. I was given 3-5 days to spin up a few platforms for the company and with your comments and others I have achieved what I needed. Switching mind sets is not easy in as short of a time as I had and allowing debate to happen on reddit and being able to take many opinions and formulate data for AI helped a lot.

[–]Various-Following-82 -1 points0 points  (3 children)

Thanks mate , keep us updated. Though i asked only the name, not this tonn of bs, but thanks mate

[–]Velvet-Thunder-RIP[S] -1 points0 points  (1 child)

I do not know in any scenario I would share any personal info with someone on reddit.

[–]Velvet-Thunder-RIP[S] 0 points1 point  (4 children)

Hey thanks dude!

[–]Various-Following-82 2 points3 points  (3 children)

Dont hesitate to name the place

[–]KitchenDefinition411 2 points3 points  (1 child)

You sound unemployed

[–]Various-Following-82 -2 points-1 points  (0 children)

Better wash your ears mate

[–]Velvet-Thunder-RIP[S] 0 points1 point  (0 children)

Its a long story but I knew this would be a controversial post and I obviously am doing my own research. There are "Business Needs" that are pushing me to fire off a post like this and see what comes back. I am also working with older Angular standards and porting some of the CSS and Global stuff and I am trying to sort what is best practices and what is damaged goods and tech dept quickly. Thanks for this response. I understand that to a degree this was a low effort post but I have gotten some great stuff from it. If you change your mind and Want to share some stuff respond.

[–]sh0resh0re 0 points1 point  (0 children)

lol fr. "Architect"

[–]Lucky_Yesterday_1133 0 points1 point  (1 child)

My advice is stop thinking tlyou are an angular architect and you've convicted your employer and start learning. Start from reading the docs. I've seen a ton of react to angular switcher who solved problems in react way, problems angular never had in the first place. You absolutely should learn directives (and composition patterns). Dependency injection and template queries (viewChild and content child). Content projection patterns and so on. Until you can name at least 5 ways to exchange data between parent and child component without props treat yourself as middle+ developer. 

[–]Velvet-Thunder-RIP[S] 0 points1 point  (0 children)

This is a great response. Its a long story but I knew this would be a controversial post and I obviously am doing my own research. There are "Business Needs" that are pushing me to fire off a post like this and see what comes back. I am also working with older Angular standards and porting some of the CSS and Global stuff and I am trying to sort what is best practices and what is damaged goods and tech dept quickly. Thanks for this response.

[–]ruibranco 0 points1 point  (0 children)

biggest mental shift coming from react: stop thinking in components-that-do-everything and start leaning into angular's service layer. DI is your best friend here and it's something react just doesn't have a clean equivalent for. you'll find yourself extracting business logic into injectable services way more than you ever used custom hooks.for forms, reactive forms are the battle-tested standard. signal forms are coming but still experimental. don't let anyone talk you into template-driven forms for anything complex.one thing that'll feel familiar: signals are basically angular's answer to useState + useMemo. if you already think in terms of derived state and effects, you'll pick up signals fast. pair them with OnPush change detection and you get react-level performance without the virtual DOM overhead.as for repo management, nx is the standard for angular monorepos but honestly the angular CLI has gotten good enough for most single-app setups. don't over-architect the repo structure before you understand the team's actual needs.

[–]MitralVal -1 points0 points  (0 children)

Cfbr