Team Mobi is looking to release a slate of new tech products. As we can all agree, today developers need technology that creates simple, efficient and fresh mobile applications in the fastest time possible. With all this in mind, the team was faced with a recent internal development dilemma when looking at the best way to develop the new products.

Should our developers choose the ever popular REACT Native or go with new kid on the block, Flutter?

For those who don’t know, both are currently the hottest development frameworks in what’s increasingly becoming a major showdown, similar to The Avengers vs. Thanos. So how do these two compare?

REACT Native

A unique JavaScript technology, REACT Native was developed by Facebook back in 2013. REACT Native helps you create mobile apps which support both iOS and Android platforms. An open source framework, the past few years has seen it gain huge popularity amongst developers. This is because of it’s simplicity, speed and efficiency. It’s also great for developers who are experienced with JavaScript as they don’t have to learn Android specific Java or iOS’s Swift.

Pros and Cons

Pros:

Can be used cross-platform

Although it was created for iOS development at first, REACT Native apps can now be developed using a single code for both iOS and Android platforms, simultaneously.

Shorter development time

Because you’re only having to write one piece of code, you’re able to save time in development. REACT Native also allows you to reuse components which makes maintaining an app much easier. Its numerous ‘ready-to-apply’ pieces basically halves the development time compared to if you developed two separate native apps for iOS and Android.

Cons:

Still Improving

As popular as REACT Native is, it’s not flawless. There are still some glitches to be sorted out as some of the custom modules are missing.

It still requires Native code

Some features still require detailed script knowledge of the particular platform you’re developing for.

Uncertainty

Whilst it’s popularity means this is highly unlikely – the fact is, it was created by Facebook and they could put a stop to the project at anytime.

What about Flutter?

Developed by Google in 2017 to design and deploy fast, and visually appealing apps for both iOS and Android platforms – Flutter has fast become a serious competitor to REACT Native. Flutter makes it easy to build user interfaces that react smoothly in an app. It also reduces the amount of code required to synchronise and update your app’s view.

“The first thing to notice is Flutter uses native ARM binary. It’s compiled ahead of time, no JVM needed. This means it’s fast. Really fast.”

Pros:

Faster Development

Developers save time by being able to write just one code covering both iOS and Android platforms. Also, if there are any changes in the code, they’re implemented straight away in the app.

Less testing

Developers only have to write automatic tests once when testing quality.

Popular designs

Flutter is designed to make it easy to create your own widgets, as well as customise existing ones.

Same app UI on older devices

Users who have older phones are able to enjoy a new app’s look and feel, without having to update their devices.

Cons:

Continuous integrated support

Flutter is not currently supported by integrated support platforms like Jenkins or Travis. This means that in order to achieve testing, deployment and automatic building, developers need to use and maintain custom scripts.

Libraries and support

Whilst impressive, Flutter’s current support and library offerings is not as extensive as those offered by native development. Some functionalities may not be found which means developers would have to spend time building them from scratch.

Team Mobi’s thoughts

“REACT Native and Flutter are both great cross platforms. REACT Native has the advantage of being able to be deployed on both iOS and Android, and also the web. But as it is a web technology, there are sometimes performance and compatibility issues when deployed on mobile. The code is also not that easy to build and maintain. For instance, Airbnb developed in React Native first, but they finally went back to Android and iOS Native as it was easier for them to develop and maintain. Flutter is the new kid on the bloc and is very promising for compatibility and performance for both platforms (iOS and Android) but it does not currently support web development. Personally, I would bet on Flutter.” – Antoine (Mobi Android Developer)

“Personally I prefer REACT Native as the base because it is Javascript and I don’t need to learn a new coding language. Also, since it has been on the market longer than Flutter, there is a lot more community support for it. Having said that, Flutter is gaining a lot of popularity too and since it was developed by Google, it’s promising. Other than that, both are just more examples of a hybrid platform. As far as pros and cons, they are going to change based on the support they get. Currently building UI in Flutter takes longer than using REACT Native, again this is because it’s been around longer than Flutter. In my opinion, if you want to be faster to market the go with REACR Native. ” – Hamsa (Mobi Lead Mobile Developer)

“They’re both really smart. Flutter is newer, and has had the opportunity to build on previous learnings from React (and other hybrid approaches before that). React has been around longer, and has more documentation and examples available (although you need to filter through that to make sure the examples are relevant to the latest React version.) Flutter seems to be optimising to ensure it always runs 60+fps frame refresh rates, for super reactive UI, perhaps aiming slightly more at the consumer-facing and game apps space. The other thing to consider is that React is a Facebook built/owned technology (and there were some odd license requirements originally where FB could revoke your license for various reasons, but they cleared that up a year or two back. They’re both really really good.” – Iain (Mobi Tech Director)

‘It depends on what you want. Seriously though, Flutter development is easier than anything, a lot of well structured documentation and examples. I don’t think that it is slower to develop things with it. It uses declarative Dart language and supports old Android and iOS code as well, allowing a smooth, step by step migration. And as a developer, I trust Google much better than something created by a silly social network app.” – Zoltan (Mobi Java Backend Developer)

____________________________________________________________________________________________________

After a group consultation, Team Mobi unanimously decided to go with Flutter. Which framework do you think is best? Let us know in the comments below.

Leave a Reply

All rights reserved Mobiddiction.