Why Should You Move Your App Development To Flutter?

Paridhi Kothari
Global Startup Corner
7 min readDec 13, 2018
Flutter Vs Everything else

React Native, Flutter, Ionic and Xamarin are the most popular cross-platform frameworks today. In some cases, developing your application with one of these frameworks might be a good alternative to a native approach since you need to create only one app that will work on multiple platforms.

Flutter is an open-source mobile application development SDK created by Google. It is used to develop applications for Android and iOS.

Not ideal for Developer!

So traditionally what happens is if we wanted to build Android applications and also iOs applications there are a few things that we need to know.

For Android obviously, we need to know Java. Most recently if we want to we can also learn Kotlin. Those are two languages that are used to build and write applications.

for iOs, we need to know Objective-C. But nowadays because things are evolving in the right direction all you need to learn is swift.

It wasn’t really good for the developer because the developer if there was one developer he or she will have to learn Java and learn the Android framework and then learn Objective-C or swift and learn all that there is to know about developing for iOs platform. Not impossible but I will tell you that it takes a lot of time if not years to for you to really be good at both of them. And on top of that if you’re working for a client or for an agency usually clients want things right now. This is very stressful for any developer.

Solutions :

So very smart people realized this problem they decided to create frameworks. Most of those frameworks were built on top of javascript so they’re called javascript frameworks. Most popular frameworks that you may have heard. There’s ReactiveJS which I’ve used in previous years.

The idea here of these Java frameworks is very simple so they have the Java framework at the top and what they do is they have a bridge usually a web view to render all of the widgets or all of the user interface of the platform iOS or Android.

Again it’s a great solution or great alternative but still, we have that bridge which is still costly.

So, a better solution is Flutter

Xamarin vs Flutter

Broadly speaking, if you are committed to .NET and don’t mind deprecations resulting from Apple or Google breaking your apps for months at a time, you should use Xamarin. Otherwise, we would not suggest Xamarin.

What Xamarin doesn’t tell you
One thing that a lot of people don’t realize about Xamarin is that unless you want to use their Xamarin. Forms library, you are going to have to create all of the Android and iOS interfaces separately. That’s a LOT of duplicate work. Which may lead you to wonder about Xamarin. Forms. Last time we used it, it was an almost unusable mess that created even more work for us. We spent nearly as much time building cross-platform as we would have spent building natively and ended up with apps of massively degraded quality.

Flutter, on the other hand, created an interface engine which allows you to write your interface once and run anywhere, but still makes it “feel native” on both platforms. It also allows you to customize based on the platform the app is on, and if you really need one view that is 100 per cent platform specific, it is built on top of the normal native platforms and integrates easily.

Xamarin’s coupling problem
The other big reason we stopped using or offering Xamarin apps (besides the fact that it wasn’t saving any time or cost) was because at the time it was a black-box proprietary solution. This means that when we found bugs in their code, be it an existing bug or one introduced by Apple or Google changing something in their platforms, we had no way to fix it. The app was just broken publicly on the app stores until Xamarin could release a fix and we could rebuild/resubmit it.

Obviously, that is a huge deal for any app owner, and it only had to happen once for us to deem Xamarin, not production ready and go back to writing for the two platforms separately again. In late 2016, Microsoft open-sourced the platform onto GitHub and they have done their best to improve and move the platform forward. However, since it is still tightly coupled to both platforms, any changes made by Apple or Google can still cripple it on that platform. Flutter is also open-source with a wonderful community that is always happy to help, but, since Google wrote the interface engine from scratch, it seems highly unlikely any OS changes Google (or Apple) would make would ever break a Flutter app without breaking everything else on the stores.

Flutter Vs React Native :

Increases Productivity :

Why do we choose one framework over another? A crucial criterion is how well it simplifies our work! Whether a framework automates work functions or allows us to do more using fewer lines of code, it results in boosting our productivity as developers. Flutter allows the developers to be highly productive. It’s now easy to develop iOS and Android.

Hot Reload Support

You probably know about this feature as it’s a must-have for everyone because it allows you to forget about recompiling an app manually by selecting the relevant command over and over again. Hot reload does this automatically when changes to the file have been made or a new gadget has been connected. Another great benefit is that this feature preserves the last state of the app. Hot reload is supported by both of these frameworks.

User Interface

Proprietary Widget vs Native Component

Both Flutter and React Native have a stark difference when it comes to the building blocks that they use for their UI development. While on one hand React Native taps into native Android and iOS components with the help of third party or custom components, Flutter functions with proprietary widgets that are 100% customized.

These widgets are both in Material Design for Google and Cupertino for Apple.

JavaScript vs Dart

It is difficult to compare Flutter with Dart on the basis of the language that they are based on. While on one hand JavaScript has become widely accepted and adopted after years of use, Dart is extremely easy to write codes in and thus come with a low learning curve.

Now, because Dart is very new and Google has a habit of killing off languages like what it did with Angularjs, the adoption rate in the industry is not very high. But the subset of the developer community that has been working it has all good things to say about Flutter.

Configuration & Setup

Flutter’s setup process is much more straightforward as compared to React Native. Flutter comes with the provision of automated checkup of system problems, something which React Native misses to a great extent.

App Performance

Talking of app performance, Flutter takes the crown. It is much faster than its React Native Development counterpart. Since, there is no JavaScript bridge for initiating interactions with the device native components, the speed of development and running time gets expedited drastically.

This added to the point that Flutter has set the animation standard at 60fps is a clear sign of its high performance. Lastly, since Flutter is compiled into the native ARM code for both Android and iOS, performance is the one issue that it would never face.

Stability

React Native have strong roots in the developers’ community and its continuous releases make it a stable app development framework. Flutter on the hand is growing strong with its releases but has a smaller community support, compared to React Native.

Conclusion: React Native VS Flutter

For building cross-platform native apps, both React Native and Flutter offer tools, features, libraries to build a performance-oriented mobile app. However, depending upon the category of app, it’s scalability, and maintenance preferences, React Native or Flutter can be chosen for your next app development project.

Thanks for reading!

--

--