Learn why Fission is rewriting in Rust + Wasm and how you can join the movement.

Why Rust?

Rust is a programming language that makes building software faster, more memory-efficient, and more intuitive. It has robust documentation and provides more flexibility than other languages, like the option to make immutable variables mutable.

Hank Green explains Rust! Why? I don't know but I like it!

Why Fission Loves Rust + Wasm

If you're powering web app SDKs (like Fission is), Rust also works well with Web Assembly (Wasm). The code is smaller because there is no garbage collector, improving speed and providing a better overall user experience. And because Wasm is run in the broswer, no backend is needed. Perfect for front end devs to build full edge apps!

But what about native mobile apps? Or desktop apps? Or server components? With Rust, Fission intends to have high quality codebases that can be compiled into libraries or Wasm that can be re-used in these different environments.

Our first target that is underway for our Rewrite it in Rust initiative is the Webnative File System (WNFS), our encrypted at rest file system for IPFS. Our goal for WNFS is to enable portable data and runtime for Web3 native apps so users can maintain control over their own data and their privacy.

Using Rust and targeting Wasm, we can make this private + encrypted file system available in many different places, vs our previous TypeScript implementation that only ran in browser.

Hear what some of our team members had to say about working in Rust:

"Rust let's me build fast things in a safe way with a nice toolchain environment that makes working with WebAssembly seamless." - Stephen, Senior Rust Engineer

Stephen is a prolific Wasm developer who maintains a couple of Awesome Lists for Wasm – Awesome Wasm Runtimes & Awesome Wasm Programming Language Support.

"Rust is one of those languages that just learning it will probably help make you a better programmer. Due to its safety you see a lot of new ways code could go wrong that you might not have have been thinking about before." - Savannah, Junior Software Developer

Beyond WNFS

After the WNFS rewrite is complete, Fission plans to begin to move most of our code over to Rust (+Wasm where applicable). This includes the Fission CLI used for hosting single page web apps on IPFS, the Fission server, and more exciting projects we're cooking up for you.

And good news, Chris from the Noosphere team did a UCAN implementation in Rust, rs-ucan, which we can adopt & support as well. Yay open source and great collaborators!

Regional Rust Replication

Want to join the Rewrite It in Rust movement? Head to the Careers page to stay up to date when we post new Rust roles.

And if you're looking for some Rust-inspired swag, head to our store to snag this fun poster.

We've been handing out these images as postcards at some events, and our team has a couple of t-shirts as a test run that we printed in Vancouver. Interested in producing these images as posters or t-shirts for your regional Rust community? Get in touch, we'd love to support distributed swag creation.

Here's ramfox from the n0 team, who technically don't need to rewrite in Rust, because their high performance IPFS node iroh is getting written in Rust in the first place!

Join @ramfox and the n0 team!