top | item 29919689

AngularJS support is ending, and developers can migrate to Angular

68 points| tosh | 4 years ago |twitter.com | reply

52 comments

order
[+] impostervt|4 years ago|reply
As an ex-AngularJS developer, who worked on porting a LARGE app to Angular - if you're in that boat, look into just rewriting in Vue. It's similar to AngularJS (more so than Angular) but with some extra niceties.
[+] bob1029|4 years ago|reply
I used to do angular - went for a ride on the first ~3 versions of their rollercoaster. For me, Angular was a fantastic set of training wheels but I eventually hungered for more direct control over my circumstances. Moved to RiotJS for a few years, but then it got a little bit complicated/weird from our perspective.

These days, I just do vanilla JS/HTML/CSS. In some cases we serve our pages using server-side rendering techniques via Blazor, so there is no tricky state synchronization game to play over the wire. But, Blazor is mostly just doing what PHP used to do for us. We aren't diving into their component/binding ecosystem any further than we need to.

Biggest advantage with a vanilla stack is that you will never get trapped on an old version of one of these things and be forced to "migrate" (i.e. "rewrite") your application each time. Vanilla also means you don't have to submit yourself to any arbitrary package manager, build toolchain, et. al. Your entire product can fit inside 1 html document that just instantly works in any browser.

[+] tdekoekkoek|4 years ago|reply
I worked on AngularJS and moved to Angular ever since 2+. It is a great platform and actually similar to Vue in some respects. No reason to abandon Angular although Vue and others are also good.
[+] paaaaaaaaaa|4 years ago|reply
We were very close to doing the same but then we discovered Svelte. Svelte has been a dream to work with so far.
[+] pram|4 years ago|reply
When the deprecation was originally announced I basically just decided to sever from Angular all together. The "migration" practically involved rewriting pretty much everything anyway. The new thing is surely technically superior, but it just left me very bitter. I learned my lesson!
[+] Alex3917|4 years ago|reply
> The "migration" practically involved rewriting pretty much everything anyway.

I used the 10-step process outlined here and it was pretty straightforward: https://codecraft.tv/courses/angularjs-migration/overview/in...

There were definitely methods in the components that needed to be moved into services, but there wasn't really much rewriting per se.

FWIW the first five steps, in terms of upgrading the AngularJS app so that it used isolated components instead of nested scopes, was more time consuming than actually porting the modernized AngularJS app to Angular.

[+] arnvald|4 years ago|reply
Same experience here. Despite tools provided by the Angular team, the migration was really, really painful. I spent a significant amount of time moving a large AngularJS app to Angular, and despite all the effort we were still far from completing it when I left the company.

These days I use Vue or React instead.

[+] bradleyjg|4 years ago|reply
You should have talked to an old GWT dev before starting down the road of using a Google maintained framework.
[+] ldiracdelta|4 years ago|reply
This is why I never even considered flutter development. Who knows when the platform will just die on the vine.
[+] JamesSwift|4 years ago|reply
Ive migrated several apps to angular 2 and assuming you got to angular 1.6 (or even just 1.4 with components) first, the rewrite is no big deal unless you heavily leverage specific things (root scope, some directive stuff, some template cache stuff). Especially with ngUpgrade available, I never found it terribly hard, though it did take time.
[+] tdekoekkoek|4 years ago|reply
why would you be bitter since they just improved the platform. It wasn't hard to learn the migration and AngularJS needed to be let go. Angular is every bit as good as other alternatives.
[+] NicoJuicy|4 years ago|reply
AngularJS is a different framework. They are not the same and i think that was very clear from the start.

