extend interpreter base class with platform methods

This commit is contained in:
Jonathan Kelley committed 2024-02-27 12:31:11 -08:00
1 parent 7f60010c1e
commit b5447c162f
27 files changed
+1394 -1371

No files matched your search

+10
View File
@@ -25,6 +25,16 @@
This crate features bindings for the web and sledgehammer for increased performance.
## Architecture
We use TypeScript to write the bindings and a very simple build.rs to convert them to javascript, minify them, and glue them into the rest of the project.
Not every snippet of JS will be used, so we split out the snippets from the core interpreter.
In theory, we *could* use Rust in the browser to do everything these bindings are doing. In reality, we want to stick with JS to skip the need for a WASM build step when running the LiveView and WebView renderers. We also want to use JS to prevent diverging behavior of things like canceling events, uploading files, and collecting form inputs. These details are tough to ensure 1:1 compatibility when implementing them in two languages.
If you want to contribute to the bindings, you'll need to have the typescript compiler installed on your machine, accessible via `tsc`.
## Contributing
- Report issues on our [issue tracker](https://github.com/dioxuslabs/dioxus/issues).