Ivy Renderer will be available as an opt-in preview in Angular v8.0.0
It has been a whole year since the last time we talked about the much-anticipated project Ivy Renderer. Our enthusiasm has been put on hold but a new blog post by the Angular team reignited the fire! Let’s have a closer look.
A whole year has passed since the last time we were promised some hands-on action with Ivy Renderer.
To refresh your memory, Ivy Renderer (beta) is a backward-compatible Angular renderer focused on further speed improvements, size reduction, and increased flexibility.
So, why are we revisiting this topic now?
Some days ago, a new post on the Angular blog reignited our interest in the project and the anticipation to finally get some hands-on action. According to this post, there are plans to release and finalize Ivy in Angular v8.0.0. But what will Ivy look like in this upcoming version?
Let’s have a look at all the updates we have on this project.
The new plan
According to the plan laid down for Ivy, the team aims to release it as an opt-in preview in Angular v8.0 and you will be able to switch between the Ivy and View Engine build and rendering pipelines in your project.
In short, this means that your application will be built with Ivy runtime instructions instead of the ViewEngine runtime. Any dependencies you use from Angular or other 3rd parties should keep working as they will be run through the compatibility compiler. This opt-in preview will be focusing on moving applications to the Ivy compiler and runtime instructions without requiring developers to rewrite their applications.
The features that will be available in the Ivy preview are:
- Generated code that is easier to read and debug at runtime
- Faster re-build time
- Improved payload size (Real world applications should see some size improvements, but many more improvements are planned)
- Improved template type checking
- Great backward compatibility
However, you should keep in mind that Ivy will not be ready for all use cases. Certain features, for example, i18n or Angular Universal, will not have full compatibility in the preview.
We’re almost there!
Angular v8.0.0 is set for general availability around May, although the team puts up a warning that the plan is subject to change and a fixed schedule cannot be set. Ivy will be available as an opt-in preview in 8.0.0 in order to provide the backward compatibility the team has promised and work on any automated migration tools if needed.
According to the blog post, Ivy will be turned on for everyone, hopefully, as a part of the next major version, this fall and the plan is to not need an opt-out option of Ivy in version 9 since there will be backward compatibility and support for existing applications.
So stay tuned! If everything goes according to plan, we will be able to get some hands-on action with Ivy Renderer in no time!