Every business owner who decides they need a mobile app faces a difficult choice: to go for native or for cross-platform development. The decision directly depends on how fragmented a particular market is and the nature of the future application itself. Android and iOS are still competing across markets in the US and Europe.
According to Kantar Worldpanel, the situation in the consumer market for mobile devices as of the beginning of 2017 was the following:
Android device sales declined in the US, Great Britain, and France. Even though the total number of Android sales decreased in the US, Google’s Pixel phone rose to 1.3% of sales in the US market.
The Asian markets are still divided between Android and iOS, with local brands of Android phones currently dominating.
On top of differences across various markets around the world, there are also demographic differences between platform users.
[Image source: CivicScience]
Seems complicated, doesn't it? Many business owners feel that way too, and decide to go with cross-platform solutions as a compromise. In the ongoing competition of native vs. cross-platform apps, there still isn’t a clear winner, but there are cases when one type of development has obvious advantages over the other.
If we asked you to list advantages of native app development, you would probably go with what is already common knowledge.
Advantages of native app development
Native apps work well with a device’s built-in features and provide users with smoother UX performance on a particular device.
Native apps get support from app stores and marketplaces; app stores also veto apps that don’t have enough security or seem suspicious.
Native apps allow for easier and faster updates and integration of new features.
Particular hardware-related things like gestures, multitouch events, and geolocation are easier to implement using native technologies.
What about the advantages of cross-platform apps then?
There are many cases when cross-platform apps hold a clear advantage over native apps. Cross-platform applications shine especially when there is an urgent need to release an MVP version of the product to start engaging potential users and get ahead of competitors. Cross-platform apps work well when you are looking for a cost-saving option that will work on a range of devices and, at the same time, give you an opportunity to enter a market niche and get real user feedback.
Cross-platform apps are also a great option for prototype development when it’s not clear if you have a good idea for an application at all. Prototyping is a fast way to build and see something. With React Native, it’s possible to develop prototypes quickly.
1. When your market is fragmented and you need an app that works across various devices.
Some of Yalantis’ clients tell us that they’ve done thorough market research which shows that their potential user pool is equally comfortable with both platforms. What do you do if 50% of your users prefer iOS and the other half uses Android? Cross-platform apps are the answer.
2. When your app’s business logic doesn’t require features like audio and video processing, force touch, and complex animations, but relies instead on a lot of simple interactions with the backend.
Platforms that connect people – like social networks, booking aggregators, and a lot of ecommerce apps – are ideal candidates for cross-platform development, especially cross-platform development with React Native. On the other hand, the React Native team has recently added more robust support for gestures handling and animations. So it’s getting more and more feature-rich in comparison with native development and gaining possibilities to use native modules for specific logic that is tightly coupled with native API’s.
3. When you don’t have the resources for native development
The perception of React Native as a solution that doesn’t work well for animation-rich apps with complex UIs and audio and video processing functionalities is being actively questioned by industry leaders: Facebook works on promoting React Native with the help of their own apps.
There have been a number of apps, including apps that cover various industries: audio processing, food delivery apps, voice and text chat, and ecommerce, that were build using React Native. Regardless of the stereotypes about cross-platform development, a lot of these apps have won over a wide audience with high-quality performance.
What popular apps are made with React Native and how do they perform?
SoundCloudPulse: An app for music creators
SoundCloudPulse is an app for people who create music and podcasts and helps them manage their accounts and support an active community on the platform.
The team of developers that worked on SoundCloudPulse noted that they generally had quite a satisfying experience with React Native. The team admits that when they were picking a technology for the project, they had doubts about React Native at first: at that time, the technology was less than a year old and a lot of developers saw that its immaturity posed a number of risks. But in the end, it worked out well for the SoundCloudPulse team. They particularly enjoyed the fact that all development was done in-house, and that the final version of the app allowed for smooth performance even in parts involving animations.
Walmart App: Commerce giant going mobile
React Native helped the Walmart app team improve the app’s performance on both platforms. Using cross-platform solutions resulted in a 95% shared codebase across the platforms and helped developers save time.
Discord: Chat for gamers
Discord is another example of an app, based on React Native, that achieved noticeable smoothness of performance. Switching between teams is fast, and so is loading conversation history. Discord supports both text chatting and voice calls, and even though React Native is often treated with suspicion when it comes to audio processing, voice chat through the app is just as smooth and fast as text exchange.
Uber Eats: A platform for on-demand food delivery
Uber’s developers recently shared their impressions about using React Native for Uber Eats app development, and their impressions were positive.
Why was React Native advantageous for Uber? The company was able to use a lot of its existing technology stack across two platforms, using the similarities between Uber and Uber Eats business logic. Uber trips turned into delivery routes for Uber Eats; riders in Uber became foodies for Uber Eats. That all went well, but the biggest challenge was still ahead: Uber Eats required a separate dashboard for restaurants. Initially, the dashboard feature was written for the web, but web solutions had limited access to essential features that mobile app users expect from an Uber product. For example, a web-based dashboard didn’t allow for sound notifications. The Uber team decided to use React Native to override such limitations, and were quite happy with the results. Even though the React Native framework was only used partially in work on Uber Eats, Uber’s developers are very optimistic about its prospects.
Сross-platform apps have evolved into something we didn’t quite see coming. Now they can handle touch gestures and smooth animations and act like native apps – and along with that, they can use the power of native modules if needed for specific functionality.
Even though cross-platform mobile apps still face stiff competition from native apps, certain cross-platform solutions stand out enough to make businesses of all sizes question whether it makes sense for them to invest in more expensive and more time-consuming development. Apps created with React Native can benefit a B2B enterprise and a creative startup equally.