This sounds great in principle and I saw this tried for several years for Dropbox mobile. It was a failed experiment though:
> By writing code in a non-standard fashion, we took on overhead that we would have not had to worry about had we stayed with the widely used platform defaults. This overhead ended up being more expensive than just writing the code twice.
Isn't the Dropbox desktop app Electron crap these days? It's certainly not the pleasant experience it used to be.
Plus what you're talking about there is the opposite of what I'm suggesting, you wrote 2 UIs with a shared C++ logic, I'm suggesting two native platform layers with hosted webviews.
> By writing code in a non-standard fashion, we took on overhead that we would have not had to worry about had we stayed with the widely used platform defaults. This overhead ended up being more expensive than just writing the code twice.
https://dropbox.tech/mobile/the-not-so-hidden-cost-of-sharin...