The Flutter SDK Is Ready To Be Used For Native Linux Software Development

From LinuxReviews
Jump to navigationJump to search
Programming.svg

Flutter is a cross-platform software development kit from Google which is widely used for mobile app development. Google has, in collaboration with Ubuntu Linux maker Canonical, adopted the Flutter UI framework so it can be used to make native GNU/Linux programs. A Flutter SDK alpha-version snap is available for those who want to do Android-style native Linux software development.

written by 윤채경 (Yoon Chae-kyung)  2020-07-08 - last edited 2020-07-11. © CC BY

Flutter-sdk.jpg
"The Flutter tool uses Google Analytics to anonymously report". But of course it does.

Google's multi-platform Flutter UI framework is very popular among those making mobile applications for iOS, Android and Google's new Fuchsia OS. More than half a million developers use it.

It has been possible to use the Flutter SDK on GNU/Linux systems for quite some time. It is now possible to use it to make native programs for computers running GNU/Linux.

Google will also add native Windows desktop application support to Flutter in the near future.

Linux Will Be "A First-Class Flutter Platform"[edit]

Flutter finance app.jpg
A finance program written using Flutter running natively on GNU/Linux.

Google asset Chris Sells medium blog post announcement story is that Linux will be a "first-class platform" for the Flutter platform. There is a small obvious potential problem with that story: The Linux support is developed in close collaboration with Canonical. It may be fairer to say that Ubuntu Linux will be the "first-class Flutter platform". This is heavily indicated in the medium blog post announcement:

"By enabling desktop Linux support in Flutter, Canonical is making it very easy for application developers to publish their apps for Linux users via the Snap Store, the app store for Linux. By making Linux a first-class Flutter platform, Canonical is inviting application developers to publish their apps to millions of Linux users and broaden the availability of high quality applications available to them."

Chris Sells

It is true that Canonical's Snap Store is a "app" store for Linux. It is unclear why Google would refer to it as the "app" store.

Another minor problem with the "first-class platform" story is that the Linux desktop market share is tiny. While Linux market share is on the rise it is just 1 to 3.5% (depending on what source you look at). That is, from a for-profit developers perspective, close to irrelevant. Managers won't look at that market share tell developers to prioritize the Linux version of their corporations apps.

Native Linux desktop application support is, of course, good news even if the reality will much likely be that Linux is threated as a last-class platform.

Available Now - But Only As A Snap Package[edit]

Flutter-gallery.jpg
The Flutter Gallery of demo applications, widgets, etc.

The new Flutter SDK version with support for native Linux application development is so far only available as a snap package in Canonical's SnapCraft store. It is primarily for Ubuntu but Ubuntu is not a requirement. The Flutter SDK can easily be installed on other Linux distributions. These fine commands as root work fine on Fedora:

dnf -y install snapd
systemctl start snapd
ln -s /var/lib/snapd/snap /snap
snap install flutter --classic

then run /var/lib/snapd/snap/bin/flutter as a regular user. Don't forget to run flutter config --no-analytics to disable the most obvious spyware bundled with the Flutter SDK.

You will also want to switch to the flutter "dev" channel and enable the fancy new native GNU/Linux application support:

flutter channel dev
flutter upgrade
flutter config --enable-linux-desktop

You may also want to snap install flutter-gallery to get the "Flutter Gallery" collection of demo programs and widgets - all of them built using the Flutter SDK.

Sun Tried This With Java[edit]

What Google is trying to accomplish seems quite clear: They are trying to make the Flutter SDK the SDK for cross-platform applications who can be deployed on any device ranging from mobile phones to smart televisions to desktop and laptop computers - regardless of them running iOS or Android or Fuchsia or Windows or macOS or Linux.

Sun Microsystems tried to accomplish something very similar with Java and the Swing UI. Their marketing at the time was "Write once, Run Everywhere" (which, in practice, meant "Write Once, Debug Everywhere"). Sun was bought by Oracle for a fraction or its value at the height of its dominance. It seems unlikely that Google will suffer the same faith. Flutter is already used by more than half a million developers who will, quite happily, release Windows and Linux versions of their existing mobile applications if the effort required to do that is near-zero.

We expect that there will be native Linux versions of a lot of previously mobile-only "apps" available in Canonical's SnapCraft store in the near future.

It is also likely that Flutter will become a generally more popular SDK in the future. Qt is multi-platform and very nice but you can't just write some program using Qt and expect it to run on every smart-TV, smartphone, smartwatch, laptop and computer out there. That is what Flutter will be once the Windows desktop support arrives.

You can learn more about the Flutter SDK at flutter.dev. That site has in-depth documentation that will help you get started developing applications using Flutter. The native Linux support announcement is at medium.com. The bottom half of it has some useful information outlining how you can actually use Flutter to create native Linux programs and publish them to the SnapCraft store. Flutter apps are built using the Dart programming language so you will have to learn its basics. Don't worry, it uses a C-style syntax. You will grasp it fairly quickly if you have any programming experience.

0.00
(0 votes)


avatar

Intgr

18 months ago
Score 0++

Sun Microsystems did *NOT* go bankrupt. Yes, they lost enough value that they were subject to purchase by Oracle. But still far from being bankrupt.

I guess one way how LinuxReviews stands out from other news sources is the bold "no bullshit" attitude. But frequently it seems to come from hyperbole at the cost of factual accuracy.

As much as I enjoy reading LinuxReviews, I also abhor misinformation. I don't know that there's a satisfactory solution to this though. Perhaps the solution is not a change to the editorial process, but for readers to be skeptical and not take every claim on the Internets as truth. Just some thoughts, anyone else?
avatar

WaiLin

18 months ago
Score 1++
Corrected. Thank you for pointing that factual error out. Factual errors are very bad, it is always appreciated when someone takes the time to point them out.
Add your comment
LinuxReviews welcomes all comments. If you do not want to be anonymous, register or log in. It is free.