🦉 Odoo Web Library 🦉

## Project Overview The Odoo Web Library (OWL) is a small UI framework intended to be the basis for the [Odoo](https://www.odoo.com/) Web Client, and hopefully many other Odoo related projects. OWL's two key features are: - a declarative component system, with QWeb as a template engine, asynchronous rendering, and an underlying virtual dom, - and a store (state management solution, loosely inspired by VueX and React/Redux). If you are interested, you can find a discussion on what makes OWL different from React and Vue [here](doc/comparison.md) ## Try it online! An online playground is available at [https://odoo.github.io/owl/playground](https://odoo.github.io/owl/playground) to let you experiment with the OWL framework. # Example Here is a short example to illustrate interactive widgets: ```javascript class ClickCounter extends owl.Component { inlineTemplate = ` `; constructor(parent, props) { super(parent, props); this.state = { value: 0 }; } increment() { this.state.value++; } } const qweb = new owl.QWeb(); const counter = new ClickCounter({qweb}); counter.mount(document.body); ``` More interesting examples can be found on the [playground](https://odoo.github.io/owl/playground) application. ## Installing/Building If you want to use a simple `