Say you have to build a computationally simple, but highly polished app. Say an app like "The Weather Channel" app. And you want to keep your business logic consistent across platforms (iOS, Android, Web) over the multiple versions of the app. Otherwise, over time, the app starts behaving slightly differently on different platforms.
You can either use a cross platform development solution that supports iOS, Android and web. Or, you can use some other method to keep the business layer (which can be shared) separate from the visual layer. How would you go about doing so using today's technologies? Would love to hear from those who've tried Xamarin, Unity, PhoneGap, React Native, Ruby Motion, etc.
Bonus question: How would you go about prototyping and designing such an app for the 10+ very different screen sizes?
- How was your experience? What about debugging, maintenance, performance, etc?
- Is your app somewhat complicated (for example, it uses custom UI controls, animations, etc)?
- And finally, if you have to build a complicated and actively developed app on both iOS and Android now, what platform would you use (assuming your level of familiarity with all of them is equal)?
I've read time and time again that non-native cross-platform solutions like PhoneGap etc still don't give a smooth enough experience to compete with native counterparts. So, I'm still not taking them seriously.