Going from Three Codebases to One

Posted by Matt Birchler
β€” 1 min read

Standard Notes: No, React Native Is Not the Future

When we first launched in late 2016, we started with three codebases: our web app (which our Electron desktop app contained), a native Swift iOS app, and a native Kotlin Android app. This was immediately untenable. Coordinating bug fixes across three platforms was hard enough, but building new features? Out of the question. We had to call our app "simple" because we literally couldn't make it anything else.

I think this is important to point out because people in the Apple tech space like to say that the only reason companies use anything besides native apps are because they're lazy, they hate you, or both. I hear this mostly from people who either don't build apps or who build apps for just iOS, both situations where they are not impacted at all by the complexities of managing completely separate projects like this.

But the post is titled to suggest React Native is not the way forward, so if it's not that and it's not native apps, what are they doing?

Today, Standard Notes is just 1 codebase. Our mobile app is just our web app with access to native mobile functionality, and it runs like a dream. It features 1:1 feature parity with our desktop app, which was impossible with our old application. It accesses the native mobile keychain, biometrics, local storage, camera, and more.

I continue to die on this hill, but I think it's fool-hearty to discount what you can do with web apps or how they can make it easier for developers to make their products better.