Add usage section to iced_web

This commit is contained in:
Héctor Ramón Jiménez 2019-11-20 10:54:32 +01:00
parent 4b94cf0035
commit 409b2db994

View File

@ -25,3 +25,41 @@ __Iced moves fast and the `master` branch can contain breaking changes!__ If
you want to learn about a specific release, check out [the release list]. you want to learn about a specific release, check out [the release list].
[the release list]: https://github.com/hecrj/iced/releases [the release list]: https://github.com/hecrj/iced/releases
## Usage
The current build process is a bit involved, as [`wasm-pack`] does not currently [support building binary crates](https://github.com/rustwasm/wasm-pack/issues/734).
Therefore, we instead build using the `wasm32-unknown-unknown` target and use the [`wasm-bindgen`] CLI to generate appropriate bindings.
For instance, let's say we want to build the [`tour` example]:
```
cd examples
cargo build --example tour --target wasm32-unknown-unknown
wasm-bindgen ../target/wasm32-unknown-unknown/debug/examples/tour.wasm --out-dir tour --web
```
Then, we need to create an `.html` file to load our application:
```html
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-type" content="text/html; charset=utf-8"/>
<title>Tour - Iced</title>
</head>
<body>
<script type="module">
import init from "./tour/tour.js";
init('./tour/tour_bg.wasm');
</script>
</body>
</html>
```
Finally, we serve it using an HTTP server and access it with our browser.
[`wasm-pack`]: https://github.com/rustwasm/wasm-pack
[`wasm-bindgen`]: https://github.com/rustwasm/wasm-bindgen
[`tour` example]: ../examples/README.md#tour