Hello, everyone. My name is Mikhail Gechev. I'm an engineer at the Angular team at Google.
Today in this presentation, I would want to share with you what is the current state of Angular. I know that this is a general JavaScript event, rather than an Angular-specific conference, so that's why I wanted to share a couple of words with you on what exactly our team at Google has been working on.
Obviously, we are building a framework, right? We're providing an ergonomic API for you to develop components. By composing your components together, you can develop a web user interface. From there on, we have an Angular tooling team that is responsible for building the Angular command line interface. The Angular CLI allows you to very quickly scaffold Angular applications and also production built that can optimize the assets to the maximum so that your users are getting the smallest JavaScript bundles possible, as well as their load time experience, initial startup experience is optimized. The Angular CLI team also works on the migration experience. So from version to version, we would want to make your migration experience as smooth as possible. In general, we are aiming for this evergreen Angular. Or just by running ngupdate, you can get the latest version of Angular and you can even integrate this as part of your CI process, getting automated updates, pull requests, why not? There were some folks from KOM doing it.
On the other side, we also have the Angular Components team. The components team, they're working on the CDK, which is the Component Development Kit. The CDK is providing a foundation for development of UI components. For example, by using this foundation, you can style the minimum amount of components that we're providing there for your own purposes, as well as use the tooling that we're building for accessible Angular applications. The components team is also working on Angular UI components based on the material specification. So if you have an Angular app that is following it, you can directly take these widgets and put them in your app and everything is going to work out of the box.
On top of that, we also have an internalization pipeline. We have a language service, router, animations, and so on and so forth. In general, we're providing this integrated development stack for web user interface. And I believe that the most unique thing about this is that it is really well battle tested across 2,000 and even more web applications across Google. These web applications vary from a small internal dashboard, let's say, to large enterprise applications such as the Google Cloud Console. It has millions of lines of TypeScript and Angular inside of it. We, as engineers at the Angular team, we're not only responsible for implementing bug fixes and new features, like doing fun things, we're also responsible for making sure that all these 2,000 applications are functioning properly with Angular. So if we introduce a change on GitHub that breaks something, we're supposed to go there and fix it. This helps us to make sure that we're aware of all the changes that are happening and making sure that they're not going to have any unpredictable effect on your applications. This way also by making large-scale changes, imagine we change a public API, we need to make sure that it works well in Google Cloud, which has several millions of lines of code. We need to implement an automated migration, which is just a code transformation that we have implemented in a couple of hundreds of lines of code that takes all this Google search code and migrates it to the latest API change.
Comments