Things like Electron and React Native / Expo always seem really cool. Write once, run anywhere.<p>When you see how large and well-resourced the companies are who use these frameworks, it really makes you feel as a solo dev, how could you possibly go a different direction. If they have all the money and man-power, and they can't build for each platform specifically, what chance do you have.<p>For example: VSCode/Discord/Slack use Electron, Facebook Messenger Desktop uses React Native Desktop.<p>I've finally concluded that it's not worth it. I'm sick to death of battling against some abstraction and build process, to try and do something that I KNOW how I would do it natively. Like when you are trying to get an ORM to do something that you know exactly how you would write yourself in SQL.<p>We now have declarative UI APIs for each platform (SwiftUI for macOS/iOS and Jetpack for Android), and building on native tech allows better performance, less ram usage, faster startup, smoother animations, more integrated feel.<p>I really feel like the dream of write once, run anywhere has sailed. Instead of creating abstraction layers in a single language, we should embrace each platform, and use smart code/project generation if we must, allowing the user to fallback to the native language and technology. It just doesn't feel that difficult to learn Swift and Kotlin.
> building on native tech allows better performance, less ram usage, faster startup, smoother animations, more integrated feel.<p>Yes, though there are significant downsides also.<p>> I really feel like the dream of write once, run anywhere has sailed<p>I think it's just getting started. The web is <i>the</i> universal platform. It's not always the best choice, but it's the place to start.