Recently I was speaking with Rodney Aiglstorfer, CEO of the airline software startup, Aeyrium. The startup helps people, ranging from individual pilots to small and mid-size airline businesses and aircraft operators, manage their aircraft from the convenience of their smartphone (and full disclosure, he is also an advisor to Belatrix). Rodney has a stellar track record as a software entrepreneur, who I first met when he was the CTO and Co-founder of mFoundry, a mobile banking and payment startup, which was acquired by FIS for $120 million in 2013. So when he says something is worth paying attention to, I sit up and listen. His team has been using Google Flutter over the past half year, with dramatic results. So I want to dive into Flutter, and examine why it is such a powerful mobile framework, particularly for software start-ups.
Flutter, for those not familiar with it, is the open source mobile framework created by Google, and is based on Google’s programming language Dart. In February 2018, Google demoed the first beta of Flutter at Mobile World Congress, and in May, showed off the third beta at their I/O event. You can download the Flutter framework here.
Rodney outlines three key reasons why companies, and in particular startups, should consider Flutter based on his experience. Firstly, it increases the speed and productivity of development teams; secondly, it is truly multiplatform; and thirdly and most importantly, it helps create beautiful, crisp, user interfaces. Let’s look at each of these in turn:
- Accelerated developer pipelines, increasing developer productivity by 10x. The developer experience is fundamentally different with Flutter than with other mobile frameworks, such as React Native. Google has created a concept of “hot reload” or “stateful hot reload” – to think of this, imagine how you typically develop an application, where a developer is working on a screen, navigating it, makes some changes, and then has to stop the process, re-compile the app and re-deploy it, in order to see the result of their work. Flutter however is stateful, so when you reload the code, and go back to the emulator, you are where you started off. It is near instantaneous. So from a developer perspective, you can immediately see the changes – it also allows you to see the impact of just your most recent change. The further you get into the application, the greater you’ll notice this change, and the benefit. Rodney estimates that this has increased developer productivity by “a factor of 10” in his team.
- Out of the box support for Material Design creates a native app experience. The Google team has invested in Material Design, its design language that helps manage everything from how your app animates, to the shape and color of a button. Google has created a material UI library for Flutter, to help you rapidly create a Material Design experience for Android and iOS apps, that behave appropriately. By that I mean, for example, the app scrolls like an Android user expects, or how an iOS user expects. This means you can rapidly create a very beautiful, native app “feeling” with a single code base.
The power of combining Flutter with Firebase
Firebase is Google’s mobile platform, and it provides the entire backend for your application. Using Firebase is particularly advantageous for startups because you don’t need to worry about spinning up your own servers. Essentially your infrastructure is immediately serverless, redundant and scalable. You don’t have to develop these infrastructure skills in your team. Indeed, you don’t even need DevOps support. Firebase has a collection of useful services – all common tools and building blocks, that startups would otherwise have to build themselves (or mix and match from third party offerings).
In the experience of Aeyrium, they were able to completely recreate their version one product in just 4 months – what had initially taken them one year to build the first time. Although theoretically they have thrown away a year’s work, Rodney believes they are now much more nimble than before, and costs will be dramatically lower on the new infrastructure and development platform.
Expect the adoption of Flutter to grow rapidly when Google Fuchsia is finally released
Besides from the very real advantages of using Flutter, there is also another key reason to expect to see Flutter’s adoption grow rapidly. That is the fact that it is the development platform for Google’s new “Fuchsia” operating platform. Fuchsia is essentially a combination of Chrome and Android, although it is still in development, so we don’t know exactly how it will look like. However, analysts expect that Fuchsia will become the backbone to the millions of IoT devices that we can expect to see in everything from smart cars to intelligent buildings, that will emerge in the coming years. The user interface and the apps of Fuchsia are all being written in Flutter; and we can expect that applications written in Flutter will be usable on Fuchsia.
“I wish I knew a year ago, what I know now”
Beautiful user interfaces, cross-platform, and speed, are all defining characteristics of Flutter. However, I will leave the final word of this article to Rodney Aiglstorfer and his experience with Aeyrium:
“Flutter simply blows away the competition – you will not notice the difference between it and a “truly” native app. I wish I knew a year ago, what I know now.” Rodney Aiglstorfer, CEO, Aeyrium
What have been your experiences with Flutter? As always, I look forward to reading your comments.