- Blog
#Data&AI #Development #Digital service design #Learning #Zure
EU AI Act timer is ticking, are you prepared?
- 17/09/2024
Reading time 9 minutes
So, one day, I decided to change companies. I used to work with Angular, and the company I went to was a React haven. No biggie, it’s all just syntax and stuff, can’t be that complicated. So, I cracked open a bottle of TSX, yelled yarrr to attract the hooks and dove in.
Turns out, I was mostly right. Experience in frontend development, translates across frameworks. Learning syntax and conceptual differences of course takes some time and effort, but the habits, good or bad, you have, will follow you.
To start with the conclusion: I think after working with React for +- 6 months, I still prefer Angular (big up Reactive Forms). Obviously, this is subjective and depends on experience, the team, timing, and so on.
It’s like many of these classic debates:
Dammit, I can only think of food related stuff. But the point is, it’s not a matter of what or who is right, but whether one or the other is less wrong for you. Angular isn’t perfect; if it were, there’d be no competition.
A big, and maybe the biggest, difference between Angular and React is that the first is an actual full-fledged framework, with stuff like Dependency Injection, RESTful API modularization, AJAX, two-way binding, and many more, included. This of course means it’s opinionated – which is not necessarily a bad thing. Consequently, Angular documentation is very detailed and centralized, since a lot of stuff is part of the Angular framework and the need for external libraries is significantly smaller (but you can still use ’em if you really want to).
React, on the other hand, is much more lightweight as it is itself a JavaScript library and easier to step into. A big plus, IMO, is that it treats views/components as functions, which makes testing easier.
I see some benefits in having JSX, TSX, HTML, Latin, ancient Greek, rosetta stone codewords, chemical substance coding, etc. but for the most part, I think the component files get unnecessary big/bloated. The danger of not doing this lies in creating a big old bowl of files.
Also, while this is not inherently React-specific, a lot of applications use styling in code like this:
<div className={classes.somethingy} >
To me, that’s abstracting away a readable and understandable separation between code (HTML) and styling (CSS, SASS, LESS, etc.).
I think some of the things in React are very prone to overuse, like using hooks for everything, but that’s a problem in all frameworks. I’ve seen Angular applications where the state (NGXS or something similar) was orchestrating the entire app, which was an absolute blast to debug.
At first, I thought about listing more pros and cons, but Reddit already has enough of those discussions. No need to add another.
Instead, I started thinking about how much our technology choices are based on chance. When I changed my career path to development, I ended up in a Microsoft team. So naturally I started developing in .NET. When a project required extra resources for their Angular development, I started developing in Angular.
The first year, when asked what direction I wanted to go in, back- or frontend, I almost spat out “BACKEND of course!”. Three years later, I steered towards almost exclusively front-end development.
That being said, some people I know program only in Java. When I ask why, they say it’s better. When I ask why it’s better, they slap me for being this irritating and tell me it’s more this and better in that but then conclude that they are not really sure – and then slap me again for making them question their existence.
There are of course some clear indicators of what defines a “good” framework/library like community-size, update ratio, support, documentation, learning curve, performance… But given those factors, there are still a lot of viable options.
Which one you choose depends mostly on the people you work with or the content you consume.
Right now, I mostly work with a .NET/React/Azure stack (at Zure). Is that good or bad? Doesn’t really matter. What matters is what you get out of your stack — not what’s in it.
Our newsletters contain stuff our crew is interested in: the articles we read, Azure news, Zure job opportunities, and so forth.
Please let us know what kind of content you are most interested about. Thank you!