Native and cross-platform development: how to make the right choice

In Mobile App Development


Simply put: when you can use cross-platform development, and when you can not do without native
alt
Editorial Commitee Qualified.One,
Management
alt

Let's start with a simple example. Imagine John, who has a small restaurant. Sergey wants to receive more orders and therefore decides to develop his own application for table booking and delivery. Of course, he wants to reach more customers: that's why he needs software for both IOS and Android. John understands that these will be two different applications, but he heard something that you can make one that will work on all smartphones.

What is cross-platform and native development

Native development is the creation of a product that is written in original programming languages ​​created specifically for the chosen platform. For example, native languages ​​for Android are Java and Kotlin, for iOS - Swift and Objective C. The native application will only work on “their” platform. Cross-platform applications can run on multiple operating systems at once. For this, specialized cross-platform frameworks are used, such as Flutter or React Native.

Mobile Operating System Market Share Worldwide

Mobile Operating System Market Share Worldwide, July 2021 - July 2022. Sources: Statcounter.com[1]

Now John knows what is what. At first glance, cross-platform development seems to be more profitable, but he suspects that there are significant differences in approaches.

Why multiplatform development is not that much cheaper than native

It would be logical to assume that cross-platform development should cost half as much as native, because one application is being developed instead of two. But it's not, and here's why. Although the product will have the same business logic and navigation in cross-platform development, the screens for each system will be different. Thus, for IOS and Android, native application screens are drawn and implemented. If we talk about the price, then the cost of multi mobile platform development is on average 70% lower than native.

Differences between multiplatform and native development

A native application will always look better than one developed using multi-platform technology. Design, layout, loading speed, access to all device functions (camera, geolocation, calendar, and so on), interface - all this will give native development a couple of points ahead. Cross-platform applications are inferior to native ones in this regard - they work more slowly, and the interface is significantly different.

Leading iPhone apps in the Apple App Store worldwide in June 2022, by revenue

Leading iPhone apps in the Apple App Store worldwide in June 2022, by revenue(in million U.S. dollars). Sources: Statista.com[2]

On the one hand, the native solution provides access to all the functions of this OS, allows unlimited customization of the interface and prevents any performance problems. On the other hand, if you want to cover both types of users, you will have to create two separate applications that require more time, money, and effort.Native development is more expensive, since you will have to use at least two developers who specialize in different platforms. In addition, this approach takes more time.

The main advantage of the cross-platform approach is that the development speed is higher than that of the native one, and less time and resources are spent.Some examples

Cross-platform development is not suitable for serious business projects. This solution is optimal when writing a simple application with few screens and many common elements for different platforms. For example, this type of development is beneficial when writing an application prototype for several platforms in a short time, for a game or test application.

For apps with unique interfaces and complex business logic, native development is probably more suitable.

At the moment, many companies use cross-platform solutions, someone is already seriously considering switching to them in the near future. These are not only vendors of the solutions themselves, such as Facebook with its React Native, which runs Facebook and Instagram applications, but also other major market players who have products, for example, on Flutter - Alibaba, Philips Hue, Hamilton, Tencent and others.

Leading iPhone apps in the Apple App Store worldwide in June 2022, by revenue

Leading iPhone apps in the Apple App Store worldwide in June 2022, by revenue (in million U.S. dollars). Sources: Statista.com[3]

Progressive Web Application

A progressive web app is a technology in web development that adds mobile app features to websites and transforms a website into an app. As a result, we get a hybrid website and applications for mobile devices. However, like any other option, Progressive Web Apps are not perfect, as they consume more battery power and cannot access all the features of this device, such as the calendar, camera, contacts, and so on. In addition, the ability to cross-login to the web application using the Facebook application, Instagram, Vkontakte, etc. is lost. Although the web application does not require installation from the Google Play Store or the Apple App Store, the latter serve as extremely user-friendly libraries.

Flutter

Flutter is Google's open source SDK for building cross-platform mobile apps that provides both Android and iOS users with a truly native design and experience. This development platform already at the start showed impressive growth compared to React Native. Announced at Google I/O 2017 and released in 2018, Flutter is still new to the cross-platform application platform market. With over 87,700 stars on GitHub, which is higher than React Native, and the vast majority of developers naming it one of the top three favorite frameworks in Stack Overflow's annual Developer Survey 2019, Flutter is undeniably a force to be reckoned with.

Search volume in dynamics, Flutter vs React Native vs Xamarin

Search volume in dynamics, Flutter vs React Native vs Xamarin. Sources: Google Trends[4], August 2022

Benefits for business

In business, the TTM (time-to-market) metric often plays a decisive role. Being ahead and introducing new features to your product faster than competitors on both platforms at once is what any leading company thinks about from the very beginning. Cross-platform frameworks allow you to achieve this and, as an obvious bonus, get a reduction in development costs at each stage.

References