Flutter, Google’s open-source framework for building cross-platform apps for mobile, web, and desktop, is hosting its Flutter Forward event today in Nairobi, Kenya. As the name suggests, the team uses the event to showcase the framework’s upcoming features, most of which are still very early in their development cycle. The main highlights here are the vastly improved graphics performance, the ability to more easily integrate Flutter code into existing web and mobile applications, and support for new architectures such as Web Assembly and RISC-V. Virtually all of these features are still in canary branches and behind experience flags, but they show where Google plans to take this project in the coming months – and help the overall open source ecosystem around it understand where some additional work might be helpful (about 40% of Flutter contributors are outside of Google).
Tim Sneath, Google’s product and UX director for Flutter and the Dart programming language, told me the team decided to completely rewrite Impeller, Flutter’s rendering runtime. This new version aims to fix some of the existing issues of the previous engine, but also significantly improves performance, while providing support for hot reloads and other core Flutter features. “It’s such a different experience. It’s so silky and smooth,” he said. “Essentially, we’re able to build a graphics renderer suitable for Flutter rather than leveraging a general-purpose renderer.”
To enable this performance, the engine now offers pre-compiled shaders, avoiding the previous engine’s frame drops when compiling shaders. There is also now support for custom shaders and pixel shaders, enabling a number of new effects, which will allow developers to create a host of new experiences in addition to Flutter. Beneath all of this are the low-level Vulkan and Metal 3D graphics APIs of Android and iOS. Currently, the team is focusing its work here on mobile, although many of these new graphics capabilities should already work on macOS and Windows. “Our general model for Flutter is to take it anywhere you can paint pixels,” Sneath said.
Speaking of taking Flutter everywhere, another new feature the team is previewing is element integration. For web developers, this means they can use it to easily embed Flutter content using an element
As for RISC-V, the open-standard royalty-free chip architecture that’s also starting to gain traction in the industry, Sneath noted that it’s still in its infancy (although he said that really enjoyed playing with the RISC-V DevTerm Kit-based ClockworkPi) but he thinks support for this architecture can open up new platforms for Flutter, especially in the embedded space. With Google’s Android team also investing in this architecture, it’s definitely worth keeping an eye on what Google is doing here, although the number of developers specifically targeting this architecture is surely still quite small.
Finally, the Flutter team is also launching an exciting new toolkit for news publishers, which builds on the success of a similar initiative the team launched for game developers at the I Developer Conference. /O from Google last year. This toolkit should allow new publishers to quickly build a new, centric mobile app with support for authentication, ad integrations, notifications and more, all without having to design these elements from scratch.