[DOC] add a roadmap

closes #347
This commit is contained in:
Géry Debongnie
2019-10-17 18:14:29 +02:00
parent 2b5783d9bd
commit 4bc49e7241
4 changed files with 53 additions and 2 deletions
+3
View File
@@ -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
View File
@@ -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
View File
@@ -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.
+2 -1
View File
@@ -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", () => {