Hacker News new | ask | show | jobs
by casralad 1520 days ago
>cross platform frameworks improved

No serious mobile application is built with a cross platform framework. It's a development strategy that relies on the product being "good enough".

Please prove me wrong. I would love to see counter-examples.

3 comments

Facebook and Discord are built using React Native. Ebay is built using Flutter. These examples are easy to find on the homepages of the respective frameworks.

I agree that for the large technology companies having a team to build a native app for both platforms is worth it - you get an optimised, native feeling experience for both platforms. For smaller companies with e.g. two developers building an app as part of a larger service then the cross platform frameworks can give you a lot of bang for your buck. They're also a good starting point to get something out, and then if you wish you can begin to incrementally replace bits with native if that's beneficial.

Personally I'm also a big Flutter fan. Even leaving aside the cross platform benefits I find it a very pleasant development experience that gives very predictable results on whatever it ends up running on. I haven't yet properly used Swift UI though, which adopts a similar approach.

Minor (or major?) nitpick, but Discord on Android is a native app for performance issues encountered with React Native. On iOS, it is built with React Native.

https://blog.discord.com/using-react-native-one-year-later-9...

The latest alpha (Canary) build of Discord for Android uses React Native[0].

[0] https://www.reddit.com/r/discordapp/comments/u4kn2k/alpha_12...

This is both exciting and concerning as an Android user. Hope performance does not suffer.
React Native really only describes the UI aspect of the application. The backend code that is needed to access the native device API isn’t exactly the same, and accessing things like a camera aren’t straight forward across all devices. Although you can wrap these methods in interfaces and swap them out across devices, it usually takes an engineer with a good understanding of either android or iOS. This is the reason most people start with only Android, iOS, or Windows first, and the reason large companies have dedicated teams for each platform.
Facebook mobile is not built on React Native, pieces of Facebook functionality are. Facebook mobile is an entire spectrum of technologies including native and React Native.
I feel the reason here is more a strategic one than a technology one - at least these days. For products that rely heavily on mobile or mobile is the main platform then it makes sense to remove an extra party between you and your customers so new OS features or upstream bugs don't first need to be addressed by the React Native or Flutter teams. The fact that there's really only two platforms makes the decision process much easier. I tend to recommend this approach to clients too, if your business is all mobile - build a native app and pick whichever platform is dominant in your market first. If you're adding a mobile offering to an existing CRUDish product then it might make more sense to go cross-platform.
Many mobile games are built on cross-platform engines (eg Unity)