# Angular roadmap analysis ![[Angular Logo.png]] In this article, I’ll go through the [newly announced Angular roadmap](https://blog.angular.io/a-roadmap-for-angular-1b4fa996a771?source=collection_home---4------0-----------------------). I’ll share my opinion and my hopes about everything that has just been announced. From now on, the [official Angular roadmap](https://angular.io/guide/roadmap) should be updated quarterly, which will give us a better view of what is coming our way. ## Trigger and motivations In recent months/weeks, there’s been quite some sad news around Angular. [Many awesome people have left the Angular team](https://dev.to/layzee/angular-struggles-in-2020-1po4) and the community has been wondering why. [Lars Gyrup Brink Nielsen](https://x.com/LayZeeDK) has [shared his thoughts about it](https://dev.to/layzee/no-i-don-t-want-to-become-an-angular-gde-2576). Those departures don’t mean that Angular is out of talent (far from it), but those who left certainly added a lot of value and will be missed by the community! Because of this, many started to wonder about what to expect for the future of Angular. When I went to Angular Connect a few years back, there was a ton of positive energy in the air about Angular and we could sense how involved Google was in making sure that Angular would be used by as many people as possible. There was a real strong focus on the community. Now, a few years later, the community is still vast and vibrant, but I personally _feel_ much less energy and engagement from Google. But I’m probably wrong :) We were also _a bit_ disappointed by the evolutions of Angular in recent times. I don’t want to bash because as a framework architect/maintainer (albeit on a tiny framework in comparison), I can understand how extraordinarily hard this all is, compared to what everyone sees on the surface. Tools like the Angular CLI may feel “basic”, but require so much engineering that it’s almost frightening once you realize ;-) By publishing the roadmap, the Angular team tries to get back in touch with us in a more open way. Of course, the goal is also to reassure us that Angular is still alive and kicking and that the future is bright. And I sure hope it is! ;-) Angular has rock-solid foundations and still has a card to play in the front-end “wars”. It has its specificities, pros, and cons and a ton of clear advantages for enterprises. If Google keeps investing in it, then it’ll continue to benefit everyone. Anyway, there no doubt that, while being open source, Angular is also the engine underneath many Web apps of Google, so the project is under strict control and cannot go in ways that would not benefit Google’s interests. Let’s dive into the roadmap! ## In progress ### Operation Bye Bye Backlog As I’ve discussed [my article about Angular 10](https://medium.com/javascript-in-plain-english/angular-10-in-depth-a48a3a7dd1a7), the Angular team has been putting a lot of effort into the resolution of many issues. With the roadmap, we now have a clearer view of the investment that it represents for Google. Half of the engineering capacity of the Angular team is now dedicated to triaging issues / PRs. LINK: [[Angular 10 In Depth (Article)]] Thanks to this ongoing work, the team will have a clearer view of the situation, important issues, and community requests. We’ll have to wait until the next roadmap update to see what impact this work has had on the priorities and next milestones of the framework. ### Support for TypeScript 4.0 The Angular team is already busy adding support for TypeScript 4.0. LINKS: - [[What's new in TypeScript 4.0 - Language features (Article)]] - [[What's coming with TypeScript 4.0 (Article)]] This is not much of a surprise, but it’s awesome to know that we should quickly get support for it once it’s released. Having our main framework up-to-date with TypeScript is great for productivity. By the way, make sure to check out my article about TypeScript 4. I’ve covered everything you need to know about it. ### Update of the e2e testing strategy When Angular came out, Protractor was the de-facto choice for end-to-end testing. Since then, [Cypress](https://www.cypress.io/) has gained a lot of popularity and is (afaik) currently the best option out there for this. In addition, there’s now awesome support from tools like [Nrwl NX](https://nx.dev/angular), which make it a breeze to introduce and use it in our projects. In the meantime, I didn’t notice many evolutions on the side of Protractor (but I didn’t follow closely, so don’t hesitate to correct me. The good news is that the Angular team is going to evaluate the state of Protractor, look at the rest of the ecosystem, and explore new possibilities. Hopefully, this should lead to improvements in this area in the future. ### Angular libraries and Ivy The Angular team is investing in the design and development of a distribution plan for Ivy libraries. As stated in the roadmap, this will include an update of the library package format so that it uses Ivy compilation and finally let them deprecate the View Engine library format as well as [NGCC](https://angular.io/guide/glossary#ngcc). I don’t know about you, but I “hate” NGCC. It feels clunky and is painful to look at when the CI pipeline runs. Hopefully, we should be able to forget about that in the near future ;-) There’s a public RFC about this subject here: [https://github.com/angular/angular/issues/38366?s=09](https://github.com/angular/angular/issues/38366?s=09&ref=dsebastien.net) ### Evaluate future RxJS changes As you know, [RxJS](https://rxjs-dev.firebaseapp.com/) is at the core of Angular and been a huge win for us all. Still, there are different parts of the framework that would benefit from better usage/support of RxJS (e.g., component templates). This is why we’re seeing libraries like [NGRX Component](https://ngrx.io/guide/component) pop up. Hopefully, over time, Angular should improve in this area. Unfortunately for us, now that hat [Ben Lesh](https://x.com/BenLesh) has left the Angular team (meh), it’s probably a bit harder to get there. The Angular team is looking at what’s coming with RxJS v7. Having covered that in my previous article, I think that there shouldn’t be huge changes to expect for Angular, but the team is also looking beyond that. LINK: [[What's new in RxJS 7 (Article)]] In any case, we’ll at least get support for RxJS 7 when or soon after it comes out, which is cool in itself. LINK: - [[How to create a custom Angular Webpack configuration (Article)]] - https://www.dsebastien.net/2020-06-14-customizing-your-angular-apps-webpack-configuration// LINK: - [[Angular 13 in Depth (Article)]] - https://www.dsebastien.net/2021-11-05-angular-13-in-depth// LINK: - [[Angular 12 in Depth (Article)]] - https://www.dsebastien.net/2021-05-13-angular-12-in-depth// LINK: - [[How Angular applications start (Article)]] - https://www.dsebastien.net/2021-03-28-angular-application-bootstrap// LINK: - [[Knowii Community]] - https://www.store.dsebastien.net//product/knowii-community