iced-rs / iced_web

A web runtime for iced that targets the DOM
93 stars 4 forks source link

Plans for web renderer? #11

Open nashley opened 2 years ago

nashley commented 2 years ago

Seeing as dodrio is now archived (and presumably unmaintained), what does the future of iced on the web look like? Perhaps these crates are worth looking into if we don't want to maintain dodrio? Migrating to them may also improve performance, since they avoid using a VDOM.

madmaxio commented 2 years ago

After implemeting this, I'm also very interested in implementing optimized DOM updates similar style to Yew framework (update DOM partially instead of full page). If someone is also interested in that work, please let me know.

jkelleyrtp commented 2 years ago

Dioxus is built off much of the same bones of Dodrio and supports a low-level node creation API in the same way dodrio did.

http://github.com/dioxusLabs/dioxus

Both Dodrio and Dioxus are extremely fast libraries.

hecrj commented 2 years ago

As far as I can see, both sycamore and dominator rely on a persistent widget tree and use either a DSL or specific widget functionality to implement dynamic views without a VDOM.

These approaches are, at least for now, incompatible with iced because the Elm Architecture produces a different widget tree after every view.

Therefore, if we want to preserve the ergonomics of the current API (i.e. view logic is just Rust code), I believe a library with a VDOM will be necessary.