Every article tag can be clicked to get a list of all articles in that category. Every article tag also has an RSS feed! You can customize an RSS feed too!
We do often include affiliate links to earn us some pennies. See more here.

This might be quite big news! Flutter, the UI toolkit from Google that's used in tens of thousands of Android applications is coming to the desktop. Google and Canonical have announced their push for Linux too.

Why is this a big thing? Well, anything that boosts easy cross-platform development is a great thing. It can make Linux more attractive to developers to work on, plus publishing onto Linux becomes easier again. Writing in a Medium post, Chris Sells (Google) & Ken VanDine (Canonical) talk a little about what's going on.

They said that the goal for Flutter has "always been to provide a portable toolkit for building beautiful UIs that run at native speeds, no matter which platform you target" although initially starting on mobile. Now though, they announced "we are happy to jointly announce the availability of the Linux alpha for Flutter alongside Canonical, the publisher of Ubuntu". On the Linux side, they've hooked it up with "a new GTK+ based host for Flutter apps on all Linux distros".

To show it off working on Linux, they even created a desktop application named Flokk (Snap Store - GitHub) in partnership with gskinner.com, which is powered by Flutter. Take a look:

YouTube Thumbnail
YouTube videos require cookies, you must accept their cookies to view. View cookie preferences.
Accept Cookies & Show   Direct Link

For Canonical, they've been working on making it easy for developers to publish to the Snap store, with Snaps being one of the newer generation of cross-distribution packaging formats. Canonical has "dedicating a team of developers to work alongside Google’s developers to bring the best Flutter experience to the majority of Linux distributions" so they're putting plenty of resources into making it happen and ensure parity across platforms.

If you do want to try developing with it, together they've made the Flutter SDK available on Linux through the Snap store which will work with your favourite IDE (like Visual Studio Code or whatever). Keeping in mind it's an "alpha" level release right now.

Anything that can boost Linux in the eyes of developers is great, we shall be watching this with great interest, especially as games can be made with it too not just traditional applications. One less Linux barrier if developers opt for Flutter.

See all the info in the Medium post announcement.

Article taken from GamingOnLinux.com.
17 Likes
About the author -
author picture
I am the owner of GamingOnLinux. After discovering Linux back in the days of Mandrake in 2003, I constantly checked on the progress of Linux until Ubuntu appeared on the scene and it helped me to really love it. You can reach me easily by emailing GamingOnLinux directly. You can also follow my personal adventures on Bluesky.
See more from me
The comments on this article are closed.
All posts need to follow our rules. For users logged in: please hit the Report Flag icon on any post that breaks the rules or contains illegal / harmful content. Guest readers can email us for any issues.
18 comments

appetrosyan Jul 8, 2020
On the one hand, I hate everything google and would much rather it had no connection to Linux. On the other hand, it’s actually one of the better toolkits out there, with lots of app potential.
apocalyptech Jul 8, 2020
I'm always happy to see new options available on Linux, but maaaaan do I despise the mobileification of desktop UIs. One of the reasons I ditched Gnome once they got to v3. My desktop is not a phone, and shouldn't try to pretend to be one. I know I'm a bit of a dinosaur, but I want my desktop to take advantage of the fact that I've got a large monitor and don't need buttons to take up a quarter of the screen, or be reduced to little stylized icons just 'cause that's all that'd fit on a phone screen. Like that gigantic green waste of space on the left in that thumbnail up there, lack of proper menus, popups which insist on being in-window which don't let me take advantage of any of my Window Manager's native features... Just ugh.

As I say, I'm glad that folks who DO want that kind of stuff have more options available, but I'll personally stay far away.
kaiman Jul 8, 2020
I'm with apocalyptech. I've spent a few minutes trying to figure out what the tech behind Flutter really is (because if it's some abomination like Electron I wouldn't want to touch it), and the following gem caught my eye:

