Businesses today need to make key decisions on their choice of mobile technologies. They’re constantly looking and evaluating technologies in order to create powerful digital experiences, regardless of their mobile device or operating system. Organizations that fail to provide products and services that are easy to use, regardless of channel or device, risk rapidly falling behind their competition.
The challenge, however, is that cross-platform development is difficult. In many cases, despite best efforts, the user experience simply lags behind that of truly native apps. In recent years, we’ve seen the emergence of different mobile frameworks such as React Native, Xamarin and AngularJS to help organizations create these digital experiences. More recently, we’ve seen a new player in the game — Google Flutter. Over the past few months, I’ve seen firsthand more and more interest from clients and organizations in Flutter.
At its heart, Flutter is a hodgepodge of different Google technologies and ideas, but the end result is an incredibly powerful mobile framework. It’s based on Dart, Google’s in-house programming language, while also bringing together the Skia graphics library — what Chrome uses. Flutter also works closely with Google’s Material Design, which is its design language, best known for the “card motifs” that Android users are familiar with.
While we can dive into the technical basis of Google Flutter, I think it’s more worthwhile to discuss the actual experiences of businesses which have decided to take the plunge and use it. My organization has been working with different customers as they implement Flutter, and it has been fascinating to see their experiences with this new technology. In many cases, it has been startups who have been willing to take the leap to try Flutter — they are attracted by needing just one development team and one code base, whilst not sacrificing performance.
Based on my discussion with these businesses, I want to explore five key reasons why Flutter is such a big deal and why CTOs should start paying attention to it.
- Developers increase productivity ten-fold. One of the most fascinating benefits I’ve seen work for startups was related to developer productivity. This increase in productivity has come from Google creating “hot reload” or “stateful hot reload.” This means developers can immediately see the impact of the change they have made. There’s no need to recompile — you see the change as soon as you save it. For developers, this is really easy to master — there is very little learning curve involved in using the “hot reload,” but the benefits are significant.
- It’s a powerful design experience out of the box. Due to the collaboration between Flutter and Google’s Material Design, it’s easy to create very powerful UI experiences right out of the box. It helps create the smooth, crisp experience that you typically only see with native applications. Flutter has customizable widgets for iOS, so again you get that native application “feel.” I suggest reviewing its extensive widget catalog, where you can choose from many different designs. Work with your UX designers to create exactly the design and brand experience that your company wants in its mobile application.
- For startups, the option to use Firebase as the backend is highly attractive. Firebase is the backend provided by Google. Simply put, it provides out of the box support for cloud storage, cloud functions, realtime databases, hosting, authentication and a whole lot more. Your infrastructure is immediately serverless, redundant and scalable. It means you don’t need to invest time and resources into building the backend. It’s also easy to combine it with a tool for automating your development and release process such as Fastlane, thus allowing your team to achieve continuous delivery. Here, you don’t even need to worry about building dedicated DevOps support in your team. If you or your team are not familiar with Firebase, I recommend reviewing the developer training modules that Google provides.
- Fuchsia, the new operating system from Google, will use Flutter. Although details about Fuchsia are still limited, we know that it will rely on Flutter. This will essentially combine Android and Chrome, and it’s believed that Fuchsia will be the heart of the millions of internet of things devices that we can expect to see in the coming years, given that it will be possible to use it on very low-powered devices. Other analysts believe it will be the foundation for augmented and virtual reality. Regardless of how Fuchsia finally looks, it is highly likely to have a significant impact — being prepared with Google Flutter, is simply an added bonus.
Even though Flutter is still fairly new, I’m starting to believe that we will see the same level of interest in Flutter as we saw with AngularJS a few years ago. Particularly for startups, the value proposition of using Flutter is highly attractive, because it solves many of the pain points they face, especially when dealing with limited time and budget to get your software product to market. What have been your experiences with Flutter?