Flutter with Dart, get it?

A dart flutters in the air. In fact a dart is small and fast. That would seem to be a pretty apt metaphor for Google’s recently in-house programming language Dart.  Dart has been around for almost a decade, but it has really only gained widespread appeal once it decided to focus on the languages ability to compile to JavaScript instead of relying on a virtual machine.  In August 2018 Dart 2.0 was released with a now included type system.  The Java, C#, JavaScript like language has been gaining popularity ever since.

Enter Flutter. A dart that is not in motion is not much of a dart. With Flutter, a software development kit, Dart can be used to create native (yes, native!) iOS and Android apps from a single code base. No more development in Android Studio with Java or Kotlin, followed by development in Xcode with Objective C or Swift. All that is needed is one app developed and deployed using Dart and Flutter.

Dart is a client-optimized language for fast apps on any platform dart.dev

While this is not the first toolkit to allow development of mobile apps from one code base, it is looking to be one of the best. While PhoneGap (now Apache Cordova) has come and gone in terms of popularity, Dart and Flutter are about to eclipse even React Native (the current single code base per mobile app champion). Despite it’s name, React Native does not actually create native app code. It can often lead to difficult debugging and error correction and it is heavily tied to both the iOS and Android UI/UX standards. Flutter with Dart on the other hand, is truly native. Also Flutter with Dart is entirely widget based. This means that all visual elements in an app are based on Flutter widget code and not iOS / Android UI/UX objects. This results in a more flexible, customizable and frankly better looking app, without a lot of the necessary bug fixing React Native demands.

Oh and did we mention it’s fast? We’re not just talking fast to use in development, as there is only one code-base, but fast in deployment as the code i native (have we mentioned that? that the code is deployed natively? because it is. It’s native!).

Oh and did we mention, you can deploy code from Flutter to Mac OS, Linux and Windows? So these are all good reasons to consider Flutter with Dart, but what are the considerations before deployment? Well, it’s a relatively new toolset and language. That said, it’s popularity in learning communities and on GitHub is comparable to React Native. Let’s not forget that single code base solutions come and go very quickly. So it’s newness might not be a demerit, but definitely a reason for caution. But again, with its rich feature set, better handling of Android apps (than React Native), this is definitely a technology stack to consider when planning your next mobile app project. If you want to develop your next app using Flutter and Dart with Tin Mine, than contact us now!