Okio 3.5 has WASM
At Cash App we’ve always felt our technology & process problems:
- ‘Why must I spend so much effort reasoning about null?’
- ‘Why is snapshot testing so slow?’
- ’Why am I waiting so long for a code review?’
The software development community is great ‘cause we celebrate the people who fix these problems! Our celebrations aren’t usually cake; they usually come as code dependencies, blog posts, and social media boosts.
The Cash Code Blog is where Cash engineers announce our contributions to our community and evangelize the hard work of others.
Today I’m excited to announce Okio 3.5 which adds support for WebAssembly (WASM). But this new WASM code is not ready for production use!
- It’s built with Kotlin/WASM which JetBrains is promoting to alpha.
- That needs the new garbage collection proposal for WebAssembly, which isn’t available in most runtimes.
- The new
okio-wasifilesystem
artifact currently uses thepreview1
version of the WebAssembly System Interface (WASI), which is unstable and off by default.
So what’s the point?
Shipping support in Okio is the most energetic way we can celebrate WASM and WASI! These technologies are already great for the browser, and will be great for servers and mobile. Most importantly, these technologies are great for end-users.
Even though we’re not putting it into production, we’re having fun playing with the tech. As WASM and WASI stabilize, we’ll track their updates with new Okio releases.
We’re also quite excited for kotlinx-io, JetBrains’ new I/O library that builds upon some Okio code. We’ll do our best to make Okio work with kotlinx-io.
This post is part of Cash App’s Summer of Kotlin Multiplatform series.