Flutter
Published in

Flutter

What’s next for Flutter

Setting out our vision at the Flutter Forward event in Nairobi

Four themes: Breakthrough graphics performance, seamless integration for web and mobile, early to new and emerging architectures, and a continued focus on developer experience.

Breakthrough graphics performance

Historically, cross-platform frameworks have required compromise on visuals, due to the challenges of creating an abstraction layer. Flutter has taken a different approach than most, with its own rendering layer that offers hardware-accelerated graphics and a consistent visual appearance on every device. Moving forward, we will invest in breakthrough graphics performance that extends Flutter’s existing strength in this area.

Impeller provides silky-smooth performance for demanding graphical apps like Wonderous, a beautiful app that takes you on a tour of the world’s wonders. Shown here: the latest version of Wonderous, which adapts its UI for different devices and form factors, available at https://wonderous.app.
Kaleidoscopia, a demo that shows an example of graphics performance improvements with Impeller.
A screenshot of the Chrome web browser, showing a Flutter pixel shader demo. There is an image of Dash, our Flutter mascot, but it has a mosaic-style effect that is adjustable with a slider control.
Flutter now supports pixel shaders on the web, enabling various cool visual effects. (Credit: Erick Ghaumez.)
Impeller enables Flutter to render 3D graphics, as shown in this fun demo of Dash.

Seamless integration for web and mobile

While you can write an app entirely using Flutter and Dart, almost any non-trivial project needs to connect with other code. On the web, Flutter may be used as an embedded component within a larger app; on mobile, apps may need to call system APIs or other code written in another language. Our second major theme of investment is therefore seamless integration for web and mobile.

A screenshot of a Flutter web demo. The traditional Flutter counter app is shown, but it is skewed and transformed in CSS to look as if it is part of a photo where a woman holds an iPhone.
With Element Embedding, you can embed Flutter into a <div> element and use CSS to style it.

Early to new and emerging architectures

Thanks to Dart’s broad support for a wide range of processor architectures, as well as its highly-optimized JavaScript compiler, Flutter can already run on a broad variety of devices and form factors. But with some exciting new options on the horizon, our third theme is bringing early support to new and emerging architectures.

A photo of the ClockworkPi RISC-V portable terminal. This is a small device of approximately the same size as an iPad, but with a miniature keyboard, trackpoint mouse and terminal display.
The ClockworkPi DevTerm R-01, an experimental RISC-V computer, running a Dart console app.

Continued focus on developer experience

Foundational to everything we’ve described above is developer productivity, which has been a hallmark of Flutter since its inception, with features like stateful hot reload. Our fourth and final area of investment for the future is a continued focus on developer experience, across both Flutter and Dart.

An image of VSCode running a demo of the new records and patterns features. It shows that Dart can now return multiple values. The code for the demo is at https://gist.github.com/timsneath/a75fd9f76b5b61c42676c9232160d14d
A simple example of records and patterns being used to return and receive multiple function parameters.
Stories of three Africa-based news publishers who have been early adopters of the Google News Toolkit.

Moving forward together

We hope you share our excitement about where we’re taking Flutter moving forward. We’re continuing to invest heavily in the core developer experience, while making some foundational improvements that pave the way for ourselves and others to build even more powerful experiences with Flutter.

Four themes for future work: breakthrough graphics performance (Impeller, shaders, 3D support); seamless integration for web and mobile (element embedding, JNIgen and FFIgen); early to new and emerging architectures (WebAssembly and RISC-V); and a continued focus on developer experience (Dart language features, sound null safety, Google News Toolkit and Wonderous).
The story of Klasha (https://klasha.com/), a tech startup that gives African consumers frictionless access to goods from around the world, and their experiences using Flutter.

--

--

Flutter is Google's mobile UI framework for crafting high-quality native interfaces on iOS, Android, web, and desktop. Flutter works with existing code, is used by developers and organizations around the world, and is free and open source. Learn more at https://flutter.dev

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Tim Sneath

PM/UX Director for developer frameworks and languages at Google, including Flutter, Dart, and Go.