So, there’s a new kid on the block!
Google’s Flutter… and it’s here to take the cross-platform mobile app development world by storm.
It’s an open-source library for creating beautiful mobile applications for both iOS and Android.
With its alpha version released first in Google I/O last year, it had piqued the interest of a lot of developers all around the globe fed up by the technical verbose of the Java programming language.
It has come a long way since then and is now in beta 3 and ready to unleash its full potential in the coming future.
But how come all the limelight is on a relatively new programming language all of a sudden?
It’s because it can prove to be revolutionary if it becomes the norm in android development.
How? As it’s based on an entirely different language called ‘Dart’, which is developed by Google themselves which is super quick, requires less code, is easier to write and results in more fluid apps. Basically, the go-to solution for all the developers fed up with the Java language of Android. Here’s how the language looks in action –
Okay, we have talked about cross-platform mobile app development tools before and Xamarin was way superior than the noise.
But can Flutter be the next big thing in cross-platform app development when it launches commercially? It certainly has the grunt to make it happen. Let’s take a look at some of its features that clearly puts it in a class above all –
1. Hot Reload
So, I think every Android developer out there is well aware of the fact that compiling code in Java is a task of its own with all the debugging, and of course, that takes a lot of time. Enters Flutter.
This feature of Flutter is what developers are going crazy about, as no other tool provides them with this functionality.
With hot-reload, you can make changes to the code and see its effect in real-time, with just a click of a button and the best part is your entire code doesn’t lose its state when you are hot-reloading, everything gets saved automatically.
You can basically rebuild your entire project like a website. Amazing, ain’t it?
Creating a seamless UI in Flutter is as simple as composing a layout using many different parts or as Flutter calls them – Widgets.
Widgets are what Flutter is based on. Flutter’s entire app class is a widget named MaterialApp, the layout structure is a widget with the name Scaffold, and everything else is a widget as well – AppBar, Drawer, SnackBar.
Want to add a theme? There’s a built-in widget for that. Want to add padding? There’s one for that too. Navigation? Rows? Grids? Lists? Yep, you do it all via widgets in Flutter.
And there are different widgets for iOS and Android and doesn’t matter which widget you choose, they will look exactly the same on both platforms.
It’s a new way that Google developed themselves to add more functionality to a project while keeping the coding fun.
In Flutter, since the widgets you add are a part of your app and not the Android or iOS platform, no campat libraries are needed.
So, you won’t have to develop specific codes for the old or recent versions of Android or iOS for your app to work seamlessly across all the versions, widgets take care of that as well.
Your app will run perfectly in all the versions, doesn’t matter how old it is. Plus, you won’t have to sit down to code all your app again if a new version is released, which saves a ton of time and effort.
4. Community packages
There’s already a big, vibrant community behind Flutter and since it’s an open-source project, there’s a myriad of packages (or libraries) available online. Flutter has packages for making HTTP requests, sharing content, storing preferences, sharing content, implementing firebase for a ‘serverless’ app, opening images, and many more.
Also, dart offers its own repository of software packages to extend the functionality of your apps and makes it easier to access platform-specific services and hardware
Yes, the development is quick on Flutter and a big community is already playing with the platform as well. But that doesn’t mean we can ignore the obvious. The fact that this project is still in beta means you can not rely on it completely for building your apps.
Also, though fairly easy, you’ll have to still spend a considerable amount of time mastering dart. Keeping everything in mind, Xamarin still is our best pick for cross-platform app development until a stable, commercialized version of Flutter is released, we will see then how it scores against its competitors.
Till then, you can play with it as much as you want and see for yourself how it stacks up against other languages, I personally think C# still is the best programming language when it comes to cross-platform mobile app development.
Have you tried Dart/Flutter? How was the coding experience like? Is it better than Xamarin? Do let us know about your experience with Dart and Flutter in the comments.