Google touts Flutter as a "UI toolkit for building beautiful, natively compiled applications for mobile, web and desktop from a single codebase", and since we’ve been getting our hands dirty with it, it’s hard not to get excited about it.
Google first launched Flutter in 2017 at Flutter Live, and it has since rapidly grown to become a favourite of developers across the skill spectrum, with major brands turning to the toolkit to launch flagship apps. Although the technology is only a few years old, we’ve witnessed it inspire a fervour among developers the likes of which we haven’t seen since the introduction of iOS. Its broad appeal has drawn developers with backgrounds far beyond typical mobile design.
Flutter itself is comprised of the Flutter engine, a UI framework and a suite of development tools that work together to make it easy for developers to design, build, test, and debug cross-platform apps.
Widgets form the building blocks of Flutter apps, from simple text boxes to larger, more complex widgets such as custom animated elements. These are drawn by the Flutter engine, although individual pixels can also be controlled if needed.
While there are core widgets that are common across all platforms, Flutter makes it easy for developers to tailor interfaces to each specific platform within the UI framework. Currently Cupertino for iOS and Material for Android are the two packages offered, allowing for apps to be tailored to the familiar design schemes within each platform.
As with other cross-platform app frameworks and toolkits, Flutter cuts development overhead by requiring only a single codebase to be created and maintained across all platforms, but its well-supported combination of components gives it distinct advantages: the UI Framework makes custom, beautiful and brand-driven designs easy without the limitations of platform-specific widget sets.
It’s also easy to prototype and iterate quickly thanks to the ‘hot reload’ feature, which lets developers see code changes live and without the need for a full build.
Big-name brands have been quick on the uptake with Flutter, with eBay, BMW, Alibaba, Groupon, Philips Hue and the World Health Organisation all launching flagship apps using the toolkit. Naturally, Google have launched their own Flutter-built apps, including Stadia and Google Ads, and it’s become the recommended development kit for Google Home Hub.
While we feel Flutter’s benefits outweigh it’s drawbacks, it would be negligent not to point out some considerations around it. Due to the nature of cross-platform development there are still cases where native code is needed, for example when integrating specific libraries at the platform level, such as a payment provider, or when a platform feature is not already available in a Flutter library. Also, while Flutter supports mobile, desktop and web apps, it currently has no support for watch or TV apps, so can’t support a full digital ecosystem just yet.
These shortcomings are to be expected with any new and evolving technology, but they haven’t stopped Flutter’s rapid rise, overtaking other cross-platform app toolkits and surpassing even React Native in popularity in early 2020.
Since its launch, we at Screenmedia have been tracking Flutter’s development across official announcements, building prototypes, and consuming innumerable blog posts and podcasts, and it’s hard to name a comparable technology which has been received so positively. Placed into the hands of our developers, the ease of development and polish of the results are always cited amid their first impressions.
We’ve got plenty more exploring to do with Flutter, and are excited to introduce it to our clients amid our suite of mobile, web and cloud development services. If you’re looking for a way to improve your mobile apps, or are considering launching a new app project, get in touch and we’d love to see if Flutter is the right approach for you!