Let me open by briefly summarize my points of why you should upgrade today. I will cover each point in more detail lower in this article.
- The Angular team is actively listening to feedback from people who upgrade today. Thus, if you are worried about having problems and may need help, then now is the perfect time for you to try it and have their help.
- The testing cycle for this release of Angular has been one of legends. No prior version of Angular (including AngularJS) has ever gone through such a rigorous testing phase. This should help lessen your fears.
- The Angular community will begin to evolve more quickly once v9 is here. You will miss some of it if you are not on v9.
- The point of this release was to NOT provide new functionality, but to maintain the current. So you don't have to worry about massive API changes that will break you.
For those of you who have short attention spans (like me), I hope that this summary is enough to give you some talking points and/or enough to start thinking about the benefits of upgrading to Angular 9 today.
And for those of you who want more reasoning, keep going. The rest of this article is for you.
If you are going to update to Angular 9 once it is in general release 9.0.0, you should definitely do it today! Or you could wait until 9.0.1 or 9.1.0. But let me explain why I think that for this release specifically you should consider updating sooner, rather than later.
Because 9.0.0 is in RC mode, the Angular team is actively watching the feedback from people upgrading. This means that if you upgrade today, they will be listening to YOUR feedback. And when you think about it, we would rather upgrade while they are still looking at it (before they have moved their focus onto 10.0.0). If you think your team may need some help from them, then TODAY is the time for you to upgrade.
In the past when I have upgraded during the RC phases, the Angular team is there listening to my issues, and asking to get on Hangouts so that they can see the issues I am dealing with. This could be you if you get on the upgrade today.
At the end of the day, what helped us determine when to upgrade? We wait until we think it is "safe". Well, if you are going to have issue upgrading, wouldn't you rather have the issues while the Angular team is here to help? In the scenario where your project DOES have an issue with the upgrade, you are more "safe" doing it earlier while you still have the active attention of the team.
No version of Angular has been more rigorously tested than has been Angular v9. Not even the initial release of Angular v2 went through this thorough of a testing cycle. How could it have? When v2 was released, it had a fraction of the users that Angular v8 currently has. Inherently this means that the amount of community feedback that v2 received was inconsequential when compared the the number of projects running on v8 today.
So when you simply compare the number of RC and Beta users that v9 has had, it is the most tested version of Angular ever.
Additionally, thanks to the version control system used internally at Google, any time the Angular team releases a change to the framework, the tests of every project at Google that depends on Angular get executed. So thousands of tests across hundreds of projects get executed for each PR from the Angular team. Clicking "Merge" on those PRs must be stressful!
A few months ago, a member of the community who isn't familiar with Angular assumed that only React was heavily dog fooded prior to being released, when nothing could be further from the truth.
With each PR put into Ivy and Angular 9, if any of the hundreds of projects across Google broke, the Angular team had to fix those breaks before they could move on. Knowing that the Angular team and React team have massive amounts of projects to validate their changes should help us all sleep better at night.
I remember being at an Angular conference a few years ago, and joking with my friends about playing a drinking game every time someone said something about "Ivy will fix that".
We have been waiting for Ivy for years now. And now that it is here, all of the changes and evolutions that were in holding patterns waiting on Ivy can now land in the community. This means that we should see some really cool things coming from some of the smartest people in the Angular community once v9 is here.
And while that cambrian-explosion-esk event is happening in the Angular community, if you're sitting in Angular 6/7/8/other instead of being in 9, your project may miss out on some of the cooler new changes.
Now, I am not imploring you to join the entire Angular community and chase the pendulum. In fact, I have made a solid career of NOT chasing the pendulum. However, many of the changes coming soon will be HIGHLY beneficial for any Angular project.
Consider the following tweet by Sander Elias. If people like Sander make our life tons easier by introducing features like observable lifecycle hooks, you won't want to miss that. That's a game changer.
These kinds of changes will happen often and regularly now that Ivy is here. The arrival of v9 is like undaming the water in a lake. Cool new features should begin to flow into the community. You should encourage your team to be a part of that, and even participate with changes of your own.
Where almost all other releases of software are heralded and praised for what they add to the ecosystem, Angular's v9 release should be applauded for it's stability. The feature of v9 is it's LACK of features. What makes it so wonderful is it's lack of visibly wonderful changes.
Angular v9 was about making major changes under the hood of the framework, without having any outward changes on our code. The API surface should remain entirely unchanged (with the exception of the few documented changes that each have schematics to make the migration pain free). The point of the release is to have every app work the same as it did before.
Because this is the point of the release, it makes it a great time for your team and your projects to get on board early and be a part of the v9 upgrade party that is happening right now (before the official v9 release).
One of my favorite hobbies is that of fishing. I've been doing it since I was a kid. While I still have a lot to learn, you could call me an expert in ice fishing. And when I take my friends ice fishing for the first time, many of them need me to walk out on the ice and show them that it truly is safe, and that the ice is strong and more than capable of holding us up to have a fun day.
My intention in this article is not to throw guilt on those who aren't ready to update. Neither is my intention to disregard the concerns of some of those reading. We are all fighting a fight that no one else sees, and I don't pretend to understand all of what everyone is dealing with.
Rather, I want to walk out on the ice and show that it is strong and much more capable that some will give it credit for. As web developers, we stand on the backs of giants to build the projects we build. The Angular team has worked hard to make a good, solid, safe release for all of us. And I believe that they have succeeded.
If any of you have questions about joining me out here on in Angular v9 ice (ahead of it's official release), feel free to hit me on on Twitter. My DMs are open.
If you're ready to try this out, checkout the Upgrading to Angular 9 Guide.