Flutter vs Native vs React-native Mobile Development: What to Choose?

Flutter vs Native vs React-native Mobile Development: What to Choose?

October 31, 2019
by Nazar Cybulskij

Flutter is Google’s mobile app SDK for crafting a high-quality native interface on iOS and Android in record time. Flutter will help you create beautiful, fast apps, with a productive, extensible and open development model.

InVerita has always tried to be innovative and keep up with trendy technologies that turn customer’s dreams into reality. Our technology specialists have been following Flutter from public beta since spring 2018. We have huge experience working with cross-platform solutions like React Native, PWA and Xamarin. If we compare those with Flutter, we’d say, "It's beautiful!"

If you want to get to know about the technical advantages of Flutter, read the following: What’s Revolutionary about Flutter. In this blog, we will describe business advantages Flutter has.

It’s a Solution for Cross-Platform Mobile Apps

Releasing a product for one mobile platform is risky. The best option is having an app developed for both iOS and Android which ultimately makes it available for the wider audience. By choosing native development, you face a dilemma of choosing between Android or iOS.

On the one hand, you can make more money owning an iOS app. On the other hand, Android apps are more common if compared to iOS. It may seem like a balance, yet will the situation remain the same?

According to mobile operating system market statistics, another operating system is gaining momentum, by catching up with those world loves most and entering the competition.

Flutter solves any dilemma, by allowing having the same codebase for Android, IOS, Web and Desktop. I guess, making bets on cross-platform solutions will benefit you in the future.

Supporting the Current Project

My experience using Swift, Kotlin, Scala and Typescript let me spot all the native development shortcomings, especially those relating to code readability. Too much “syntactic sugar” can complicate code semantics.

A programmer spends 80% of the time reading code and just 20% writing it. If it’s a project I support, reading can take about 90% of all time. Flutter apps are coded in Dart. To make a long story short, Dart is a mixture of JavaScript, C# and Java. If you’ve ever had an experience with at least one of these languages, you will have no difficulty coding in Dart.

Custom Design

Project success greatly depends on the designer’s work. If a goalkeeper is half of a team, then a designer is a goalkeeper during the process of an app project implementation. I adore the designs created by Jonathan Ive and believe Apple’s success is on him. Flutter allows implementing the design of any complexity, making it effortless to create an animated transition between screens or add shades.

The Problem of Technical Debt

The framework itself was initiated as an experiment to see what is going to happen if an app interface is built differently. The goal of any technology is to solve an issue emerging in a certain time. Operating system requirements have changed so you just cannot use outdated technology to solve a current issue. Creating new solutions that address current issues is a smarter approach than using old ones that won’t work it out.

Opensource Solution

Flutter is a trustworthy framework due to open source-software. The more people use Flutter, the sooner they spot all of the bugs allowing developers quickly to find perfect solutions. The formed community saves the development time, so to say.

fluttergraph1

According to StackOverflow statistics, Flutter is a leader among alternative technologies.

Flutter vs Alternative Solutions

Let’s compare 4 projects developed using different technologies.

  • Project A — a mobile app for a logistic company (Android/Kotlin).

  • Project B — a mobile app for a tour agency (IOS/Swift).

  • Project C — a mobile app for a tour agency (React-Native).

  • Project D — software for a clinic network (Flutter/IOS+Android).

fluttergrapg3

Flutter makes it possible to use less code and keep the functionality the same.

fluttergraph2

The number of cosmetic bugs has been reduced in 4 times in comparison with Reactive-native and twice in comparison with native applications. There’s no regression in the number of functional bugs.

Wrap Up

In our company, we have quite a skeptical attitude to different kinds of “silver bullets”. We must be confident that the technologies we use will benefit us and our customers. It must be a long-term benefit, not a short-lasting one with a tough “hangover” afterward. Taking into account the research results and prospects of IT development there is a big possibility that making a bet on Flutter is the right decision.

Being a native Android developer for 5 years who was skeptical about “slow and restrictive” cross-platform solutions, I must admit that the future belongs to Flutter.

If you're interested in a cross-platform solution, please contact inVerita and we'll provide you with some valuable suggestions regarding your project!


COMMENTS
United States
151 New Park Ave, Hartford, CT 06106 United States +1 (203) 302-9545
Ukraine
102, Ivan Franko str, Lviv, Ukraine USA: +1 (929) 999 1232
34, Sakharova Str, Ivano-Frankivsk, Ukraine
Our Mission:“To be the Face of Ukraine for the rest of the World”.