You Can Create Flutter Apps on Chrome OS

Posted on May 13, 2019 by Paul Thurrott in Chrome OS, Chromebook, Dev, Google, Mobile with 18 Comments

Thanks to its Linux compatibility, you can now write software on Chrome OS. Including, apparently, using Flutter and Android Studio.

“The latest Flutter release adds support for building beautiful, tailored Chrome OS applications, including rich support for keyboard and mouse, and tooling to ensure that your app runs well on a Chromebook,” a new Google Developers post explains. “Furthermore, Chrome OS is a great developer workstation for building general-purpose Flutter apps, thanks to its support for developing and running Flutter apps locally on the same device.”

A. Great. Developer. Workstation.

That’s probably a bit of a stretch, as most Chromebooks, even those with reasonably modern processors, tend to ship with far less RAM and storage than an otherwise similar PC. But I do admit to a certain fascination with this topic, and I find it interesting that Google suddenly seems to be pushing software development on Chromebook more aggressively.

As for Flutter mobile app development, you’ll need a few things before you can get started, regardless of which platform you choose, including a developer IDE like Android Studio or Visual Studio Code and the Flutter SDK. Installing these on Windows and Mac is relatively straightforward, and both Android Studio and Visual Studio Code have internal tools for installing support for both Flutter and the Dart programming language it uses. But it’s a bit more complex on Chrome OS.

OK, it’s a lot more complex.

The nice thing about Chrome OS, the thing that makes it kind of interesting as a developer system, is that it can run Android apps natively. So, it’s possible to develop Android apps using Flutter and then just run them right there in Chrome OS next to Android Studio. Flutter has even been updated to warn of issues that are specific to Android apps running on Chromebook.

That’s all well and good. But the problem with this approach is that you must first enable developer mode on your Chromebook. Doing so will wipe out whatever user data you’ve added to the device—on Chromebooks, this includes everything associated with a user account, including installed apps—and then disable OS verification. So you’ll see a nasty warning every time you boot it up.

Once you get past that and re-sign-in to the Chromebook, you can enable support for Linux (Beta) in Settings and then install Android Studio and get started.

I’ve not yet tried this, but I’m intrigued in a vaguely geeky, but this is pointless, kind of way. Honestly, I’m more interested in a solid photo editing tool at this point. But with software development becoming a mainstream activity, of sorts, on Chromebook, it appears that virtually any limitation will be erased eventually. Microsoft can’t make EdgeBook happen quickly enough.

Tagged with , ,

Join the discussion!


Don't have a login but want to join the conversation? Become a Thurrott Premium or Basic User to participate

Comments (18)

