Commit graph

10 commits

Author SHA1 Message Date
Jonathan Kelley
904b26f711 feat: add edits back! and more webview support!
This commit adds a new type - the DomEdit - for serializing the changes made by the diffing machine. The architecture of how DomEdits fit into the cooperative scheduling is still TBD but it will allow us to build change lists without applying them immediately. This is more performant  and allows us to only render parts of the page at a time.

This commit also adds more infrastructure around webview. Dioxus can now run on the web, generate static pages, run in the desktop, and run on mobile, with a large part of thanks to webview.
2021-07-05 18:37:15 -04:00
Jonathan Kelley
81382e7044 chore: rename ctx to cx 2021-06-25 21:15:33 -04:00
Jonathan Kelley
508c560320 Feat: massive changes to definition of components
This change switches back to the original `ctx<props>` syntax for
commponents. This lets lifetime elision to remove the need to match
exactly which lifetime (props or ctx) gets  carried to the output. As
such, `Props` is currently required to be static. It *is* possible to
loosen this restriction, and will be done in the future, though only
through adding metadata about the props through the Props derive
macro. Implementing the IS_STATIC trait is unsafe, so the derive macro
will do it through some heuristics.

For now, this unlocks sharing vnodes from parents to children, enabling
pass-thru components, fragments, portals, etc.
2021-06-01 18:33:15 -04:00
Jonathan Kelley
c1fd848f89 WIP: move to static props 2021-05-31 18:55:56 -04:00
Jonathan Kelley
9810feebf5 Feat: major overhaul to diffing 2021-05-15 12:03:08 -04:00
Jonathan Kelley
c8bb392cad Feat: view -> render 2021-02-28 21:21:17 -05:00
Jonathan Kelley
b0a87e5d73 Feat: update example 2021-02-25 21:42:44 -05:00
Jonathan Kelley
32b45e5ba1 Feat: move webview logic into library 2021-02-25 18:44:00 -05:00
Jonathan Kelley
b3e6886351 Feat: desktop app wired up 2021-02-18 20:04:25 -05:00
Jonathan Kelley
f22ff83190 Feat: WIP on deserialize 2021-02-15 14:14:28 -05:00