Commit graph

129 commits

Author SHA1 Message Date
Evan Almloff
41bf87e74f Merge branch 'upstream' into simplify-native-core 2023-03-14 16:21:39 -05:00
Evan Almloff
b6c7d44a27 fix clippy 2023-01-27 20:35:46 -06:00
Evan Almloff
52d5c8d4e7 update READMEs and tags for the 0.3 release 2023-01-10 10:16:11 -06:00
Jonathan Kelley
7f01f61138 feat: publish 0.3 versions of many crates 2023-01-04 14:31:07 -05:00
Jonathan Kelley
4fdbce9a70 chore: clean up readmes 2022-12-29 16:17:03 -05:00
Jonathan Kelley
8887d65e1b Merge branch 'master' into jk/suspense-rollover 2022-12-25 22:10:22 -05:00
Jonathan Kelley
5a70c6ecf9 chore: swap over router none 2022-12-22 14:45:48 -05:00
Evan Almloff
e5a5850354 merge master 2022-12-20 20:48:28 -06:00
Jonathan Kelley
d3be971f4e chore: rollback to option instead of anyhow 2022-12-19 18:06:13 -08:00
Evan Almloff
4364a4b511 handle updating templates better 2022-12-19 19:28:44 -06:00
Jonathan Kelley
7ce07e3164 chore: fix tests passing 2022-12-07 15:29:32 -08:00
Jonathan Kelley
5673017def chore: clean up the repo some 2022-12-06 17:50:25 -08:00
Jonathan Kelley
5a0ae67ccb chore: make clippy happy 2022-12-06 17:44:29 -08:00
Jonathan Kelley
34d9aafe0e feat: overhaul ssr 2022-12-06 17:41:47 -08:00
Jonathan Kelley
b182a6ee75 chore: clean up interpreter and bindings 2022-12-05 16:47:04 -08:00
Jonathan Kelley
7b1cdb7d85 feat: get desktop working with new template strategy 2022-12-05 16:08:41 -08:00
Jonathan Kelley
a61daf220d feat: context api overhaul 2022-12-02 16:24:49 -08:00
Jonathan Kelley
3c19def550 chore: get create working and simplify dynamic nodes 2022-11-30 11:24:13 -05:00
Jonathan Kelley
491bf4332d wip: stop transmuting reference 2022-11-21 17:00:34 -08:00
Jonathan Kelley
04bc635ac5 wip: prep to fix bug in create 2022-11-15 23:22:41 -08:00
Jonathan Kelley
0dad91bc08 wip: pass more events 2022-11-15 16:37:23 -08:00
Jonathan Kelley
47d0f51e00 wip: overhaul event system 2022-11-15 16:05:22 -08:00
Jonathan Kelley
a38fc9e4ab feat: suspense! 2022-11-06 01:48:34 -07:00
Jonathan Kelley
d2ce57ba6e feat: poll async once 2022-11-03 20:56:31 -07:00
Jonathan Kelley
584504feb7 feat: keys 2022-11-03 01:24:20 -07:00
Jonathan Kelley
dddbcfd5e2 feat: works with components 2022-11-02 17:36:36 -07:00
Jonathan Kelley
c6a6c3d0f8 feat: components pass thru children 2022-11-02 17:29:18 -07:00
Jonathan Kelley
b6c0bce89c feat: support cached ssr 2022-11-02 01:00:37 -07:00
Jonathan Kelley
22d4bf7346 feat: use walking pattern 2022-10-26 18:04:47 -07:00
Jonathan Kelley
7cbb4d52dd wip: more modifications to templates 2022-10-21 18:54:14 -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
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
Evan Almloff
fbf8e13b8d clean up imports 2022-06-25 08:27:10 -05:00
Jonathan Kelley
356f37e9ee feat: arbitrary attributes 2022-05-05 16:50:33 -04:00
Jonathan Kelley
3febd42588 Release dioxus-core v0.2.1, dioxus-core-macro v0.2.1, dioxus-html v0.2.1, dioxus-interpreter-js v0.2.1, dioxus-desktop v0.2.3, dioxus-hooks v0.2.1, dioxus-liveview v0.1.0, dioxus-native-core v0.2.0, dioxus-native-core-macro v0.2.0, dioxus-router v0.2.3, dioxus-ssr v0.2.1, dioxus-tui v0.2.2, dioxus-web v0.2.1, fermi v0.2.1, dioxus v0.2.4 2022-05-02 23:57:20 -04:00
Jonathan Kelley
e7505188d6 release: make a new 0.2.0 release of Dioxus 2022-03-09 14:24:05 -05:00
Jonathan Kelley
f6c6134d67 Release dioxus-core v0.1.9 2022-01-29 10:42:38 -05:00
Jonathan Kelley
3c2d5985da Release dioxus-ssr v0.1.3 2022-01-29 10:37:34 -05:00
Jonathan Kelley
f965030b80 Release dioxus-core v0.1.8 2022-01-29 10:36:10 -05:00
Jonathan Kelley
56f3002aed feat: add changelogs 2022-01-29 10:17:14 -05:00
Dave Rolsky
9e4ec43b1e Fix various typos and grammar nits
I also removed all trailing whitespace from lines since I have Emacs
configured to highlight this.
2022-01-21 21:43:43 -06:00
Jonathan Kelley
255f58af63 fix: ssr respects bool attrs 2022-01-10 01:32:32 -05:00
Alexandre Kirszenberg
b6903bf558 Enable clippy 2022-01-08 16:35:26 +01:00
Jonathan Kelley
b804c691d5 Release dioxus-hooks v0.1.6, dioxus-mobile v0.0.3, dioxus-router v0.1.0, dioxus-ssr v0.1.2, dioxus-web v0.0.4, dioxus v0.1.7 2022-01-08 02:30:37 -05:00
Jonathan Kelley
a36dab7f45 Release dioxus-html v0.1.4, dioxus-desktop v0.1.5, dioxus-hooks v0.1.6, dioxus-mobile v0.0.3, dioxus-router v0.1.0, dioxus-ssr v0.1.2, dioxus-web v0.0.4, dioxus v0.1.7 2022-01-08 02:28:25 -05:00
Jonathan Kelley
40d1f85d0c Release dioxus-core v0.1.7, dioxus-core-macro v0.1.6, dioxus-html v0.1.4, dioxus-desktop v0.1.5, dioxus-hooks v0.1.6, dioxus-mobile v0.0.3, dioxus-router v0.1.0, dioxus-ssr v0.1.2, dioxus-web v0.0.4, dioxus v0.1.7 2022-01-08 02:25:03 -05:00
Jonathan Kelley
c6e917c4a0 tweak: add palceholder as comment content 2022-01-07 00:37:28 -05:00