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
saicu
e8c48d46cf
replace fxhash crate with rustc-hash ( #588 )
2022-10-12 18:27:26 -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
041f474329
Merge remote-tracking branch 'upstream/master' into clean_up_rsx_imports
2022-06-26 07:22:55 -05:00
YuKun Liu
0af69f83f2
Rename hot_reload
to hot-reload
2022-06-26 14:23:19 +08:00
Evan Almloff
fbf8e13b8d
clean up imports
2022-06-25 08:27:10 -05:00
Evan Almloff
586983291a
log parse errors
2022-06-13 17:02:43 -05:00
Evan Almloff
e7cf382784
create websocket for hot reloading
2022-06-06 13:30:32 -05:00
duanzhou
328bab0f5b
Fix: enable dioxus-core
serialize
feature in dioxuse-web
2022-05-18 00:30:36 +08: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
Aster
329b182e2d
Add feature gate
2022-04-24 11:48:15 +08:00
Jon Kelley
5c6ff70dd4
Merge pull request #316 from DioxusLabs/jk/fix-hydration
...
fix: setnode method for rehydration code
2022-03-20 20:11:55 -04:00
Jonathan Kelley
f26f704b6b
fix: setnode method for rehydration code
2022-03-17 10:51:23 -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
3873cd1a60
fix: remove unused depds
2022-02-16 14:40:45 -05:00
Jonathan Kelley
e43a8a9b6a
feat: remove old async channel for new channel in ric raf web code
2022-02-15 11:03:13 -05:00
Jonathan Kelley
4f46089fce
feat: use serde-wasm-bindgen crate for speedup
2022-02-07 10:17:16 -05:00
Jonathan Kelley
169f1dac11
Merge branch 'master' into jk/form-ma
2022-02-04 18:10:26 -05:00
Jonathan Kelley
ca0d7dc268
fix: remove code generation
2022-02-04 01:56:54 -05:00
Jonathan Kelley
c4556d050e
Merge branch 'master' into jk/form-ma
2022-02-02 01:50:43 -05:00
Jonathan Kelley
527434b9f9
feat: make the interpreter as its own crate
2022-02-01 15:44:08 -05:00
Jonathan Kelley
7c06b3a9a2
Merge branch 'master' into jk/form-ma
2022-02-01 15:24:19 -05:00
Jonathan Kelley
6339fa8188
Release dioxus-html v0.1.6, dioxus-router v0.1.1
2022-01-29 10:42:52 -05:00
Jonathan Kelley
f6c6134d67
Release dioxus-core v0.1.9
2022-01-29 10:42:38 -05:00
Jonathan Kelley
2c51a090e3
Release dioxus-web v0.0.5
2022-01-29 10:37:50 -05:00
Jonathan Kelley
11ba189eab
Release dioxus-html v0.1.5
2022-01-29 10:36:24 -05:00
Jonathan Kelley
f965030b80
Release dioxus-core v0.1.8
2022-01-29 10:36:10 -05:00
Jonathan Kelley
1406c9020b
feat: add panic hook by default
2022-01-24 02:57:56 -05:00
Jonathan Kelley
f66d17ca84
wip: pass form data between web and desktop
2022-01-22 14:53:59 -05:00
Jonathan Kelley
10db6ad65b
wip: web now links against the js interprter code
2022-01-12 08:57:42 -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
bbb6ee10de
feat: make hydration more robust
2022-01-07 00:33:09 -05:00
Jonathan Kelley
4ea5c990d7
publish: new versions of everything
2022-01-03 19:44:04 -05:00
Jonathan Kelley
4f92ba4160
wip: bump all versions
2022-01-03 19:32:27 -05:00
Jonathan Kelley
c0cd50b1d3
publish: dioxus web
2022-01-03 02:15:34 -05:00
Jonathan Kelley
2d58d380be
publish: get web ready gto publish
2021-12-29 13:37:25 -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
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
7a03c1d2b4
wip: overhaul event system
2021-10-04 01:28:04 -04:00
Jonathan Kelley
7bdad1e2e6
publish: move macro crate out of core
2021-09-24 21:46:23 -04:00