OWL’s main features:
- A declarative component system;
- A finely-grained reactivity system similar to Vue;
- Asynchronous rendering.
A Template-based Framework
OWL components are defined using ES6 classes and XML templates. The framework uses an underlying virtual DOM, allowing the UI to stay in sync with the data. XML templates also make it easy for add-ons to modify as necessary.
Why OWL was necessary
Coding an entirely new JS framework tailored to your activity is no common thing, but traditional UI frameworks like React and Vue were not well-suited to Odoo's highly modular and dynamic nature. So a custom framework was necessary. OWL was designed to be intuitive and easy to use for anyone, while relying on minimal tooling for easy deployment.
To learn more about the creation of OWL, check out our in-depth discussion with Géry Debongnie, the mastermind behind the project. You can listen to the podcast episode below:
New browser extension : inspect and test your apps
We are also excited to announce that OWL's browser extension is now available on Chrome! The extension adds an OWL tab to your browser devtools, giving you the ability to:
- Inspect and interact with active owl applications;
- See how different components of the application are built and work together;
- Test and troubleshoot data;
- Use the profiler to visualize and trace renderings, their origin, and any issues they might encounter.