Google’s brand new cross-platform UI toolkit, Flutter, has been shown working with the Raspberry Pi hardware, no less, as a proof of concept for its porting.
On Tuesday,Google officially launched version 1.0 of Flutter, a toolkit for creating embedded graphic components that works with both iOS and Android from a single codebase.
By creating native ARM code, Google is claiming that Flutter (see below, using a Maps widget) enables the flexibility of cross-platform developing without compromising on performance.
Read more about the new Google toolkit here – Google’s mobile toolkit targets both iOS and Android
Well, the system is intended to run on a wide variety of platforms – including the desktop eventually – but one of the early ones tried was the Raspberry Pi.
Using the Flutter engine built for ARMv7, Google’s Chinmay Garde, describes his porting experiment.
There are few constraints covered:
“The Raspberry Pi is capable of running a full desktop environment with fairly heavyweight dependencies like X11. But, instead of depending on a heavyweight desktop environment (where Flutter Desktop Embedding’s embedder can be used), you will use Broadcom APIs directly. This allows booting directly to Flutter in a lightweight environment with no dependencies you don’t need.”
“You won’t use existing toolchains for building any artifacts. The Raspberry Pi is a fairly popular platform with well supported toolchains, but this process follows the same steps required when porting for a more esoteric platform without good toolchain support.”
Check out this article from a Googler on using the toolkit with the Broadcom hardware.
It is a serious-duty project, not for the faint-hearted – for example, “preparing a Clang toolchain for arm-linux-gnueabihf“, building an embedder, and building the Flutter application bundle itself… then you can run the apps!