Commit graph

269 commits

Author SHA1 Message Date
Antonio Curavalea
459d8d69a7
examples: add PWA w/ Dioxus CLI template (#977)
* examples: add PWA w/ Dioxus CLI template

* ci: properly set workspace and dependencies
2023-04-23 18:26:23 -05:00
Adrian Wannenmacher
231e32d76e
merge upstream changes 2023-04-11 19:21:48 +02:00
Evan Almloff
0e445c9f59 add desktop server functions example 2023-04-03 13:34:34 -05:00
Evan Almloff
e1bb6cc750 Merge branch 'upstream' into server-fn 2023-04-02 07:11:07 -05:00
Evan Almloff
bfcb0f6eab add an example illistrating intigration with the router 2023-03-31 15:33:44 -05:00
Evan Almloff
976d4ab960 Add warp adapter 2023-03-31 09:40:58 -05:00
Evan Almloff
f618da7311 allow passing props to the rendered component 2023-03-30 19:42:46 -05:00
Evan Almloff
1d395d572f fix workspace build 2023-03-30 10:38:32 -05:00
Evan Almloff
7f6f6fb8c8 create server package 2023-03-28 13:35:17 -05:00
Evan Almloff
0029fed24a create complete tailwind example project with steps to setup tailwind 2023-03-26 11:29:56 -05:00
Evan Almloff
f34fa5d974 Move dioxus-specifc code into dioxus-tui crate and rename core crate to Rink 2023-03-13 12:04:51 -05:00
Evan Almloff
a8566b4e71 finish shipyard migration in native-core 2023-03-07 16:00:43 -06:00
Evan Almloff
d53bfb6c56 Merge branch 'upstream' into simplify-native-core 2023-01-28 18:49:19 -06:00
Evan Almloff
4738352955 remove native-core-macro 2023-01-22 16:41:15 -06:00
Evan Almloff
351b9fab6f allow custom namespaces 2023-01-12 10:52:24 -06:00
=
9e45cbe4a7 remove the hot-reload-macro crate 2023-01-11 18:51:09 -06:00
Evan Almloff
1073574896 implement hot reloading for desktop 2023-01-11 13:40:02 -06:00
Jonathan Kelley
4f9d67fb45 feat: simple signals implementation 2023-01-01 19:57:33 -05:00
Jonathan Kelley
d3ab397ad3 chore: add transparency and overlay 2022-12-30 22:30:04 -05:00
Jonathan Kelley
c890051f87 chore: add back examples 2022-12-28 16:23:05 -05:00
Jonathan Kelley
bc3cf6501c feat: complete html to rsx rosetta 2022-12-28 16:22:20 -05:00
Jonathan Kelley
14bc007c15 wip: refactor out translation into its own crate 2022-12-28 11:51:41 -05:00
Adrian Wannenmacher
dbbfdefc21
Merge branch 'master' of github.com:DioxusLabs/dioxus into router-2 2022-12-23 18:19:02 +01:00
Jonathan Kelley
8d7d07db56 chore: make clippy happy in workspace crate 2022-12-19 11:56:44 -08:00
Adrian Wannenmacher
a7e9b32f7e
Merge branch 'master' of github.com:DioxusLabs/dioxus into router-2 2022-12-14 17:19:37 +01:00
Jonathan Kelley
5c20e651da fix: get rollover working 2022-12-13 14:44:47 -08:00
Adrian Wannenmacher
1d69698ec9
Merge branch 'master' of github.com:DioxusLabs/dioxus into router-2 2022-12-08 23:01:12 +01:00
Jonathan Kelley
f075a519cc chore: prevent publishing 2022-12-07 13:21:38 -08:00
Jonathan Kelley
6184ea500b chore: also fix native core 2022-12-07 13:20:31 -08:00
Adrian Wannenmacher
1f1c49b9c9
add router core 2022-12-03 21:49:16 +01:00
Jonathan Kelley
3b166c9edd wip: clean up some things 2022-11-30 23:54:30 -05:00
Jonathan Kelley
18d6b1ad6f feat: get web working properly 2022-11-30 17:21:10 -05:00
Jonathan Kelley
4a31b29703 feat: simple tests passing 2022-11-01 18:42:29 -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
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
Reinis Mazeiks
6c323e9fc5
Rework Guide (#486)
* Move getting started to Guide

* Clean up summary and getting started

* Shorten intro by moving stuff to individual platform docs

* Make intro even shorter, summarize features

* Further cleanup; move development-related docs to separate section

* Make `guide` a crate. Turn code samples into examples so that we can check if they compile

* Rewrite "Describing the UI":

* Focus on RSX syntax (interactivity covered in later chapters); make sure samples are tested; concise language

* Move some "special attribute" samples to the `examples` directory

* Simplify introduction to components

* Simplify introduction to component props

* Document Prop features; add code samples

* Simplify component children docs

* Interactivity: better introduction to events

* Hooks: better introduction

* Remove outdated doc

* Introducs use_ref

* Simplify User Input chapter

* Document event handler props

* Meme editor example

* Meme editor walkthrough

* Add dark mode example

* Guide for context; dark mode example

* Guide: custom hooks

* Guide: conditional rendering

* Guide: rendering lists

* Guide: rendering lists + keys

* Move remaining infor from Reference to guide

* Delete reference book
2022-07-07 08:50:36 +00:00
Jonathan Kelley
e627a66acc Merge branch 'master' into jk/autofmt 2022-06-30 15:23:05 -04:00
Evan Almloff
706b6c957b change hot_reload to hot-reload in dev-dependancies 2022-06-26 07:26:03 -05: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
6c20d74797 finish cleanup 2022-06-25 08:48:03 -05:00
Evan Almloff
fbf8e13b8d clean up imports 2022-06-25 08:27:10 -05:00
YuKun Liu
1c31fd0e22
Update Cargo.toml 2022-06-25 15:36:47 +08:00
Jonathan Kelley
5b9e34aadd feat: add fork of prettyplease for autoformatting 2022-06-24 14:22:08 -04:00
Evan Almloff
9be8cc503f restore router 2022-06-16 21:08:48 -05:00
Evan Almloff
79ddab2720 restore dev-dependancies 2022-06-16 21:07:18 -05:00
Demonthos
df4ea20bb8 create serde compatible parse error 2022-06-15 12:58:08 -05:00
Evan Almloff
017d269ca8 fix websocket error reporting 2022-06-09 09:36:28 -05:00
Evan Almloff
3cd4175e2e remove braces from captured variables 2022-06-05 08:39:50 -05:00
Evan Almloff
0079f7d18b WIP: expose pipe for desktop 2022-06-02 13:33:08 -05:00
Evan Almloff
3b2ac82e8d fix spelling of interpreter 2022-05-31 12:18:22 -05:00
Evan Almloff
195dd22206 don't compile dioxus-router unless the router feature is enabled 2022-05-28 12:11:47 -05:00
Evan Almloff
f9713b2fe9 Merge remote-tracking branch 'origin/master' into jk/rsx-refactor 2022-05-27 17:56:50 -05:00
Evan Almloff
13125fef4e restore dev dependancies 2022-05-27 17:54:36 -05:00
Evan Almloff
fb4cb1a05b remove autoformat 2022-05-25 14:02:43 -05:00
Evan Almloff
ca10d89670 add RsxTextIndex 2022-05-25 11:20:07 -05:00
Evan Almloff
c7c84da8ab WIP hot reload 2022-05-25 08:58:59 -05:00
Jonathan Kelley
8ab1c4d0de feat: upgrade wry 2022-05-05 16:29:24 -04:00
Jonathan Kelley
4ef2cfaba5 fix: specify version 2022-05-03 00:05:54 -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
Evan Almloff
0b1e17c830 add native-core-macro to workspace 2022-05-02 20:25:29 -05:00
Jonathan Kelley
4fa909e864 feat: ensure parsing works with right indicies 2022-04-24 19:38:28 -04:00
Jonathan Kelley
2a1970b3a9 feat: add prettyplease vendored and get basic test working 2022-04-24 02:55:20 -04:00
Jonathan Kelley
794f43ffee concept: move rsx out to its own crate 2022-04-24 02:35:52 -04:00
Evan Almloff
c8919ad77b add benchmark 2022-04-20 21:44:37 -05:00
Evan Almloff
92f48169e9 WIP new api 2022-04-08 21:17:37 -05:00
Evan Almloff
5b25500c0b finishing touches and benchmarks 2022-03-30 20:45:41 -05:00
Evan Almloff
26d92b6e51 rebase master 2022-03-26 20:27:10 -05:00
Ilya Maximov
b8573bc4dd
refactor: remove the rsx folder
it doesn't seem to be published anywhere or used at all
2022-03-19 20:35:53 +01:00
Jonathan Kelley
7e9d7c3ef0 feat: add feature flag for liveview 2022-03-15 01:57:40 -04:00
Jonathan Kelley
71184b51a0 feat: liveview working with warp 2022-03-15 01:02:44 -04:00
Jonathan Kelley
3f130d9bd0 fix: use updated version of stretch for layout 2022-03-09 21:42:37 -05:00
Jonathan Kelley
ed07e914d3 fix: compile router on web 2022-03-09 21:14:22 -05:00
Jonathan Kelley
1c2e5e2aea publish: update dioxus with router fix 2022-03-09 17:53:02 -05:00
Jonathan Kelley
e7505188d6 release: make a new 0.2.0 release of Dioxus 2022-03-09 14:24:05 -05:00
Jonathan Kelley
58a20913b6 chore; make tui pass clippy 2022-03-09 13:30:44 -05:00
Jonathan Kelley
83be3df42a cfg: expose router feature flags for web 2022-03-04 14:34:25 -05:00
Jonathan Kelley
c19995fed9 fix: debug multistage edits in desktop 2022-03-04 13:17:01 -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
Jörg Kurlbaum
cc0e2c4877 Add options for compilation on systems that lack libappindicator3 2022-02-24 14:32:43 +01:00
Jonathan Kelley
45231651dd fix: quick patch 2022-02-22 16:34:06 -05:00
Jonathan Kelley
93b4f745af
Merge pull request #132 from DioxusLabs/jk/partialexpansion
feat: split out rsx into its own crate
2022-02-19 00:02:10 -05:00
Jonathan Kelley
c1d692dd97 fix: dioxus must specify rust versionand edition 2022-02-18 23:33:48 -05:00
Jonathan Kelley
b93487282d feat: move files around 2022-02-18 20:54:30 -05:00
Jonathan Kelley
7c788e59f5 Merge branch 'master' into jk/partialexpansion 2022-02-18 15:34:52 -05:00
Jonathan Kelley
b2472e3cfe Merge branch 'master' into jk/partialexpansion 2022-02-18 15:31:49 -05:00
Jonathan Kelley
d461ffc011 feat: integrate fermi 2022-02-17 10:38:51 -05:00
Christoph Grabo
ee2b869e99
Add optional feature flags of wry
Check wry's documentation for each.
Some of them are platform dependent or
have platform dependent effects.
(mostly MacOS and Linux)
2022-02-13 20:30:10 +01:00
Christoph Grabo
c502535724
Update dependencies
Specifically set wry to 0.13;
this has breaking changes (notably: RPC -> IPC).
2022-02-13 20:30:10 +01:00
Jonathan Kelley
ca7ce46cdb Merge branch 'master' into jk/partialexpansion 2022-02-13 12:36:02 -05:00
Jonathan Kelley
ee67a041d2 feat: turn interpreter into crate 2022-02-01 15:38:48 -05:00
Dave Rolsky
d8ee553eac Fix the license field in Cargo.toml to be valid SPDX 2022-01-30 11:44:56 -06:00
Jonathan Kelley
875977f5a6 publish: update 0.1.8 for dioxus 2022-01-29 10:48:41 -05:00
Jonathan Kelley
9b3192323e Release dioxus-desktop v0.1.6 2022-01-29 10:43:43 -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
d570bb6c42 Release dioxus-router v0.1.1 2022-01-29 10:40:03 -05:00
Jonathan Kelley
2c51a090e3 Release dioxus-web v0.0.5 2022-01-29 10:37:50 -05:00
Jonathan Kelley
3c2d5985da Release dioxus-ssr v0.1.3 2022-01-29 10:37:34 -05:00