## 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 `