Commit Graph
255 Commits
Author SHA1 Message Date
Jonathan Kelley 3c19def550 chore: get create working and simplify dynamic nodes 2022-11-30 11:24:13 -05:00
Jonathan Kelley 0cfbfc88e2 feat: more tests working 2022-11-24 06:47:14 -05:00
Jonathan Kelley 112c954e00 Merge branch 'master' into jk/templates-v3 2022-11-22 16:11:12 -08:00
David Craven 1e99e35572 Implement push view for ios. (#612) 2022-11-22 12:35:40 -08:00
Jonathan Kelley 6c677e64da chore: make for loops not the same 2022-11-17 22:55:46 -08:00
Jonathan Kelley 20f9957fbe feat: diffing works on desktop! 2022-11-17 22:31:14 -08:00
Jonathan Kelley 30ef225812 feat: event handling on desktop 2022-11-17 20:00:39 -08:00
Jonathan Kelley c1c5821dcf Merge branch 'master' into jk/templates-v3 2022-11-16 22:12:16 -08:00
Jonathan Kelley 642b21f125 suspense works in desktop 2022-11-16 11:48:47 -08:00
Jonathan Kelley 04bc635ac5 wip: prep to fix bug in create 2022-11-15 23:22:41 -08:00
Jonathan Kelley e8ae830cf2 feat: get desktop working with just creation 2022-11-15 18:32:48 -08:00
Jonathan Kelley 47d0f51e00 wip: overhaul event system 2022-11-15 16:05:22 -08:00
Adrian Wannenmacher 79ea1994db fix desktop dependency wry (#618) 2022-11-10 12:03:26 -06:00
David Craven 5c996f21fb Update wry to 0.22.0 (#604) 2022-11-06 01:49:25 -07:00
David Craven 7e3a6fb4a4 Some fixes for wayland and ios. (#602) 2022-10-23 19:40:41 -07:00
Jonathan Kelley 90982e0ccb wip: start to refactor out hot reloading from packages
Also implement alternative simpler template system
2022-10-20 09:56:09 -07:00
Demonthos 3b7b503333 Refactor Mutations and simplify Templates (#578)
* update mutations to be path based rather than renderer integrated
2022-10-18 14:42:45 -07:00
Demonthos daeffd4149 pass clippy (#575) 2022-10-02 14:12:24 -07:00
Demonthos 047ed1e553 Subtree memorization / reactive templates (#488)
This commit adds subtree memoization to Dioxus.

Subtree memoization is basically a compile-time step that drastically 
reduces the amount of work the diffing engine needs to do at runtime by
extracting non-changing nodes out into a static "template." Templates 
are then understood by the various renderers in the ecosystem as a 
faster way of rendering the same items. 

For example, in the web, templates are simply a set of DOM Nodes created 
once and then cloned later. This is the same pattern frameworks like Lithtml
and SolidJS use to achieve near-perfect performance. 

Subtree memoization adds an additional level of complexity to Dioxus. The RSX
macro needs to be much smarter to identify changing/nonchanging nodes and
generate a mapping between the Template and its runtime counterparts.

This commit represents a working starter point for this work, adding support 
for templates for the web, desktop, liveview, ssr, and native-core renderers.
In the future we will try to shrink code generation, generally improve 
performance, and simplify our implementation.
2022-09-30 12:03:06 -07:00
Demonthos b32fd2d2cd fix scroll data (#569) 2022-09-30 10:48:52 -07:00
Jon Kelley 0c48cb3601 feat: use infer instead of outdated mime-guess, bump wry (#548)
* feat: use infer instead of outdated mime

* chore: remove unused file

* fix: remove unused file
2022-09-24 23:48:05 -07:00
Jon Kelley 540e785d8b Less clumsy configuration for desktop and mobile (#553)
* chore: dont use prebuilt builder pattern for configuring desktop

* chore: use regular config pattern for web

* Chore: update docs too

* chore: clean up some warnings
2022-09-13 16:22:27 -07:00
Demonthos a9e71cb001 expose desktopconfig in public interface (#529) 2022-08-17 11:16:05 -07:00
Reinis Mazeiks d734dc5b46 Remove argument from use_hook closure (#496)
Also; update docs for said function
2022-07-11 15:50:56 -04:00
Jon Kelley d9546d9504 Renderers are now packages, not features. (#387)
* feat: use synchronous router design

* feat: function to get router out of dom

* chore: restructure workspace to use renderers as packages, not features
2022-07-09 15:15:20 -04:00
Jonathan Kelley 2b9888627b Merge branch 'master' of github.com:DioxusLabs/dioxus 2022-07-07 01:46:48 -04:00
Jonathan Kelley 7ff4d616d3 chore: remove outdated docs 2022-07-07 01:42:03 -04:00
Adia Robbie c271fc132e dioxus-desktop(Update-dep): tauri 0.19.x (#489)
* Update(dep): tauri 0.19.x
2022-07-06 12:05:31 -04:00
Demonthos 3a5d1a2ff8 fix web imports and extract hot reload handlers into seperate files (#484) 2022-07-04 13:18:11 -05:00
Evan Almloff f0655a11ad panic on errors in hot-reload if no error handler socket is connected 2022-07-01 09:01:15 -05:00
YuKun Liu 0af69f83f2 Rename hot_reload to hot-reload 2022-06-26 14:23:19 +08:00
Evan Almloff 11d9a7d013 Merge remote-tracking branch 'upstream/master' into fix_nonbubbling_web_events 2022-06-22 13:59:10 -05:00
Evan Almloff 61b4bb2f19 handle bubbling events 2022-06-22 13:57:05 -05:00
Evan Almloff 75e13749ea set multiple rsx calls at once to prevent duplicated errors 2022-06-16 09:11:56 -05:00
Demonthos df4ea20bb8 create serde compatible parse error 2022-06-15 12:58:08 -05:00
Evan Almloff 586983291a log parse errors 2022-06-13 17:02:43 -05:00
Evan Almloff 71d31556e5 Merge https://github.com/DioxusLabs/dioxus into jk/rsx-refactor 2022-06-10 18:16:05 -05:00
CGQAQ 030f6d58fb conditional devtools 2022-06-10 06:04:54 +08:00
Jason 09b1d379d7 fix(desktop): makes release build working 2022-06-09 16:55:53 +08:00
Evan Almloff 07199c8a64 clean up imports 2022-06-06 13:29:56 -05:00
Evan Almloff 586e29d815 force rerender after rsx is updated 2022-06-04 15:31:40 -05:00
Evan Almloff 8c6fceb0c7 finish desktop implementation 2022-06-04 14:26:37 -05:00
Evan Almloff 2bcaa2e43e refactor interperting macro into function and don't rely on cx being in scope 2022-06-04 12:20:56 -05:00
Evan Almloff 0079f7d18b WIP: expose pipe for desktop 2022-06-02 13:33:08 -05:00
Evan Almloff 51b87dafcc derive serde for Errors and Location, and add error handler 2022-05-31 12:03:04 -05:00
YuKun Liu 77a92a1cf6 feat: use_window add print & devtool 2022-05-11 14:56:37 +08:00
YuKun Liu 4f55fcb84a feat: use_window add set_zoom_level 2022-05-11 14:49:46 +08:00
YuKun Liu 8aadeff9d2 fix: add eval script failed log 2022-05-11 14:29:31 +08:00
YuKun Liu b7e9dca87c fix: add eval script failed log 2022-05-11 14:09:31 +08:00
Jonathan Kelley 8ab1c4d0de feat: upgrade wry 2022-05-05 16:29:24 -04:00