How should I rewrite my UI to be cross-platform (mobile and desktop)?
I'm a solo developer making a VPN app for iOS, Mac, Android, and Windows (https://wallpunch.net/download/). Currently all four versions are written using native code, but every time I want to change something on the UI a large amount of work is required. Since I am planning some major UI changes, I figured first rewriting the UI code to be cross-platform would end up saving me time. It would also make it easier to eventually create a Linux version too. Based on the research I've done so far React Native and Flutter seem like the two top options. However I'm not sure which is best for my specific use case:
1. The app UI is very simple. Buttons, lists, input boxes. That's about it. Frontend performance is not particularly important.
2. As a VPN app, a large chunk of custom native code is required for each platform to link up with the native VPN-related APIs, so this must be easily integrated with the UI framework.
3. I would like to limit the amount of added dependencies and links in my build chain as much as possible.
4. Once rewritten, I hope it will be easy to find freelancers to implement minor UI changes in the future.
Any suggestions?