Why we picked Angular
Our latest client requested a SaaS-Platform with real time capabilities. So we sat down, put on our thinking-galoshes in order to decide what framework would be a suitable candidate in accordance to our clients MVP-Specs. Had I wanted to demonstrate an example of how to evoke dismayed silence, I could not have done better as I did when I pronounced my framework of choice: Angular. Yes, you heard me, Angular. Stunned silence. Then came the questions. "Have you drunk your coffee already?", "This is not really a good time for sarcasm, Kenan!" When I told them, I am as serious as a zombie is, well dead, their consternation reached the apex. "But why?", "Have you cracked your last marble? How many fingers do I hold up?" Suffice to say reactions ranged from a little to totally baffled. Their reaction is understandable in a way. I have had good experience working with ReactJS from my previous start-up. Moving from ReactJS to AngularJS must have looked like an unwise decision. ReactJS is well-known for its flexibility and high responsiveness. As for Angular it tends to be somewhat the opposite:
- First there's Typescript, learning Typescript is like memorizing an eighteenth-century etiquette-codex, in short,it's a pain in the rear sub-navel-territory.
- As the syntax is verbose, using Angular instead of ReactJS is like being forced to write Latin instead of writing in plain English.
- The frequent and heavy use of boilerplate code is inevitable, making Angular a bit bulky.
- Angular has an opinion of how a developer should approach and proceed -emphasis is one opinion, disagreeing can bring new experiences in terms of frustration. Even updating to a newer version can spark issues.
- And last but not least: We have 2019 AD. Since Angular's debut, a bunch of smoother and more flexible frameworks (like ReactJS) have sprouted in the front-end garden. So, unless you are a dinosaur what logic is there using Angular?
In face of these objections you might muse, why I still want to pick it. Now don't get me wrong, it's not because I have a mutual soulmate-level with Angular regarding opinions. To a front-end engineer just one-and-only is rather seldom as each framework has its unique set of benefits and drawbacks. The statements of my front end peers are all valid. Well, most of them save for the dinosaur. No, not because I feel indignant about the implied age. I just cannot (and do not feel like I have to) catch up with every framework popping up in the virtual landscape.
But back to Angular. Despite the (Cassandra)chorusof my front end peers my choice rests on sound reasons. Let's start again with Typescript.
- Angular and Typescript are working together like perfect cogwheels. For all the efforts learning Typescript demands, by the day it comes to debugging the time you save will make it worth the while.
- Angular is opinionated. Yes, it being opinionated can be a plus. The strict way of defining components paired with no-meddling mechanisms to handle services can be achieved with other frameworks too. But here we are,every other framework is as liberal as Angular is strict. In itself this is not the problem, just that this means the developers get to pick their desired styles. If you ever wondered what Game of Thrones looks like in our era, watch developers trying to reach a consensus on style.
- For teams whose growth is not completed in the foreseeable future Angular will make a fine choice since it scales neatly with every increase. Among those using Angular are PayPal, YouTube, Crunchbase and Telegram.
- By default, Angular has a very developer-friendly change detection. This quite advanced still simple to start change detection mechanism, though at times not too performance-friendly, gives you a good deal of possibilities for prototyping and later on fine-tuning.
- Oldie but still goodie: While not the latest and hottest framework, Angular still sports the best Material UI support and Firebase integration. Guess who is also maintaining Angular, Material and Firebase among those listed above? Yep, it's Uncle Google. Smoke the other frameworks y'all.
To say it in the legendary Editha Piaf's lyrics: Non, je ne regrette rien. I would do it again. Anytime. Well, assumed the given conditions are similar of course, meaning whenever a SaaS-MVP-Solution is required. Other than that, I have no reason (yet)to consider a career as zealot.