Ask HN: Cross platform mobile and web development
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?
3 comments
[ 3.4 ms ] story [ 16.1 ms ] threadWhether that's native Android layouts and dimension files with different breakpoints for widths, Size Classes for iOS, or CSS Media Queries for the web, that's really what you need to decide.
Generally speaking, for a content-heavy app, you're going to end up trying to move all of your business logic into your server back end, and let your front end (Android, IOS, web) render content.
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.