🦉 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_, which is a 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 = ` `; 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 `