In case you haven't heard in all the rest of the news events these days, Google has announced that they are now releasing full support for all the same platforms that Edinburgh has been targeting.
Since Flutter works outside of the native frameworks and rolls it's own screen control to write each and every pixel, they face many of the same challenges of how to make their controls look native on each platform etc. I would opine that they have reacted better by taking the bull by the horns and created "theme" packs that can check the running platform and reshape the required items at run time with trivial developer effort. But even so, they will always be a step behind native tools when changes are introduced.Google created Flutter a number of years ago, with the aim to make a cross-platform software framework. Flutter’s biggest strength is that it can be used to build applications for Android, iOS, Linux, Windows, macOS, and even the web, and all from the same shared codebase. While building apps for Windows received stable support back in February, both macOS and Linux were still only in beta. Now that’s changing, as Google has announced Flutter 3 at this year’s Google I/O, complete with stable support for building apps for macOS and Linux.
Of course, cross-platform support for both of these new platforms requires more than just programs being able to run. They need to fit in with the rest of the experience, and they need to support specific features that may be unique, as well. That’s why Google is highlighting two things: the first is that Linux support helped by Canonical (the publisher of Ubuntu) and Google collaborating in order to “offer a highly-integrated, best-of-breed option for development.”
As Google puts it, Canonical is already developing with “Flutter for key shell experiences including installation and firmware updates.” What’s more, their Linux-specific packages “provide an idiomatic API for core operating system services including dbus, gsettings, networkmanager, Bluetooth and desktop notifications, as well as a comprehensive theme and widget set for Yaru, the Ubuntu look and feel.”
As for macOS, Google invested in supporting both Intel and Apple Silicon devices, with Universal Binary support that allows apps to package executables that run natively on both architectures.
There are also huge, huge differences between Dart (the language beneath the Flutter interface code) and any X-talk. I found that learning Flutter while also learning Swift and SwiftUI complemented each other because both were solving many of the same problems with the same sort of steps in the same general direction - with relatively minor syntactical changes to suit. X-talk is a completely different mindset and approach, so that whatever I knew about app building from X-talk was actually an obstacle to learning a different way. Maybe I was scarred and deformed by early exposure to HyperCard, but X-talk seems so straight forward compared to jumping through all those other hoops.
I think the biggest issue for Edinburgh is that the entire Flutter environment is free. All the tools, a huge amount of teaching resources, all sorts of extras and add ons are all spilling over via a simple search. One might even argue that the community is too big and too eager - there is too much discussion on the "best" way to do many simple things. Too many templates, too many coding philosophies, too much of everything - leaving the new comer confused and dazed. But that seems to be a better problem to have compared to having a shrinking user base of older programmers that work in niche corners of the computing world and rarely if ever see the sunshine of publicity illumine their little corner of the world.
I also have no opinion about the Linux part of the announcement. Perhaps those of you in the know can comment about whether the support of
Canonical is significant or not. But it is interesting to see Linux up there as a full player and fully supported. Whether that is true in actuality...
Everyone gets to make their own choices of course, but the news this week seems to be blowing some strong headwinds for others who are trying to be the King of the Cross Platform hill.