I think this discussion will be helpful for many of us:
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?
Re design - I'd literally do a design for each platform (iOS, Android, Web). There are huge differences between iOS & Android - they have completely different user experience/functionality so you can't just port 1 exact design across multiple platforms.
I'd highly recommend creating a UI style guide if you don't have one already. It's really quick for me to do 10+ screens as I'm using the same colors, fonts, etc in each file & then I generally just have to move blocks around for each platform.
Also, I recommend Sketch for design work. It's a lifesaver for designing between multiple platforms & everything is vector so it's scalable between different resolutions. A million times better than Photoshop for UI design.