It has long been our vision for Flutter to power platforms. We’ve seen this manifest already at Google with products like the Assistant so now we’re thrilled to see others harnessing Flutter to power more platforms. Today we are happy to jointly announce the availability of the Linux alpha for Flutter alongside Canonical, the publisher of Ubuntu, the world’s most popular desktop Linux distribution.
I welcome any additional investment in Linux or other operating systems that aren’t the macOS or Windows, but this one has a major downside: it’s all tied to Canonical’s snaps and Snap Store. In case you are unaware – snaps are quite controversial in the Linux world, and Linux Mint, one of the most popular Linux distributions, has taken a very proactive approach in removing them. Their reasoning makes it very clear why snap is so problematic:
Applications in this store cannot be patched, or pinned. You can’t audit them, hold them, modify them or even point snap to a different store. You’ve as much empowerment with this as if you were using proprietary software, i.e. none. This is in effect similar to a commercial proprietary solution, but with two major differences: It runs as root, and it installs itself without asking you.
On top of all this, the snap server is closed source.
Snap is simply a no-go, and I’m saddened Google decided to opt for using it. Then again, Google has never shown any interest whatsoever in desktop Linux – preferring to simply take, but not give. None of their applications – other than Chrome – are available on Linux, and opting for snap further demonstrates Google doesn’t really seem to understand the Linux ecosystem at all.
All they had to do was release a source tarball, and for a few extra brownie points, maybe a .deb and/or .rpm, but that isn’t even necessary. If your tool is good enough, it will be picked up by distributions and third parties who will make those packages for you. Google opting for snap instead indicates they have little faith in their own product being good and valuable enough to be embraced by the Linux distribution community.
And if they don’t have any faith, why should I?
Anyway, this is google we’re talking about. They will discontinue flutter in a few years. Does anybody remember buzz? reader? wave? +?
They will kill apis and consumer facing products in a heart beat, but most of their open source developer tools are in good health.
I might’ve misread or just skimmed past it, but I don’t see anything here that specifically ties Flutter to Snaps, and Flutter *is* open source.
In any case, though, last I checked Flutter’s memory usage was the same as Electron. That, in combination with a number of other factors (like being Dart-centric) had me deciding against it for projects. I could be misremembering though.
All that said it’s a very mobile-oriented solution anyway. It supports desktop, sure, but even if something targets the desktop it doesn’t mean most apps will be designed for it given that—see Catalyst for real life examples.
You’re correct. Flutter is not tied to Canonical’s Snaps at all.
I’m pretty sure they’re essentially the same thing. Web page with lots of JS running in a discrete browser. Dart compiles down to JS, by the way.
Rumor has it, Flutter and Dart will be the way to write Fuscia UI applications.
You can definitely install Flatter framework on Ububtu or other linux distribution. Snaps not needed.
Dart compiles to native x86 or ARM code. Dart web compiles to JavaScript.
It runs everywhere mac windows linux android ios. That means you can write your app on linix and run it in any mobile device. It also means native app support on chrome/android without any VM like you need to rub Android apps on chrome,
a2d23,
🙂
You can write it on linux, but unless things have changed apple requires you build it on macos with xcode in order to use it on IOS. I believe this is the case even with an apple developer account and as far as I know you can’t easily get around this artificial requirement.
If one could, a lot more mobile developers would sidestep macos entirely since it’s mostly a means to an end. Obviously if not for apple’s rules, xcode would technically be redundant with 3rd party cross platform mobile toolkits that many devs are using including flutter.
Correct. But that’s not about Mac its about installing Flutter on Ubuntu without snaps.
a2d23,
Yeah, but I thought it was worth pointing out after you said “any mobile device” because you still need a mac for IOS.
It seems they’re also angry about the integration and ability to publish directly to the snap store. Too bad Ubuntu is the most popular so Snaps are the most likely to win the “package all dependencies package manager wars.” If only the Linux people could agree to work on a standard SDK so 3rd party developers can package and forget about it like they would on non-Linux or non-BSD with Linux userland OSes. Google most certainly doesn’t really intend for Flutter to be a major desktop app framework, so only having a single snap package for Ubuntu doesn’t surprise me. Just another thing to add to the pile of “pseudo dependencies” that surely must also affect Windows, Mac, Android, etc, but they never do since the don’t expect anything not found in the SDK they were developed with.
If you have no clue what Flutter is, this article is very confusing. First of all, Google and Linux is typically Android/ChromeOS. And then “Linux desktop app support” refers to support for GNU/X11 compatibility on ChromeOS. (Because Thom caters to SEO desktop Linux.)
Flutter is apparently some framework and this refers to supporting it on GNU/Linux based systems such as Ubuntu.
So far as I can tell flutter is open source (3 clause BSD license): https://github.com/flutter/flutter
This gives me further insight into Snap and I now understand why Google opted for it. Their user base are nothing mor e than sheeple to them, with wallets ready to pillage. They needed a system to discourage privacy, and have total control over their code. That’s where Snap comes in… as it is run by root, the app can pull all kinds of sensitive data from your machine, as well as control your machine and at their whim, legally pwn your box and internal network at any time. This is all in theory, so I’m against this direction that Google is moving to.
I’m pretty sure this was a favor to Canonical more then anything else.
Google on Linux is a very similar experience to Google on MacOS or Windows.
Google is a webshop. Outside of Android and iOS apps, Google doesn’t produce native applications. Chrome and Google Drive Sync/Backup/Whateveritis are the two native applications Google produces.
Google does have lots of APIs people can use, and Google Drive support in Gnome is pretty good. Google gives people the tools to write clients for their services. Meet, Chat, Hangouts seems to be the biggest problems for people though.
In theory a source tarball is all it takes, but in practice a traditional Linux distribution packaging will keep an old versions of some software in a released Linux distribution repositories. Therefore there obviously is still some room left for improvements.