Considerations like these have lead me to Nim. I don't have it working yet, but the vision is that if I constrain myself to a simple enough UI then I can then compile the same code to Objective C for iStuff, C++ for Android and desktop, and Javascript for web. Those apps can each then evaluate arbitrary nimscript in a platform agnostic way. I've log ago forgotten what the app I wanted to build was, but if I remember it, nobody will be able to stop me from running it anywhere. I hope.