flutterHost Google’s open-source framework for building multi-platform apps for mobile, web, and desktop Flutter forward event in Nairobi, Kenya today. As the name implies, the team uses the event to showcase emerging features of the framework, most of which are still in the very early stages of their development cycle. The main highlights here include vastly improved graphics performance, the ability to more easily embed Flutter code into existing web and mobile apps, and support for new architectures such as Web Assembly and RISC-V. Virtually all of these capabilities are still in canary branches and behind experimentation flags, but they do show where Google plans to take this project in the coming months – and help understand the overall open-source ecosystem around it where some additional work might be useful ( about 40% of contributors to Flutter are outside of Google).
Tim SneathGoogle’s director of product and UX for Flutter and the Dart programming language told me the team decided to do a complete rewrite Fan, Flutter’s rendering runtime. This new version aims to fix some of the existing glitches from the previous engine, but it also significantly improves performance – while still providing support for hot reloads and other core Flutter features. “It’s such a different kind of experience. It’s just so silky smooth,” he said. “Essentially we can build a graphics rendering engine that is custom-built for Flutter instead of using a generic renderer.”
To enable this performance, the engine now features precompiled shaders, avoiding the previous engine’s frame drops during shader compilation. There’s also now support for custom shaders and pixel shaders, which enable a number of new effects – in turn allowing developers to build a host of new experiences on top of Flutter. Beneath all 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 as well. “Our overall 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 looking at is element embedding. For web developers, this means they can use this to easily embed Flutter content using a standard
The team is also working on a new package that will enable better JavaScript and Dart interoperability, as well as new tooling that will make it easier for Flutter to call system APIs on Android and iOS. It had that capability before, but getting this to work required writing a lot of code for developers.
Looking ahead, the team is also launching its first efforts to compile Flutter to WebAssembly. With the hype surrounding this binary format growing rapidly – and both browser support and server-side tooling maturing – it may come as no surprise that the Flutter team is also interested in this technology. For the most part, it’s about getting extra feats from Flutter, Sneath explained. “Dart translates into very tightly compiled JavaScript code, but it’s still JavaScript code, so it will be loaded and interpreted – and for us, WebAssembly seems to give us a little more time to load, size and megabytes over the wire. I think that’s interesting,” he says. “The potential for WebAssembly – both on the web and even beyond – is to become this new kind of portable lingua franca. I like the idea that we can also use other be able to access and use code in other languages in WebAssembly.”
As for RISC-V, the open-standard, royalty-free chip architecture that’s also beginning to be adopted industry-wide, Sneath noted that it’s still very early days (although he said he really enjoyed working with the RISC-V-based chip). to play). ClockworkPi DevTerm Kit) but he believes that supporting this architecture could 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, even if the number of developers specifically targeting this architecture is still quite low.
Finally, the Flutter team is also launching an exciting new toolkit for news publishers, building on the success of a similar initiative the team launched last year for game developers at Google’s I/O developer conference. This toolkit should enable new publishers to quickly build a new mobile app with support for authentication, ad integrations, notifications and more – all without having to design these elements from scratch.