For a Material app, you can use a Scaffold widget; it provides a default banner, background color, and has API for adding drawers, snack bars, and bottom sheets. [1]
Thanks, I think I'll pass ... . We dinosaurs might die out, but at least we'll die out in style!
Donkey Jul 8, 2020
I tried to learn Flutter before but all examples had such a horrible coding style making me all confused. Adding a thing like this is actually pretty cool and could become useful in the future. I am sure I will try to learn it again as soon as I have some spare time just to see how useful it could be for desktop apps.
beko Jul 8, 2020
I'm bewildered. Using a Flutter cross compiled app for months now. It just sucks because it looks and feels like a mobilephone app but hey it's better than trying to run it _on_ my mobile phone.

I mean… my i5-8600K has at least the power to run it smooth
TheSHEEEP Jul 8, 2020
View PC info
  • Supporter Plus
Does it actually work on Windows?
If not, the use of it will be really quite limited.
Cross-platform only for Android & Linux isn't exactly a common use case.

Looked it up, no it doesn't. Desktop is Linux & MacOS only. At least on desktop, that's extremely limiting.

Also...
You either develop a UI for desktop, or you develop a UI for mobile. Or you do both at the same time, but you can't just use the same layouts for both, or the result will be severely suboptimal on one of the platforms. I'm sure we all used some mobile->desktop or desktop->mobile software that was just terrible to use on one of the platforms and you could see where it came from and why it doesn't work well on the other platform.


Last edited by TheSHEEEP on 8 July 2020 at 8:13 pm UTC
Liam Dawe Jul 8, 2020
Does it actually work on Windows?
If not, the use of it will be really quite limited.
Cross-platform only for Android & Linux isn't exactly a common use case.

Looked it up, no it doesn't. Desktop is Linux & MacOS only. At least on desktop, that's extremely limiting.
It's expanding to support both web and desktop, just Linux is being announced now since Canonical jumped in early. Windows is an obvious goal for them too but they've needed to gradually refactor it for mouse input and all the rest you expect in desktop builds.
WorMzy Jul 8, 2020
On the Linux side, they've hooked it up with "a new GTK+ based host for Flutter apps on all Linux distros".

Meh, not interested then.
Mohandevir Jul 8, 2020
It it helps pushing Linux adoption on the desktop without being mandatory, I'm all in with that.
edo Jul 8, 2020
Now react native for Linux pls
WJMazepas Jul 8, 2020
Finally have a motivation to start studying Flutter now
slaapliedje Jul 8, 2020
I'm always happy to see new options available on Linux, but maaaaan do I despise the mobileification of desktop UIs. One of the reasons I ditched Gnome once they got to v3. My desktop is not a phone, and shouldn't try to pretend to be one. I know I'm a bit of a dinosaur, but I want my desktop to take advantage of the fact that I've got a large monitor and don't need buttons to take up a quarter of the screen, or be reduced to little stylized icons just 'cause that's all that'd fit on a phone screen. Like that gigantic green waste of space on the left in that thumbnail up there, lack of proper menus, popups which insist on being in-window which don't let me take advantage of any of my Window Manager's native features... Just ugh.

As I say, I'm glad that folks who DO want that kind of stuff have more options available, but I'll personally stay far away.
The funny thing is, I like Gnome actually. Once you realize it's mostly made for shortcuts and screen space (getting rid of the always on dock, etc) and once they fixed the 'always full screen apps', it became quite usable.

What I hate is the application level stuff becoming flat design and icons becoming complete garbage, and far too colorful and bright. Give me an icon I can actually understand wtf it is...

And this toolkit sadly looks like more of that. Fortunately we have a lot of choice in Linux, so us angry people can still use old apps generally speaking!
Luke_Nukem Jul 8, 2020
There's a lot of good to come from this - for a start it will beat the pants off Electron based apps, resource usage is generally a lot lighter. It's very quick to get started with development with dart, and the flutter toolkit itself is quite well thought out and designed.

