Member-only story

IVY Compiler Vs View Engine

Sumit kumar Singh
3 min readMay 2, 2023

View Engine and Ivy are two rendering engines used in Angular to render components and templates. The View Engine is the original rendering engine that was introduced with Angular 2, while Ivy is the latest rendering engine introduced with Angular 9. In this answer, we will go in-depth with examples and compare the View Engine and Ivy.

Overview of View Engine

View Engine is the original rendering engine in Angular that has been used since Angular 2. It is responsible for transforming Angular component templates into JavaScript code that can be executed by the browser. The main job of the View Engine is to compile components and templates into a set of instructions that can be understood and rendered by the browser. View Engine also handles the dependency injection system and provides services like change detection, directives, and pipes.

Overview of Ivy

Ivy is the latest rendering engine in Angular that was introduced with Angular 9. It is a complete overhaul of the View Engine, with the aim of making Angular faster, smaller, and more flexible. The main focus of Ivy is on better performance and smaller bundle sizes. Ivy achieves this by generating more efficient code that eliminates unnecessary elements from the compiled templates.

Differences between View Engine and Ivy

There are several differences between View Engine and Ivy:

  1. Compilation and Code Generation: View Engine uses a two-phase compilation process, where the first phase compiles the template into a component factory, and the second phase creates the view from the component factory. Ivy, on the other hand, uses a single-phase compilation process that generates code directly from the template.
  2. Tree Shaking: Ivy enables tree shaking, a process that eliminates unnecessary code from the compiled output. This makes the code smaller, and the application runs faster. View Engine does not support tree shaking.
  3. Debugging: Debugging with Ivy is easier since it provides more detailed error messages, source maps, and better tooling support. View Engine does not provide such detailed error messages.
  4. Performance: Ivy provides better performance than…

--

--

Sumit kumar Singh
Sumit kumar Singh

Written by Sumit kumar Singh

YouTube: https://shorturl.at/8zZ4B Topmate: https://topmate.io/sumit_kr_singh 📚 HTML, Angular, React, and JavaScript 🧑‍💻 Tips & tricks

No responses yet

Write a response