Google & Canonical Bring Flutter to Ubuntu!

Share on twitter
Share on facebook
Share on telegram
Share on reddit
Share on pinterest
Share on linkedin
Share on tumblr
Share on email

There are few companies that ignite such controversial opinions in the Linux community and Free Software Movement than 1998’s startup-turned tech megalith, Google. Though the company was founded on humble beginnings and one of the most ambitious goals in existence–“to organize the world’s information and make it universally accessible and useful”–the company has made a multitude of questionable decisions in its 20-year-plus lifespan.

One reason that Google destroyed it’s competition in the early days was due to its simplicity of use and now-legendary search engine algorithms (such as Page Rank). Though Yahoo! had dominated the search engine market early, when Google was released onto the world, Google quickly became the go to portal into the new and adventurous frontier that was the World Wide Web. Today, the search engine is so popular that it is the de-facto implementation and is so ingrained in our culture that phrases like “just Google it!” have become common nomenclature.

Another reason that Google became so successful was how the company was set up and run compared to major traditional tech companies like Oracle, IBM, or Dell. In order to draw in and retain the best talent in the engineering world, Google provided unheard of amenities to their employees like free, healthy food in their cafeteria, massage appointments for stressed employees, and a number of extra-curricular activities like ping-pong tournaments in their office. Google was one of the first companies to realize that providing an unrivaled experience for their employees would entice and retain the top engineers in the world. On top of that, Google’s motto had become “Don’t be evil!”, something that permeated the company’s culture in its early years.

Adopted motto of Google that has since been removed from their offices. (Credit: mybroaband.co.za)

However, as a significant (in tech time) period has passed, Google has spread its influence as a global corporate superpower into almost every market it could, such as artificial intelligence, quantum computing, custom hardware solutions, the massive cloud computing industry, and even virtualization and container technology with their now de-facto Kubernetes orchestration platform. With this spread, Google began abusing their power of information, destroying much of the trust that privacy and security-minded people used to have for the innovative company. In essence, the “Don’t be evil!” motto was killed with their increasing grip on power over the information age.

So, whenever Google is mentioned in more tech-savvy communities like those that support Linux and FOSS, its name usually makes people shudder. Even so, it is impossible to deny the work that Google has done on making open-source software a standard today. With massive open source projects like Kubernetes, TensorFlow, Go, and Flutter, many other once-FOSS-allergic companies have realized the importance of the open-source model and have followed in Google’s footsteps, including other tech powerhouses like Facebook, Amazon, and even Microsoft.

Logo of the extremely popular Kubernetes open-source project from Google. (Credit: Ccaplat on medium.com)

Recently, an announcement came out of Google that appears to be a mostly positive move, even with the major and warranted critiques of the company throughout the open-source community. The major announcement involves a partnership between Google and Canonical to bring their open-source, cross-platform UI toolkit, Flutter, to Linux via Ubuntu.

For those unaware of Flutter, it is actually a project I would recommend checking out. As aforementioned, Flutter is an open-source project coming out of Google with the aim of making user interface development simpler and completely cross-platform with applications that can easily be packaged for ChromeOS, macOS, iOS, Android, Windows, and Google’s latest foray into operating systems research, Fuchsia. The goal is to allow developers to write a single codebase via the Flutter API that can run on any platform, reducing the development time and overhead of having to tweak their applications specifically for macOS, Windows, iOS, iPadOS, Linux, Android, and so on. In other words, its a huge time and headache saver!

Flutter uses the Dart programming language to build applications through the Flutter Framework and Software Development Kit (SDK), which provides a well-organized API for different widgets and layouts on different platforms as well as a ton of tools and utilities to make the process easier and maintainable. Dart is a language that was specifically created for building performant applications on multiple platforms and has a C-like syntax. Flutter uses the Dart virtual machine, which provides a just-in-time (JIT) execution engine (implemented in C++). In addition to compiling to native code, Dart can also compile to JavaScript, which is used heavily in client-side (and more recently, server-side) web development.

Example of asynchronous Dart code. (Credit: dart.dev)

So, what does this Google-Canonical partnership mean for the Linux community? Well, first of all, with the rapid adoption of Flutter by application developers all around the world, Linux could benefit via a much wider application ecosystem as well as access to the latest software projects due to Flutter’s ease of cross-platform development. And, well, nobody ever complained about more software available natively for Linux, right?

In addition, Dart was built to be a much faster language than current popular application frameworks like Electron, which uses JavaScript, a language known for incredible flexibility, but with a massive performance hit compared to lower-level languages like C or C++. Therefore, Dart was created with both performance and flexibility in mind, allowing for much higher quality applications.

Though many are wary of the presence of Google-related software making its way into Linux, Flutter is an open-source project, so the source code is available for anyone to peruse. All in all, I think that this is a great and much needed move for desktop Linux and is one that will allow the open-source operating system to run the applications of the future–something we have often struggled with.

What are you’re thoughts on the project? Do you believe this is a net positive move for Linux? Does Google’s involvement make you weary? Let me know in the comments below!

If you’d like to check out the official announcement from Canonical, you can find it here. If you would like to learn more about Flutter, you can find everything you need at their official website here. In addition, if you’d like to take a look at the Dart programming language, you can find information on how to get started here.

This is an excerpt from Linux++ Issue 22. You can read the full issue here.

Tweets