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.

@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).

@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.

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

@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.

@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.



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