State of Angular - Highlights from Google I/O
Tags: angular, webdev, typescript, news
Published: 2022-05-14 12:53:16

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](https://io.google/2022/program/8e80903f-955f-4a5b-9118-b0ce4acdb0e6/), 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.

## State of Angular

### 1. Ivy Engine
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](https://docs.angular.lat/guide/ivy). 
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](https://angular.io/guide/language-service) plugin for VS code
- [Angular Dev Tools](https://angular.io/guide/devtools) browser extension. 

### 2. Standalone Components
On the [Angular blog](https://blog.angular.io/an-update-on-standalone-components-ea53b4d55214), 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.

### 3. New Getting Started
For developers new to the framework, the Angular team is designing a new Getting Started path. 

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ykf2dh4fbpqhyjitr2wj.png) 

This is very good news because the current learning path is quite steep, especially for new developers. 

My little [Angular tutorial](https://www.vitainbeta.org/2022/04/29/angular-tutorial-and-posts/) might soon become obsolete. But if there is something better out there, it will surely benefit the entire community.

### 4. TypeScript Everywhere
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. 


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/bcy2ol0x65u82gpm7ig1.png)

### 5. Scalability
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 `ng new`.
- 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](https://update.angular.io/). 

### 6. Improved Accessibility
This is a new feature that allows defining unique page titles more simply. This is addressing a common accessibility issue in web frameworks. 



### 7. New commands
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

## Conclusions

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!