(I'm a software engineer using dart and rust for a mobile app for a large company named JASIC)

EDIT:
Holy shit. Okay, so I have been developing this mobile app to control a new kind of welding machine right. Just built it for Linux and everything including WiFi detecting of the machine (using UDP), TCP connections, all screens, main server comms etc, it ALL works.

Caveats so far (in 5 minutes of use):

- I uses EGL, not usable with Nvidia unless you use master branch of flutter
- Window redrawing is jerky in debug builds
- You will probably need to take in to account widget sizing a little more
- Switches between horizontal and vertical layouts depending on window aspect if you have this done in source
- This looks exactly like the mobile app, which means it includes the navbar and back button on the nav bar so yeah app developers will need to target desktop specifically

I mean I'm pretty damned happy with this as is because I can suddenly very easily test and debug major things in my app right on my desktop....

EDIT2:

Being able to run this on desktop and resize the window in wacky ways means I can easily see what the effect on multiple mobile screen sizes will be. Shit I'm excited about this. My job just got a whole lot easier.

Another thing about this - suddenly Linux shot up a lot as a good platform to use for mobile app development if you are using flutter. This is a pretty big tick in Linux's favour.


Last edited by Luke_Nukem on 9 July 2020 at 12:16 am UTC
Acrophobic Jul 9, 2020
I'm quite happy with it. Flutter is nice, it's customizable like Electron but with better performance. The desktop shells for Flutter actually has been developed for quite long, there is one built using Go by community and another built with C++ by Google.

I've tried to use those shells for making desktop app in the past. It has potential however there are some issues that I found annoying :

  • AFAIK the shells works (at least the last time I try it) by rendering Flutter UI using GLFW. Because of it, Flutter can be compiled anywhere GLFW can work. However, thanks to this some GLFW issues exists as well, e.g. weird font rendering and blank white screen when resizing.

  • Dart language (that used by Flutter) only uses two spaces for indentation, which is too small for me. I don't mind enforced formatting like Rust and Go, however indentation width shouldn't be enforceable since everyone might have different eyes condition. This is why tab exist after all. There is issue for it, but I don't think it's going to be fixed soon.


At the end I ended up using QML which surprisingly quite nice and works properly. Sometimes I wonder why till this day QML is not really popular (outside KDE, I mean). It's fast, customizable and obviously lighter than Electron.

In other note, Linux Mint has dropped Snap packages. The latest release won't include any snaps or snapd. They also make APT will forbid snapd from getting installed.


Last edited by Acrophobic on 9 July 2020 at 1:15 am UTC
Luke_Nukem Jul 9, 2020
In other note, Linux Mint has dropped Snap packages. The latest release won't include any snaps or snapd. They also make APT will forbid snapd from getting installed.

snap isn't required at all, just flutter (master for Nvidia fix) and clang, ninja-build, libgtk-3-dev. I have various dev libs already installed, so maybe there are more, I'm not sure.

Point is, snapd isn't a requirement.
Acrophobic Jul 9, 2020
Point is, snapd isn't a requirement.
Yes, that's true. I forgot to mention it but I tested Flutter in Manjaro without snap and it works properly.

I just mentioned Linux Mint dropped Snap because it's quite a big news since one of the most popular Linux distro decided to drop it.
Purple Library Guy Jul 9, 2020
In other note, Linux Mint has dropped Snap packages. The latest release won't include any snaps or snapd. They also make APT will forbid snapd from getting installed.
That is not quite accurate. Mint won't stop you from installing snapd. But you have to do it deliberately--it's not installed by default and it won't be automatically pulled in by certain applications that Ubuntu packages as snap only.
megatux Jul 9, 2020
Does it actually work on Windows?
Google is talking with MS, too. I heard about both Win64 & UWP APIs.

You either develop a UI for desktop, or you develop a UI for mobile. Or you do both at the same time, but you can't just use the same layouts for both

Yes, they are working on more layouts, mouse input, desktop integration hooks, etc
While you're here, please consider supporting GamingOnLinux on:

Reward Tiers: Patreon. Plain Donations: PayPal.

This ensures all of our main content remains totally free for everyone! Patreon supporters can also remove all adverts and sponsors! Supporting us helps bring good, fresh content. Without your continued support, we simply could not continue!

You can find even more ways to support us on this dedicated page any time. If you already are, thank you!
The comments on this article are closed.