I am sure that many developers that work with Angular ask themselves -
Should I use Angular for my next project?
Do I want a full trunk framework or should I use one of the newer libraries?
Will Angular be fit for future changes that my app will require?
So I ask myself… Should I use Angular 5?
If you have been writing web applications in the past few years, you must have heard about Angular.
It’s one of the most popular front end frameworks for creating single page applications. I remember getting to know it a few years ago. back then, I thought there was a strong hype around single page applications, today in my opinion it is the standard to writing modern web applications.
From the Angular website:
“Angular is a platform that makes it easy to build applications with the web. Angular combines declarative templates, dependency injection, end to end tooling, and integrated best practices to solve development challenges. Angular empowers developers to build applications that live on the web, mobile, or the desktop”
Which Version Is It Again?
First things first - it’s not angularjs anymore, why be so formal? it’s just angular. I like it.
Well now it’s version 5, before it was 4 and before it was 2.. Confused? So was I. There are a bunch of articles about it, here is one, and another. Basically, the reason is that they moved to semantic versions, and there was some technical issues with the versioning tool and… it’s actually not that interesting. The important thing to know is that major versions could break your code. for example: if you are using angular 4.1.1 you can safely upgrade to 4.2.0 or to 4.1.9 , but upgrading to 5.x.x can break your code.
Type-what? Oh… TypeScript…
In my opinion, compilation is not very necessary. call me old fashioned but writing a script language that compiles into another script doesn’t make too much sense. I also don’t like TypeScript “forcing” me to do stuff I don’t want.
Cross browser compatibility is a real plus.
Not performance, speed. Definitely one of the most important things to consider when choosing a framework. Of course check that it suits your needs first, but I guess most of the big ones do.
I think that the angular-cli is just great. it generates whatever you need, it has a web server that reloads your page (which is always nice) and it has environments. Saves you time and gets you up and running in no time. Awesome.
Angular templating system feels to me more convenient to back end developers. Sure it’s framework specific, so you probably have to work closely with the documentation, but it’s kind of like the templates we all know from twig, or django, or whatever server side template languages out there. The whole component approach offers modularity that’s hard to give up.
So in conclusion, whatever is more convenient works. no strong opinion here.
Coding UI properly is hard, it has to be convenient for the user and it has to look good. Most importantly, it must make your app’s data approachable to the user. Angular solves this with two way data binding, which makes life a lot easier. you don’t have to write code to update your UI elements, it happens automatically. In my opinion - a huge plus.
Is Angular really bloated? I guess all that functionality comes with a heavy price, I am not sure I always want to pay it.
My answer is not a conclusive yes or no.
I can’t give up development speed just yet, so in some cases I would still go with Angular. It definitely gets the job done.
I do think it’s time for something new, time to evolve and adopt new approaches.
The truth is - I used to love Angular, but that love is now mostly gone… so for my next project I’ll prefer to use something else. I can’t tell you it’s a technical decision, you might see me use Angular on my next post, but sometimes you have to go with your gut.
Thank you for reading.