( I've written webapps in both AngularJS and Angular)

[+] davide_v|4 years ago|reply
Totally correct to discontinue the old AngularJS imho. Google, years ago, made one of the best choice adopting TypeScript for its new framework, Angular. I used to code in both AngularJS and Angular, and the improvement between the two is huge, thanks also to TypeScript. I'm a big Angular fan, even if I tried React, I highly prefer Angular for being more strict, complete and imho more suited for very big projects.
[+] EMM_386|4 years ago|reply
> I'm a big Angular fan, even if I tried React, I highly prefer Angular for being more strict, complete and imho more suited for very big projects.

I agree, I just moved us to Angular 13 and I love every second of it.

I've worked on React projects but will take Angular any day of the week.

[+] hnbad|4 years ago|reply
Can you clarify what you mean by "more strict"? I've been using React since before Redux existed and while these days I don't think there is any need for a state library anymore I of course agree that Angular is more complete as one of the first decisions you make when starting a React project is which routing library to use (e.g. react-router or reach-router, or if you want an integrated solution, remix or next) and what to do about network requests (e.g. react-query or one of the many GraphQL libraries).

I also think it's worth pointing out that people have very different understandings of what "very big projects" are. I think you mean projects with many different people working on it, in which case I agree, but often people misinterpret these statements thinking that their 1-5 person team working on a web app is a "very big project" because they have a million users.

[+] px43|4 years ago|reply
AngularJS seemed to be the last well supported fronted library that let me just write JavaScript, and not need to pull in the entire node ecosystem just for making a simple website.

It's insane to me that websites need to be compiled these days. My websites mostly consist of an index.html and a code.js, and then unzipping whatever goofy template into the js, css, images folders etc. I feel like requiring a fluent understanding of the entire node ecosystem build even the simplest websites is a big enough hurdle that a lot of enthusiastic new people are just going to give up and do something else.

[+] hericium|4 years ago|reply
"Clarification: AngularJS and Angular are different frameworks. The announcement for end of life is for AngularJS that Google released in 2010.

Angular is in active development and growing. Exciting big changes coming in 2022!"

[+] Karellen|4 years ago|reply
> Originally, the rewrite of AngularJS was called "Angular 2", but this led to confusion among developers. To clarify, the Team announced that separate terms should be used for each framework with "AngularJS" referring to the 1.X versions and "Angular" without the "JS" referring to versions 2 and up.

-- https://en.wikipedia.org/wiki/Angular_(web_framework)#Naming

Well, nice try I guess. Still, they do say that "Naming things" is one of the two hard problems in computer science.

[+] trixie_|4 years ago|reply
As if anyone stuck on AngularJS has been upgrading or needing support to begin with. Simply updating from 1.2 to 1.5 breaks most apps.
[+] dorsdag|4 years ago|reply
Our company saw the writing on the wall several years ago and completely ditched AngularJs and moved to React. It was wildly successful - after the whole project was rewritten there was dramatically less code, even though we added tests and new features along the way.

https://www.singlewire.com/blog/development/react-migration

Just doing it piece-by-piece was a really good strategy, instead of a stop-the-world rewrite.

[+] jokoon|4 years ago|reply
I was asked to use angular in a java job.

I was going crazy with all the files you need to have for a small project.

It's like all the horrible sides of OOP and abstraction, but on steroids.

[+] commandlinefan|4 years ago|reply
I have the same problem with Angular that I have with Spring - nobody can actually articulate what problem these frameworks are trying to solve (other than the problem of there not being a framework?). They both feel like tons of overhead with zero actual functionality.
[+] kitkat_new|4 years ago|reply
I don't think Angular targets small projects, but enterprise projects.

> It's like all the horrible sides of OOP and abstraction, but on steroids.

Can you go more into detail?

[+] awesomepeter|4 years ago|reply
I feel you. I have worked on an Angular project for over a year and was miserable working with it (and I _really_ tried to like it).

At first glance it seems "complete", but once you start building there's just so many insane edge cases that don't work well or have bugs. I also think that "integrating" RxJS was a mistake, while I get it and it's nice, it's imho too low level of an abstraction if you have many people that don't necessarily want to learn all the details (easy to shoot yourself in the foot with it), too different from anything else in JS, and too poorly integrated into angular.

And also the verbosity of everything.. was too much for me.

[+] aluminum96|4 years ago|reply
For those who don't know, it's possible (and encouraged) to migrate your app gradually as a hybrid application. You don't have to do it all at once up front.
[+] SlowAndCalm|4 years ago|reply
It's strange to think I was working on AngularJS and Flash apps at the same time. Flash feels like it was a millennia ago, whilst AngularJS feels very recent. Maybe because AngularJS's successor keeps it's name fresh in my mind?
[+] polyterative|4 years ago|reply
In the last five years, I have used Angular2+ full time. RxJS is the greatest superpower ever. Totally loving it.
[+] qwerty456127|4 years ago|reply
Aren't these too different to just "migrate"? Isn't it going to be more of a rewrite?
[+] JamesSwift|4 years ago|reply
No, you can either run them side by side (ngUpgrade) or move to angular 2 incrementally by first upgrading to angularjs 1.6 then going to angular 2. From there its a matter of moving up the angular 2 upgrade path.

The initial rollout of angular 2 vs angularJS was a confusing shit show (and will bite anyone getting into angular brand new as they hit constant google results for one angular when they want the other), but the upgradability is a case study in how to do it right in my opinion. They really made it accessible for anyone to move an app over.