18 responses to “You Can Create Flutter Apps on Chrome OS”

  1. dcdevito

    What I find ironic is that Google doesn’t recommend the Pixelbook for Android Studio/Android development. Irony is bliss.

    • nicholas_kathrein

      In reply to dcdevito:

      It's the processor. People had all the options but anyone who choose an M version instead of an I3,I5, I7 won't have a good experience. This would be not different on a surface with the lowest end processor.

  2. curtisspendlove

    Hmmm. For some reason I was thinking they had changed (via Crustini) the need to drop into developer mode to enable Linux.

    I swear that was one of the main selling points of the new architecture. They can just run a bunch of containers and keep system integrity on.

    Maybe be something in Flutter or Android Studio needs developer mode. Haven’t read through the docs.

  3. christian.hvid

    The real loser here isn't Microsoft, but Apple. With both Windows and ChromeOS providing real Linux kernels to run development work on, developers will have a hard time explaining why they need expensive MacBooks (unless they do a lot of iOS work).

    Other than that, I don't see why developers would be more attracted to a light-weight version of Windows ("EdgeBook") than to the real thing?

    • hrlngrv

      In reply to christian.hvid:

      EdgeBooks don't need a developer mode. Any developer who wants to develop under Windows would use a PC with a full Windows version. EdgeBooks would be exclusively for primary and secondary schools and grandparents who should be kept away from Win32 software.

      Also it may be A LOT easier to develop a secure but limited OS which could optionally be converted into a less secure but less limited OS than the reverse.

      Then there's security. There's no need to encrypt C:\Windows or C:\Program Files, but encrypting C:\Users would make a lot of sense. One thing which makes ChromeOS easy and secure to upgrade is that it uses multiple partitions for ChromeOS system files, 2 kernel partitions, 2 rootfs partitions, one of each for the current OS version, the other for upgrades. The boot loader is in yet another partition, and the upgrade process changes the boot configuration to point to the kernel/rootfs partitions for the upgraded OS version. This is in stark contrast to Windows upgrading itself in place.

  4. longhorn

    "Microsoft can’t make EdgeBook happen quickly enough."

    Edgebook? Do you mean Windows 10 S? They tried that.

  5. skane2600

    As I've said before if Google really wants to jump-start flutter development they need to get Java out of the development process.

    • curtisspendlove

      In reply to skane2600:

      I’m not certain, but I’d wager with as hard as Google has been pushing Kotlin for Android development, it is probably what underlies Flutter.

      If so, it’s a bit future proofed against the JVM while remaining backward compatible and can also target JavaScript and has a bit of other magic.

      • skane2600

        In reply to curtisspendlove:

        It would be great to get Android Studio or any other Java stuff out of the process. IMO Android Studio like Eclipse before it seemed always more focused on customization and bells and whistles than on reliability and good performance.

        • curtisspendlove

          In reply to skane2600:

          Agreed. Compared to any modern LLVM, the JVM is an utter dog. It has always been bad, but there is just so much better stuff now.

          Eclipse has always had terrible performance and usability. But it was powerful enough to get the job done.

    • longhorn

      In reply to skane2600:

      Correct me if I am wrong but isn't Android a Java virtual machine running on the Linux kernel. Take away Java and it wouldn't be Android. It would be Linux. The fact that Android is a virtual machine is why software can run on so many hardware architectures without being recompiled.

      The reason Google started Fuchsia is because they don't want to be tied to Java (giant lawsuit because of Oracle) and Linux (GPL).

      • skane2600

        In reply to longhorn:

        I'm not an expert on Flutter but I know it's intended to run on more OS's than just Android. If you removed the Java virtual machine you'd have a linux kernel, but it wouldn't be linux in the sense of a working Linux system. But my point was that if you want to provide an alternative way to develop software without Java, java should not be required as part of the build process.

        • Pungkuss

          In reply to skane2600:

          Flutter is pretty interesting. Framework is written in Dart, but compiles to native arm code on mobile(iOS/Android). At io Google announced a preview for flutter for the web and chromeOS, where it compiles to JavaScript or Android for chromeOS. They are also busy working on flutter for PC (Mac/windows/Linux) and had a demo showing an app working on the Mac. Looks like in the next Year/two flutter will have a framework where the same code base can run anywhere. Pretty cool.

        • longhorn

          In reply to skane2600:

          You have a point and I think Flutter works on Fuchsia (in fact it might be the main toolkit for building apps). So Flutter can work without Java, but maybe required for Android?

  6. jimchamplin

    Being 2019 and all, you’d think that such an old school process like “Developer Mode” would have disappeared for something much less incongruous, inconvenient, and insecure.

  7. hrlngrv

    Little RAM is limiting, but as long as there are USB ports, internal storage isn't much of a limitation.

    As for switching to developer mode and wiping out preexisting local user data, not that big a deal. At first login in developer mode, all one's apps and settings are restored. The only things which need to be backed up are files in ~/Downloads and files in apps like DOSBox which create virtual environments and can store a lot in ~ but outside ~/Downloads. The main thing lost by switching to developer mode is security.

    Re EdgeBook, if it can't run FULL desktop Office, including all the VBA functionality, OLE/Automation, [D]COM add-ins, how much more successful would it be than Windows RT devices? OTOH, if EdgeBook could run full Office and any other Win32 software, could it come anywhere close to the simplicity and security of Chromebooks?

    Also, and especially, note that Chromebooks automatically encrypt user account home directories. Full disk encryption only in the sense that user home directories are mounted on a separate partition from Chrome OS system files (/bin, /boot, /etc, etc). Would Windows FINALLY provide encryption by default?