saicu
e8c48d46cf
replace fxhash crate with rustc-hash ( #588 )
2022-10-12 18:27:26 -07:00
Demonthos
928b5358b2
allow arbitrary attribute value in owned attribute value ( #574 )
2022-10-02 14:13:06 -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
Evan Almloff
f9713b2fe9
Merge remote-tracking branch 'origin/master' into jk/rsx-refactor
2022-05-27 17:56:50 -05:00
Evan Almloff
871f51f91b
It compiles
2022-05-25 14:08:59 -05:00
Evan Almloff
ca10d89670
add RsxTextIndex
2022-05-25 11:20:07 -05: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
Joshua Kifer
1b736f1001
Remove release_max_level features from several Cargo.toml log dependencies
2022-03-15 17:59:30 -06:00
Jonathan Kelley
e7505188d6
release: make a new 0.2.0 release of Dioxus
2022-03-09 14:24:05 -05:00
Jonathan Kelley
e04a6d63a5
chore: move tests out of core and into the top level crate
...
This commit moves the tests out of core so rust analyzer
is happier with the workspace.
2022-03-02 22:48:22 -05:00
Dave Rolsky
06ea624eec
Make all packages which require futures-channel ask for the same version
...
If they aren't the same then Cargo cannot resolve a working version for some
reason.
2022-02-15 10:27:11 -06:00
Jonathan Kelley
f6c6134d67
Release dioxus-core v0.1.9
2022-01-29 10:42:38 -05:00
Jonathan Kelley
f965030b80
Release dioxus-core v0.1.8
2022-01-29 10:36:10 -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
4f92ba4160
wip: bump all versions
2022-01-03 19:32:27 -05:00
Jonathan Kelley
f9b9bb9c0c
publish: update core, core-macro, and html
2022-01-03 02:13:14 -05:00
Jonathan Kelley
06276edd0d
feat: eanble bubbling
2022-01-03 02:11:26 -05:00
Jonathan Kelley
a95dead76d
formatting: run cargo fmt
2022-01-03 01:20:05 -05:00
Jonathan Kelley
14961023f9
wip: polish some more things
2021-12-29 21:28:28 -05:00
Jonathan Kelley
ddfa2bac3f
publish: bump core version
2021-12-29 13:28:53 -05:00
Jonathan Kelley
cda759c659
examples: upgrade to new version of dioxus core.
...
also add the inline_props macro
2021-12-25 17:18:05 -05:00
Jonathan Kelley
2c3a046426
wip: prepare to change our fragment pattern. Add some more docs
2021-12-18 15:17:32 -05:00
Jonathan Kelley
0d480a4c43
Release dioxus-core v0.1.3, dioxus-core-macro v0.1.2, dioxus-html v0.1.0, dioxus-desktop v0.0.0, dioxus-hooks v0.1.3, dioxus-liveview v0.1.0, dioxus-mobile v0.0.0, dioxus-router v0.1.0, dioxus-ssr v0.1.0, dioxus-web v0.0.0, dioxus v0.1.0
2021-12-15 16:06:15 -05:00
Jonathan Kelley
868f6739d2
fix: keyword length
2021-12-15 16:06:13 -05:00
Jonathan Kelley
b32665d721
Release dioxus-core v0.1.3, dioxus-core-macro v0.1.2, dioxus-html v0.1.0, dioxus-desktop v0.0.0, dioxus-hooks v0.1.3, dioxus-liveview v0.1.0, dioxus-mobile v0.0.0, dioxus-router v0.1.0, dioxus-ssr v0.1.0, dioxus-web v0.0.0, dioxus v0.1.0
2021-12-15 16:05:20 -05:00
Jonathan Kelley
a33f7701fc
fix: tags
2021-12-15 16:05:18 -05:00
Jonathan Kelley
3a706ac416
Release dioxus-core v0.1.3, dioxus-core-macro v0.1.2, dioxus-html v0.1.0, dioxus-desktop v0.0.0, dioxus-hooks v0.1.3, dioxus-liveview v0.1.0, dioxus-mobile v0.0.0, dioxus-router v0.1.0, dioxus-ssr v0.1.0, dioxus-web v0.0.0, dioxus v0.1.0
2021-12-15 16:04:30 -05:00
Jonathan Kelley
e4c06ce8e8
docs: update cargo tomls
2021-12-15 16:04:27 -05:00
Jonathan Kelley
270dfc9590
Release dioxus-core v0.1.3, dioxus-core-macro v0.1.2, dioxus-html v0.1.0, dioxus-desktop v0.0.0, dioxus-hooks v0.1.3, dioxus-liveview v0.1.0, dioxus-mobile v0.0.0, dioxus-router v0.1.0, dioxus-ssr v0.1.0, dioxus-web v0.0.0, dioxus v0.1.0
2021-12-15 15:59:11 -05:00
Jonathan Kelley
4de16c4779
docs: update local examples and docs to support new syntaxes
2021-12-15 15:56:53 -05:00
Jonathan Kelley
e495b09bf1
docs: fix table
2021-12-14 23:01:40 -05:00
Jonathan Kelley
52c7154897
fix: really big bug around hooks
2021-11-29 11:10:40 -05:00
Jonathan Kelley
36d89beb34
wip: rename
2021-11-28 16:25:42 -05:00
Jonathan Kelley
93d4b8ca7c
wip: some docs and suspense
2021-11-23 15:53:57 -05:00
Jonathan Kelley
a5f05d73ac
wip: docs and router
2021-11-19 00:49:04 -05:00
Jonathan Kelley
25a8411485
wip: better desktop support
2021-11-16 01:25:38 -05:00
Jonathan Kelley
c10c1f418b
feat: wire up linked nodes
2021-11-11 11:49:07 -05:00
Jonathan Kelley
857c92f7f0
wip: compiling again with runtime safety
2021-11-06 20:59:46 -04:00
Jonathan Kelley
f438bbcfd2
wip: move children onto scope
2021-11-01 03:49:32 -04:00
Jonathan Kelley
d1b294fff0
polish: move debugging virtualdom into its own feature
2021-11-01 03:35:26 -04:00
Jonathan Kelley
f70b5b4e4a
wip: try to get lifetimes passed in properly
2021-10-30 20:28:58 -04:00
Jonathan Kelley
ba9e1dbb8f
fix: messed up how lifetimes worked, need to render once per component
2021-10-29 21:43:21 -04:00
Jonathan Kelley
0e9d5fc530
wip: move everything over to a stack dst
2021-10-29 17:12:30 -04:00
Jonathan Kelley
601078f9cf
fix: desktop and mobile
2021-10-22 01:16:39 -04:00
Jonathan Kelley
83dd49d890
chores: slim deps and upgrade docs
2021-10-19 12:09:23 -04:00
Jonathan Kelley
16dbf4a6f8
wip: book documentation
2021-10-16 17:04:28 -04:00
Jonathan Kelley
71f0df6374
publish: ssr
2021-09-24 22:15:50 -04:00
Jonathan Kelley
4a5041c590
publish: fix typo
2021-09-24 21:49:03 -04:00
Jonathan Kelley
7bdad1e2e6
publish: move macro crate out of core
2021-09-24 21:46:23 -04:00
Jonathan Kelley
a5f82be433
polish
2021-09-24 20:55:41 -04:00