It is possible to speed up application development with the help of cross-platform frameworks, such as React Native or Flutter. What are their strengths and limitations? When do you need a “cross-platform” and when do you need a native classic?
70% of purchases are made through the mobile channel
There have been 7% more internet users over the past year, bringing the total number worldwide to 4.6 billion. During the pandemic, up to 80% of respondents made at least one online purchase; Data Insight estimates that more than 70% of active shoppers place orders via smartphones.
The mobile channel is becoming more and more important for reaching audiences. Timing and cost of application development in this case largely depend on the choice of technology stack: languages, frameworks, libraries.
Among the criteria for the choice of tools – the functionality of the future application, the experience of the team, the timing of the project and market launch, budget, scalability and much more.
There are two main groups of applications in mobile development:
Native
In these applications, the code is created from scratch for each platform, in the language of the platform and with standard SDK (software development kit) libraries. For example, Android often uses Java or Kotlin, and for iOS – Objective-C or Swift.
Cross-platform
The code is written once and then compiled for iOS, Android and other platforms. Applications will work and look identical across multiple mobile operating systems. Suitable development tools are many, ranging from Kotlin Multiplatform Mobile (KMM), Bitrix Mobile, Xamarin and Cordova to Flutter, which is actively promoted by Google and gradually gaining popularity.
In our practice we mostly use two cross-platform frameworks:
- Facebook’s React Native, based on the JavaScript language and React.js library. It was announced in 2015.
- Flutter by Google based on the Dart language. Release of the first stable version in 2018.
Using the last framework as an example, let’s look at what “cross-platform” is good for.
Cross-platform development: features
The very technology of “hybrid” development did not appear today. The idea of a cross-platform solution, which will allow writing code once and running on two platforms simultaneously, has existed for a long time, but few dared to implement it. The official release of Flutter in 2018 shook up the mobile development industry.
Examples of companies already using Flutter can be found, in particular, on the framework’s website:
BMW – My BMW app for driving and checking the condition of a car;
eBay – eBay Motors service for selling cars;
KFC – analytical BPM-system for managers and employees of restaurants.
Creating two-in-one cross-platform applications is steadily interesting to businesses:
first, as a quick fix,
secondly, as an opportunity to save budget.
Flutter allows you to reduce the IT team and partially reduce the time spent on business logic design and testing.
We’ve highlighted a few key pros and limitations of Flutter based on our team’s evaluations.
Pros:
Speed. You implement the application simultaneously for two platforms, reusing some of the code and reducing time-to-market (TTM) – time to market.
Savings. Flutter saves an average of 5 to 20% of development time, although this figure will be unique for each project, depending on the complexity of the application, its UI and features.