Join us on our own very special Reddit: /r/Linuxers

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, Who?
We do often include affiliate links to earn us some pennies. We are currently affiliated with GOG, Humble Store and Paradox Interactive. See more here.
About the author -
author picture
I am the owner of GamingOnLinux. After discovering Linux back in the days of Mandrake in 2003, I constantly came back to check 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.
See more from me
19 comments
Page: «2/2
  Go to:

Dedale 8 Jul
Pardon my bad comprehension skills but is it a snap only thing ?
WJMazepas 8 Jul
Finally have a motivation to start studying Flutter now
View PC info
  • Supporter Plus
Quoting: apocalyptechI'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!
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
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
Quoting: AcrophobicIn 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.
Quoting: Luke_NukemPoint 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.
Quoting: AcrophobicIn 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 9 Jul
Quoting: TheSHEEEPDoes it actually work on Windows?
Google is talking with MS, too. I heard about both Win64 & UWP APIs.

Quoting: TheSHEEEPYou 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:

Patreon, Liberapay or PayPal Donation.

We have no adverts, no paywalls, no timed exclusive articles. Just 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!

You need to Register and Login to comment, submit articles and more.


Or login with...