Actually made a to-do list to coordinate shipping a new feature on all platforms at once: web, macOS, iOS, Android. Takes a lot of juggling even for minor code changes.

Michael Fey :underheart:

@manton Might I suggest a shared backing library written in Rust? 😄

(This is how 1Password 8 is structured and we've seen some definite wins from it).

Manton Reece

@MrRooni I was fascinated to hear that was 1Password’s approach. I should look into more shared code. The first step is React Native (gasp!) for iOS/Android, which is a huge help alone.

Michael Fey :underheart:

@manton Have you found that that approach has helped with any code sharing with the web implementation? (Understanding that React != React Native)

Michael Fey :underheart:

@manton WebAssembly has come a long way in recent years, which has helped with some code sharing between our web, desktop, and mobile clients. Desktop and mobile are running on the exact same Rust core today. Web and browser extension share some functions, but do not use the runtime we developed for desktop and mobile.

Manton Reece

@MrRooni I haven’t made any attempt to share code between React Native and the web version yet. Most of the server logic is in Ruby instead of JavaScript. I think I’d be more interested in having a JS layer that could be plugged in to macOS underneath our Obj-C (🙂) code.

Manton Reece

@Gte @MrRooni I should learn more about WebAssembly. Seems like magic still.

Boris Mann

@Gte @manton @MrRooni the Wasm component models / composition story is going to be interesting.

Mike Wolfinbarger

@manton Indeed it does!

Mike Zornek

WebAssembly is worth some of your limited education budget. Very cool tech.

Manton Reece @manton
Lightbox Image