I wrote a post 8 months ago titled It’s OK to Still Use Angular 1 in 2017. There are still a lot of companies using Angular 1 in legacy products and it is OK. That being said, some of the arguments that I made in my last post no longer seem valid. I wanted to set the record straight and encourage Angular 1 users to begin planning to transition to a newer tech.
1. Angular 1 ecosystem is NOT in a good shape
In my earlier post I argued that Angular 1 has a mature ecosystem. As somebody who uses Angular 1 in my daily job, I no-longer feel like this statement is true. It is now very common for me to find that a library that we are using is either poorly maintained or no longer maintained at all.
Most libraries that ARE still being maintained are trying to support 2 version: Angular 1 and Angular 2+. I am not sure what this means for Angular 2+, but for Angular 1 it means a lot of bugs, slow response time and lack of focus.
I can’t blame the maintainers. If I was working on something for free, I would not want to work on the old tech. Anyone wants to maintain a COBOL open source library?
2. Angular 1 is going away
Angular 1 is still around and kicking. Google has not pulled the plug on it, but I almost wish they did. I predicted back in June that if Google were to stop their support, somebody would fork Angular 1 and continue to maintain it as an independent framework. Instead, Angular 1 is stuck in a zombie mode, where it’s neither alive nor dead.
I don’t know how long it will take for Angular 1 to go away, but it does not look nearly as healthy as it did 8 months ago.
3. It’s hard to hire Angular 1 talent
Two years ago when I was looking for my next job, I was surprised to see how much market penetration React had. I had a list of top companies that I wanted to apply for (Netflix, Facebook, Khan Academy, Slack etc.) and all I kept seeing was React, React, React.
While React has a few up and coming competitors these days, Angular 1 is definitely not one of them. Developers know the trends and nobody wants to work on the old tech.
Plan on moving to something else
I could keep going, but I think I’ve said enough. Angular 1 is not in a good shape and it will take a miracle to bring it back. Perhaps a fork by another large company that wants to invest in Angular 1? Seems unlikely.
I think it is wise for companies that are still using Angular 1 to get the ball rolling on other frameworks. Both React (who fixed their licensing issue since the last post) and Vue.js seem like mature alternatives, but there is no shortage of choices 🙂 .
In any case, as Nic F pointed out in his great comment on my original post:
It’s all just technical debt, and there are just two groups of people. Those who have paid their debt and use something else, and those who keep growing the debt by using AngularJS.
I think the real problem is that the vast majority of developers today are developers of apps that in 2 years are simply trash and that by having 4 years of experience are believed to be expert level, even with less, and come to angular as an old framework, when in reality design patterns do not die, just the goal of a design manager is to stay for millennia if it is the right one for your problem. I work in a company in which true business applications are made in which no solution in the last 23 years, which is the 23 years of the company’s life, has died, all are still active, what I have learned from this is that it is It’s very different to make solutions like the ones that some kids want to do for mobile phones that in 6 months do not work or those that do applications for external clients, that is not their problem if in 6 months it does not work, in fact, if it does not work even better, they pay to be rewritten, I think that many of those who comment that a framework is dead do not understand what the word “framework” means and confuse it with the “toolkit” that it brings to engage novice or inexperienced developers, I think that those who do not understand that a medium business solution lasts 2 years since it was built up until it has the right functionality and in that time they stopped 4 or 5 versions of angular, in fact almost all versions Angles until now do not know a little of what he is talking about, especially those who use the “framework” to do anything and the way the company says because it is “good practice”.
I arrived very late to the Angular 1.x ballgame. But I got into the Angular 2.x game while in Alpha, and have since never looked back.
I read about how many folks think Angular 2.x is sooo “complex” and I think…really? It is superior in every way to Anguar 1.x. Typescript is a dream to work with. Great toolchain (angular-cli), lots of third-party plugins, Angular Material, easy to use state management (I use Ngxs, but there are others in the Redux flavor), regular non-breaking updates. and much more. Yes, you’re gonna have to take some time to learn a some new things…but if that is too difficult for you, then you’re in the wrong business friend.
after I read a lot on react and try using it. it steal feel like a Bad Decision.
I really hope that someone will take Angular 1 and renew it with all new technologies of ec6.
Someone told me that this is exactly what Vue are doing
I am using it with create React app and React router, but without Redux for a small project for work and it’s actually very nice and feels mature at this point.
That being said, if you are looking for something more Angular 1, Vue is probably the way to go and has some nice things too.
Finally, Angular 2 might be worth a look as well, although I haven’t personally made the investment to learn it yet.
I was an ng 1 dev and bought into the whole, angular 2+ has a steep learning curve. I was comfortable and did not want to learn it in anyway. However, a client requested a prototype, built in modern angular. I started with Angular 4. It took me about 3 days to get comfortable in writing code in Angular and about 2 weeks to get the prototype working. I can honestly say, after working in Angular 4, I would never want to go back to the hacky world of Angular 1. Seriously, take the plunge and you will see what I mean. Modern Angular, with it’s reactive programming is amazing. If anything, I almost prefer it over React. React works way better in terms of partial updates on a UI, however, Angular, its all there, and so easy to code. Especially for a server side dev, used to working in Java or C# or..whatever. I will leave with this parting comment. Please, give modern angular, with the angular-cli, a try. I use Visual Studio code and it works really well.
Just because something doesn’t receive active updates or still has large mindshare with conference sycophants that think a stupid name -preferrably ending in an ly….there was one ‘preferrab.ly’ yw-and open src contributions are what’s required for software to be ‘professional grade’ doesn’t mean it is dead. AngularJS is now in a spot where companies would actually be decently reasonable to consider it if the size of their SPA is sensible. React is a fine library,but I don’t care at all about which approach is more academically pure or what the name of the project backers are -except MS.If they make it,chances are it’s good unless that something is IE…they took way too long to pull it’s plug. I care about the TCO of my project and interfaces are throwaways anyway. Build on a solid foundation then if project sponsors want to throw some shiny into the mix,go play.But I’m not going to pay for ‘peak of hype’ tech. AngularJS 1.6 is as perfectly fine to build on today as it was 8 months ago.
Please read my comment stated above (visit the site if you get this in an email 🙂 ) But no, Angular 1.x is not fine. It’s ok, it does the job, but keep in mind, there is a reason Google bit the bullet so to speak and rewrote it. Seriously, give it a try. I truly believe you will be surprised. Before taking the plunge, I would have agreed with you 100%. You’re a dev, a big part of our job is to learn new things. Try Modern angular out, with the cli. And let me know your thoughts after. I would really love to hear what you think about it, compared to ng1.x.
Interesting read! Thank you!