Dioxus v0.1.0
Welcome to the first iteration of the Dioxus Virtual DOM! This release brings support for:
- Web via Wasm
- Desktop via webview integration
- Server-rendering with custom ToString implementation
- State management
- Build CLI
- Foundational hooks
- Context API
- Basic suspense
- Controlled components
Project: Initial VDOM support (TBD)
Get the initial VDom + Event System + Patching + Diffing + Component framework up and running
Get a demo working using just the web
- x Migrate virtual node into new VNode type
- x Arena allocate VNodes
- x Allow VNodes to borrow arena contents
- x Introduce the VDOM and patch API for 3rd party renderers
- x Implement lifecycle
- x Implement an event system
- x Implement child nodes, scope creation
- x Implement dirty tagging and compression
Project: QOL
Make it easier to write components
- x Tweak event syntax to not be dependent on wasm32 target (just return regular closures which get boxed/alloced)
- x Tweak component syntax to accept a new custom element
- Allow components to specify their props as function args
Project: Hooks + Context + Subscriptions (TBD)
Implement the foundations for state management
Project: String Render (TBD)
Implement a light-weight string renderer with basic caching
- x Make VText nodes automatically capture and format IE allow "Text is {blah}"
- x Implement stateful 3rd party string renderer
Project: Web_sys renderer (TBD)
Project: Web-View 🤲 🍨
Proof of concept: stream render edits from server to client
Project: Examples
Get all the examples
- Tide example with templating
Project: State management
Get some global state management installed with the hooks + context API
Project: Concurrency (TBD)
Ensure the concurrency model works well, play with lifetimes to check if it can be multithreaded + halted
?
Project: Mobile exploration
Project: Live-View 🤲 🍨
Combine the server and client into a single file :)
Project: Sanitization (TBD)
Improve code health
- Clippy sanity for html macro
- Error sanitization
Outstanding todos:
anything missed so far
Less-essential todos
lower priority features