You may know Angular as the web framework from Google, but Google actually has another web framework: Wiz. Both Angular and Wiz are used by thousands of engineers and thousands of apps inside of Google. Wiz is an internal framework that is used by some of the most popular Google products such as Search, Photos, Payments and many others. Over the last year we’ve been exploring ways for Angular to benefit from the performance of Wiz and Wiz to benefit from the developer experience of Angular.
Historically, Angular and Wiz have been serving different segments of apps:
- Wiz has been focused on performance-critical apps. A good example of this is Google Search, which aims to render the results as quickly as possible and has relatively low interactivity.
- Angular has been focused on serving highly interactive apps, prioritizing developer experience and quick delivery of complex UIs. Good examples are apps such as Gemini and Google Analytics.
What is Wiz?
Millions of users access large Google applications over slow networks and/or low-end devices. In such cases initial load latency and amount of JavaScript matters a lot. The Wiz framework meets these requirements in a couple of ways. Wiz always starts with server-side rendering. Everything on the page, including interactive components, is rendered on a highly optimizing streaming solution. This eliminates most JavaScript from the critical initial render path. To avoid loading too much JavaScript, Wiz only loads the code required by interactive components actually rendered on the page.
Blending requirements
Recently we’ve been seeing a blend of these two different segments. Highly performant apps need to ship more features faster to provide value to their users and keep them engaged. At the same time, highly interactive apps start shipping more and more JavaScript. According to HTTPArchive, JavaScript increased with over 37% on desktop and over 36% on mobile over the past 6 years, which significantly impacts performance.
Bringing both worlds together
The partnership between Angular and Wiz manifests our mission to enable developers to build web apps with confidence. Based on the developer feedback we receive we seek opportunities to open source some of the best Web development practices we discovered at Google. At the same time, we’d like to bring the great developer experience from our Angular community to all of Google.
Where are we heading from here?
Our long-term goal is to gradually and responsibly merge Angular and Wiz over the coming years. Our strategy is to steadily open source Wiz features via Angular and follow our open model of development, allowing the community to both influence the roadmap and plan accordingly. We’ll use the public RFC process to ensure we gather community feedback on the relevant proposed features. The primary goal is to improve the Angular framework.
We’re excited to innovate together to improve web performance for everyone!