mirror of
https://github.com/odoo/owl.git
synced 2025-10-06 19:59:41 +07:00
@@ -20,6 +20,9 @@ virtual dom, integrates beautifully with hooks, and the rendering is asynchronou
|
|||||||
**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. There
|
**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. There
|
||||||
are some code examples to showcase some interesting features.
|
are some code examples to showcase some interesting features.
|
||||||
|
|
||||||
|
Owl is currently mostly stable. Possible future changes are explained in the
|
||||||
|
[roadmap](roadmap.md).
|
||||||
|
|
||||||
## Example
|
## Example
|
||||||
|
|
||||||
Here is a short example to illustrate interactive components:
|
Here is a short example to illustrate interactive components:
|
||||||
|
|||||||
+1
-1
@@ -1138,7 +1138,7 @@ Here are a few tips on how to work with asynchronous components:
|
|||||||
synchronous renderings
|
synchronous renderings
|
||||||
3. Lazy loading external libraries is a good use case for async rendering. This
|
3. Lazy loading external libraries is a good use case for async rendering. This
|
||||||
is mostly fine, because we can assume that it will only takes a fraction of a
|
is mostly fine, because we can assume that it will only takes a fraction of a
|
||||||
second, and only once (see `owl.utils.loadJS`)
|
second, and only once (see [`owl.utils.loadJS`](utils.md#loadjs))
|
||||||
4. For all the other cases, the `t-asyncroot` directive (to use alongside
|
4. For all the other cases, the `t-asyncroot` directive (to use alongside
|
||||||
`t-component`) is there to help you. When this directive is met, a new rendering
|
`t-component`) is there to help you. When this directive is met, a new rendering
|
||||||
sub tree is created, such that the rendering of that component (and its
|
sub tree is created, such that the rendering of that component (and its
|
||||||
|
|||||||
+47
@@ -0,0 +1,47 @@
|
|||||||
|
# 🦉 OWL Roadmap 🦉
|
||||||
|
|
||||||
|
- Current version: 0.23.0
|
||||||
|
- Status: mostly stable
|
||||||
|
|
||||||
|
This roadmap is only an attempt at predicting Owl's future. Everything may
|
||||||
|
change!
|
||||||
|
|
||||||
|
### October 2019
|
||||||
|
|
||||||
|
We plan to complete the following tasks:
|
||||||
|
|
||||||
|
- make owl asynchronous rendering rock solid (issue #330),
|
||||||
|
- improve API for root widgets (issue #306),
|
||||||
|
- replace `t-keepalive`, `t-asyncroot` and maybe `t-transition` by components (issue #295).
|
||||||
|
|
||||||
|
### November 2019
|
||||||
|
|
||||||
|
Once the previous tasks are done, release version 1.0alpha. This means that the
|
||||||
|
API should be stable. But it could change a little bit if we need it for our
|
||||||
|
work on Odoo.
|
||||||
|
|
||||||
|
### End of 2019
|
||||||
|
|
||||||
|
Release v1.0
|
||||||
|
|
||||||
|
- API should be stable,
|
||||||
|
- we will use semantic versioning,
|
||||||
|
- we will maintain a changelog and an upgrade guide.
|
||||||
|
|
||||||
|
### 1.x
|
||||||
|
|
||||||
|
- add chrome and firefox devtools,
|
||||||
|
- add support for single file components,
|
||||||
|
- fix every bugs,
|
||||||
|
- improve documentation,
|
||||||
|
- small backward compatible improvements.
|
||||||
|
|
||||||
|
### 2.x (2021? 2022?)
|
||||||
|
|
||||||
|
Maybe:
|
||||||
|
|
||||||
|
- reimplement vdom to use *block* system, like Vue 3,
|
||||||
|
- refactor `QWeb` to use an intermediate representation (some kind of AST) to
|
||||||
|
allow additional optimisations.
|
||||||
|
|
||||||
|
|
||||||
@@ -13,7 +13,8 @@ const HEADING_REGEXP = /\n(#+\s*)(.*)/g;
|
|||||||
function getFiles(): string[] {
|
function getFiles(): string[] {
|
||||||
const DOCFILES = fs.readdirSync("doc").map(f => `doc/${f}`);
|
const DOCFILES = fs.readdirSync("doc").map(f => `doc/${f}`);
|
||||||
const MAINREADME = "README.md";
|
const MAINREADME = "README.md";
|
||||||
return DOCFILES.concat(MAINREADME);
|
DOCFILES.push('roadmap.md', MAINREADME)
|
||||||
|
return DOCFILES;
|
||||||
}
|
}
|
||||||
|
|
||||||
test("All markdown links work", () => {
|
test("All markdown links work", () => {
|
||||||
|
|||||||
Reference in New Issue
Block a user