Jonathan Kelley
30ef225812
feat: event handling on desktop
2022-11-17 20:00:39 -08:00
Jonathan Kelley
e8ae830cf2
feat: get desktop working with just creation
2022-11-15 18:32:48 -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
c44bd11fe5
chore: more refactoring, docs
2022-11-11 18:29:27 -08:00
Jonathan Kelley
fc9fe6e560
feat: split apart template mutations
2022-11-08 19:39:37 -08:00
Jonathan Kelley
5d91f51e17
chore: clean things up
2022-11-03 01:38:18 -07:00
Jonathan Kelley
584504feb7
feat: keys
2022-11-03 01:24:20 -07:00
Jonathan Kelley
c6a6c3d0f8
feat: components pass thru children
2022-11-02 17:29:18 -07:00
Jonathan Kelley
4a31b29703
feat: simple tests passing
2022-11-01 18:42:29 -07:00
Jonathan Kelley
23603aaaf5
wip: rewrite core to be template focused
2022-10-27 21:58:47 -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
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
28fba42e7e
feat: add an unhygenic render macro ( #556 )
...
* feat: add an unhygenic render macro
* chore: use render instead of rsx!(cx,
2022-09-25 01:05:16 -07:00
Jonathan Kelley
94004cfe19
chore: clean up some clippy stuff
2022-07-03 00:11:28 -04:00
Evan Almloff
61b4bb2f19
handle bubbling events
2022-06-22 13:57:05 -05:00
Evan Almloff
db1866090a
fix broken doc links
2022-05-22 20:44:32 -05:00
Evan Almloff
26d92b6e51
rebase master
2022-03-26 20:27:10 -05:00
Jonathan Kelley
f77f8c8500
fmt
2022-02-26 17:38:05 -05:00
Jonathan Kelley
62df5f7097
docs: document the entire core crate
2022-02-20 17:37:46 -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
bd341f5571
fix: tests
2022-01-05 17:30:12 -05:00
Jonathan Kelley
d84fc05386
feat: plug in bubbling
2022-01-03 02:06:42 -05:00
Jonathan Kelley
2933e4bc11
wip: major cleanups to scheduler
2021-11-06 23:11:17 -04:00
Jonathan Kelley
95bd17e38f
wip: more raw ptrs
2021-11-05 18:02:44 -04:00
Jonathan Kelley
db0004758c
Merge branch 'master' into jk/remove_node_safety
2021-10-28 17:09:51 -04:00
Jonathan Kelley
fda2ebc2a2
feat: improve safety
2021-10-25 15:05:17 -04:00
Alexandre Kirszenberg
5747e00b27
Various typos/grammar/rewording
2021-10-24 19:30:36 +02:00
Jonathan Kelley
f49244344c
polish: listen to clippy
2021-10-17 20:18:30 -04:00
Jonathan Kelley
16dbf4a6f8
wip: book documentation
2021-10-16 17:04:28 -04:00
Jonathan Kelley
460783ad54
docs: lnks to projects
2021-10-14 12:46:50 -04:00
Jonathan Kelley
1f22a06a36
wip: event system
2021-10-07 16:18:54 -04:00
Jonathan Kelley
efd0e9b564
feat: support desktop more completely
2021-10-05 03:37:15 -04:00
Jonathan Kelley
a2b0c50a34
feat: add update functionality to useref
2021-10-04 10:22:20 -04:00
Jonathan Kelley
5502429626
feat: desktop functioning well
2021-10-04 02:54:20 -04:00
Jonathan Kelley
7a03c1d2b4
wip: overhaul event system
2021-10-04 01:28:04 -04:00
Jonathan Kelley
82953f2ac3
wip: threadsafe
2021-10-01 02:07:12 -04:00
Jonathan Kelley
04d16b41dc
polish: exampels
2021-09-24 02:37:51 -04:00
Jonathan Kelley
1a2f91ed91
polish: examples
2021-09-24 00:05:56 -04:00
Jonathan Kelley
f1cff845ce
wip: examples
2021-09-21 12:11:04 -04:00
Jonathan Kelley
adf202eab9
wip: more doc
2021-09-20 17:36:39 -04:00
Jonathan Kelley
7978a17419
wip: bubbling
2021-09-20 12:32:21 -04:00
Jonathan Kelley
0ded32e184
wip: reduce warnings
2021-09-14 00:58:33 -04:00
Jonathan Kelley
da8159190b
polish: tests and documentation
2021-09-09 20:58:48 -04:00
Jonathan Kelley
725b4a1d7f
wip: fix some event stuff for web and core
2021-09-02 00:37:57 -04:00
Jonathan Kelley
a652090dc5
wip: add test_dom
2021-09-01 23:57:34 -04:00
Jonathan Kelley
fac2e56ed6
feat: update root props
2021-09-01 15:45:53 -04:00
Jonathan Kelley
5cbdc571e3
more cleanup
2021-08-31 12:28:44 -04:00
Jonathan Kelley
8b0eb87c72
wip: refactor
2021-08-26 22:05:09 -04:00
Jonathan Kelley
41cc42919d
wip: more overhaul on virtualevents
2021-08-25 16:40:18 -04:00