Rust + wasm project idea: accelerate React


Hi there.

Here is a project that I think is quite significant for the success of
Rust + wasm but can’t pursue myself presently.

There’s a lot of potential for Rust + wasm, but I have a persistent
fear that we are not ready. wasm is in production now, but Rust + wasm
is not ready for production.

One of the clear use cases I’ve heard several times for wasm is in web
frameworks like React that use a VDOM. VDOM’s serve a purpose but add
a layer of heavy computation on top of the DOM. The performance of
these systems is paramount, so ones that leverage wasm effectively
will gain a competitive advantage.

I think one of biggest short-term opportunities for Rust + wasm is in
proving to the vendors of these systems that Rust is the right
language for their next generation, that adopting Rust will
differentiate their product from the competition. In the process
of proving it, we will root out the bugs they are likely to hit
when they make the attempt themselves.

So the idea here is to take React as it exists today, find some API
seam in it that dilineates heavy CPU work, and accelerate it. If it’s
a success, write a blog post and deliver it to the React team for
their consideration. Obviously, achieving this will be easier for
people with React experience, but I suspect that one could get help
from React developers to identify the most promising approaches.

Alternatly, it could be worthwhile to do a VDOM experiment from
scratch to prove the concept, though I think that would be a less
powerful demonstrator than using React directly.

Also, while you are here, this bug is the most important to fix for
wasm presently, making the test suite actually run. Big kudos to
whoever fixes it.


You might also find a lot of support for this in the Ember.js community. @wycats’ company Tilde (closely tied to Ember) is now full steam ahead with Helix.

Big leaps in VDOM performance is very interesting to companies like Discourse (of which I am part of):