Google I/O is a developer conference held by Google. "I/O" stands for Input/Output, as well as the slogan "Innovation in the Open".
Google has concluded its two-hour I/O keynote, which was jam-packed with information. AI, Android, and, of course, a slew of Pixel hardware were all mentioned.
This is just to say that there is a whole lot more than what I am summarizing in this post.
Here we will focus on Angular and the future of this framework.
The Angular team rewrote from the ground up Angular's runtime and compiler so that apps are now powered by the better, more efficient Ivy rendering engine.
Here are some of the advantages offered by the Ivy Engine:
- Improved type checking and error reporting, better debugging, smaller bundle sizes
- Angular language service plugin for VS code
- Angular Dev Tools browser extension.
On the Angular blog, we can read that the goal of Standalone components is "to reduce boilerplate and make Angular easier to use and learn by making it possible to build components and applications without NgModules."
This is important because, among other things, it wants to make it easier to learn Angular for new developers!
Another point worth mentioning is that Standalone components will reduce the boilerplate in several cases.
For developers new to the framework, the Angular team is designing a new Getting Started path.
This is very good news because the current learning path is quite steep, especially for new developers.
My little Angular tutorial might soon become obsolete. But if there is something better out there, it will surely benefit the entire community.
As you may know, Angular is an opinionated framework with best practices built-in by default.
Angular strives to maintain strong defaults and best practices. To support this vision, and following developers' most requested feature, Angular is adding support for typed forms in Angular templates.
Angular made somehow clear that, despite being an opinionated framework, it can support different needs:
- Indie Developers: The new Standalone Component makes it easier to start without too much boilerplate. The CLI already makes creating a new Angular app, components, and other things very easy as
- Startups: Angular Language Service guarantees that developers produce consistent code. Developers can discover mistakes before they are deployed thanks to typing and tooling.
- Scaleups: Internationalization and progressive web apps (PWA) will come useful. Moreover, being opinionated it is easy to start to work on a different project and know exactly what it will look like.
- Big organizations: Microfrontends as the next steps?
In all of this, it is fairly easy to update Angular every time a new major version comes out, or more frequently, by using update.angular.io.
This is a new feature that allows defining unique page titles more simply. This is addressing a common accessibility issue in web frameworks.
More diagnostics help code editors to warn developers of common mistakes before deployment. Here we have two new CLI commands:
ng analytics: a way to control and print analytics settings
ng cache: a way to control and print cache information
The talks conclude with "There's never been a better time to be an Angular developer".
At a minimum, this is a very cool moment to use Angular in your projects!