Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Rust + WebAssembly News #79

Open
fitzgen opened this issue Mar 6, 2018 · 131 comments
Open

Rust + WebAssembly News #79

fitzgen opened this issue Mar 6, 2018 · 131 comments
Labels

Comments

@fitzgen
Copy link
Member

fitzgen commented Mar 6, 2018

Leave comments here with

  • new blog posts
  • announcements of new tools/libraries
  • new releases from libraries/tools
  • anything notable in the rust+wasm world
  • suggested rust+wasm quote of the $TIME_PERIOD
  • suggested rust+wasm crate of the $TIME_PERIOD

I'll go through the comments on this issue periodically and turn them into "This Week in Rust+WASM" style posts.

@rustwasm rustwasm deleted a comment from Pauan Apr 6, 2018
@rustwasm rustwasm deleted a comment from Pauan Apr 6, 2018
@rustwasm rustwasm deleted a comment from mgattozzi Apr 6, 2018
@rustwasm rustwasm deleted a comment from mgattozzi Apr 6, 2018
@rustwasm rustwasm deleted a comment from Pauan Apr 6, 2018
@rustwasm rustwasm deleted a comment from pepyakin Apr 6, 2018
@rustwasm rustwasm deleted a comment from est31 Apr 6, 2018
@rustwasm rustwasm deleted a comment from alexcrichton Apr 6, 2018
@rustwasm rustwasm deleted a comment from ashleygwilliams Apr 6, 2018
@rustwasm rustwasm deleted a comment from mgattozzi Apr 6, 2018
@rustwasm rustwasm deleted a comment from alexcrichton Apr 6, 2018
@fitzgen

This comment has been minimized.

@est31

This comment has been minimized.

@fitzgen

This comment has been minimized.

@fitzgen

This comment has been minimized.

@fitzgen

This comment has been minimized.

@fitzgen

This comment has been minimized.

@fitzgen

This comment has been minimized.

@fitzgen

This comment has been minimized.

@fitzgen

This comment has been minimized.

@fitzgen

This comment has been minimized.

@fitzgen

This comment has been minimized.

@fitzgen

This comment has been minimized.

@fitzgen

This comment has been minimized.

@fitzgen

This comment has been minimized.

@fitzgen

This comment has been minimized.

@Pauan

This comment has been minimized.

@fitzgen

This comment has been minimized.

@fitzgen

This comment has been minimized.

@fitzgen

This comment has been minimized.

@fitzgen

This comment has been minimized.

@pchickey

This comment has been minimized.

@iamcodemaker

This comment has been minimized.

@sendilkumarn

This comment has been minimized.

@chicoxyzzy

This comment has been minimized.

@fitzgen

This comment has been minimized.

@fitzgen

This comment has been minimized.

@jlegrone

This comment has been minimized.

@Hywan

This comment has been minimized.

@Hywan

This comment has been minimized.

@prichey

This comment has been minimized.

@fitzgen
Copy link
Member Author

fitzgen commented Apr 15, 2019

wee_alloc 0.4.4 released with support for stable rust on w32-u-u: https://github.com/rustwasm/wee_alloc/blob/master/CHANGELOG.md#044

@Hywan
Copy link
Contributor

Hywan commented Apr 15, 2019

Wasmer 0.3.0 has been released, https://github.com/wasmerio/wasmer/releases/tag/0.3.0. It adds WASI support, improved emscripten support, improved the C/C++ API for the runtime.

@fitzgen
Copy link
Member Author

fitzgen commented Apr 15, 2019

@koute
Copy link

koute commented Apr 15, 2019

stdweb 0.6.14 was just released with initial wasm-bindgen compatibility!

This means that stdweb can now be used in wasm-bindgen projects, and projects using stdweb can now be built using wasm-bindgen tooling. No deeper interoperability (e.g. being able to pass wasm-bindgen types into js! snippets) between stdweb and wasm-bindgen is implemented yet, although hopefully we'll get there in the near future!

@Hywan
Copy link
Contributor

Hywan commented Apr 16, 2019

wasmer, a Python extension to run WebAssembly, https://github.com/wasmerio/python-ext-wasm.

It's written in Rust, and is based on the Wasmer runtime. By default, the Cranelift backend is used, which is also written in Rust.

Run pip install wasmer and you are ready to use WebAssembly inside Python!

@axelf4
Copy link

axelf4 commented Apr 26, 2019

dumle: A virtual DOM library using zero-sized types, https://github.com/axelf4/dumle

Makes constructing virtual trees have very little overhead.

@fitzgen
Copy link
Member Author

fitzgen commented May 1, 2019

@Hywan
Copy link
Contributor

Hywan commented May 1, 2019

https://slides.com/lrlna/document-analysis-with-rust-wasm#/

MongoDB uses Rust+Wasm in Compass.

@fitzgen
Copy link
Member Author

fitzgen commented May 6, 2019

add Wasm support to runtime

@Hywan
Copy link
Contributor

Hywan commented May 7, 2019

A Ruby extension to run WebAssembly, https://github.com/wasmerio/ruby-ext-wasm/. It's written entirely in Rust. It uses the Wasmer runtime, with Cranelift as the default backend, which is also pure Rust. I don't know if it fits here though.

@limira
Copy link

limira commented May 22, 2019

An experimental signal-based framework: https://gitlab.com/limira-rs/mika

@Pauan
Copy link

Pauan commented Jun 21, 2019

Dominator 0.5.0 has been published. Thanks to all the improvements to wasm-bindgen, I was able to successfully port dominator so it now fully works on wasm-bindgen!

The API is almost identical, and so it's quite easy to migrate dominator apps to the new version.

I also tried running some benchmarks, and here's the result (click to zoom in):

Benchmarks 001

Most of the names are self-explanatory, but:

  • wasm-bindgen-v0.2.47-keyed is a benchmark of wasm-bindgen without a framework (pure web-sys).

  • stdweb-v0.4.17-keyed is a benchmark of pure stdweb without a framework.

  • dominator-v0.5.0-keyed is the new wasm-bindgen version of dominator.

  • dominator-stdweb-v0.4.4-keyed is the old stdweb version of dominator.

As you can see from the table, dominator is very competitive with other DOM frameworks, it's about the same speed as React.

You can find the dominator benchmark code here (it's just written in the standard idiomatic dominator style, no tricks).

I already knew that dominator was very fast (after all it's designed to be zero-cost), but it's good to see some cold hard numbers proving it.

It's also interesting to look at things like startup time and memory usage:

Benchmarks 002

Benchmarks 003

@torch2424
Copy link

Launched Wasm By Example 😄

A website with hands-on introduction / tutorials on getting started with Wasm who "learn by doing". With multiple language (programming and spoken) support! Currently has examples in Rust and AssemblyScript. Hopefully Emscripten soon, and feel free to contribute more examples! 😄

Website: https://wasmbyexample.dev/
Repo: https://github.com/torch2424/wasm-by-example
Tweet: https://twitter.com/torch2424/status/1143571589142740992

@rustwasm rustwasm deleted a comment from chicoxyzzy Jul 3, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests