Coding on a Chromebook: Is it Possible?

  • by Mduduzi
Coding on a Chromebook: Is it Possible?

When Google announced its first Chromebook back in 2011, it was a masterstroke in foresight. The world was just getting comfortable with the idea of cloud storage and computing. Google not only observed but propelled this trend (along with Samsung and Asus) while capitalizing on it before anyone else could.

The Chromebook would be a lightweight budget-friendly alternative to Windows and Apple Mac laptops. Initial forecasts would report that it was a complete failure but it would eventually sell well, particularly in the education market.

Fast-forward to now, where Chromebooks are more powerful than ever and the perfect devices for users trying to escape Microsoft’s buggy Windows 10 updates. And these days, software creation on a Chromebook may be as easy as software creation on any other platform.

But where do you begin? What’s the most efficient way you can code on your Chromebook? In this guide, we’ll answer these burning questions and more.

How to Code on a Chromebook

Chromebooks are going on nearly a decade of existence and yet, they weren’t very accessible for software development until quite recently. Could it have been blamed on the limited hardware, the target market, or a lack of support from the software development community

Possibly, but it just seemed no developers took the Chromebook seriously as a machine that you could use for programming. It was great for browsing and everyday tasks but not very good for building and running software – unless you tweaked it a bit.

Essentially, what limited the Chromebook wasn’t the hardware. It was its operating system, Chrome OS, and its inflexibility that stood in the way. But what is Chrome OS?

What is The Chromebook’s Chrome OS?

To understand the challenges associated with Chromebook coding, we need to understand the limitations of the hardware and the software. Chrome OS is essentially a minimalist Linux distro akin to Porteusor Silverblue.

Originally, Google had not intended it to be a fully-fledged operating system but a specialized one that consumers could use to run the Google Chrome web browser. Early Chromebooks had very limited onboard storage so they weren’t very ideal if you were trying to install a large app.

Nevertheless, it came with an integrated media player and file manager. You could also install Google Chrome web apps and run them like desktop applications. This wasn’t eyebrow-raising as you could already do this on Windows. Although, a feature that made the Chromebook a little more enticing was how you could install and run Android apps out of the box on some models.

This feature was a significant one for mobile developers, even if just for testing purposes. Another feature that made the Chromebook a truly viable option for coding was the introduction of embedded Linux support on Chrome OS 69 (and beyond). You could always install Linux apps on your Chromebook but you were first required to use Crouton scripts to do so.

The introduction of this feature was pivotal because it meant developers and enthusiasts would have a more diversified set of options when it came to coding. This meant that you could now use your Chromebook for desktop and mobile app development, as well as web development almost out of the box.

Before we go into detail about these options, let’s talk about a few things you should consider before embarking on your Chromebook programming journey.

Tips for Optimal Chromebook Coding

Tip 1: Understand What You Have to Work With

Since the first release in December of 2010, there have been over thirty versions of the Chromebook. Chromebooks all have different specs and capabilities. From USB-C ports to touchscreens. At the time of writing this guide, the most well-rounded and powerful Chromebook was the Google Pixelbook GO, particularly the i7 256 GB version.

This doesn’t necessarily mean it’s the only Chromebook worth programming on. Nevertheless, you must make a note of your laptop’s specs. This will allow you to understand the limitations of your new Chromebook and what you need to add or alter to make coding a bit easier.

In addition to this Certain IDEs and tools have their own system requirements.

Tip 2: Expand Your Storage With an Offline Solution

Chromebooks are generally built like any other laptop. With some models, upgrading your RAM and internal storage is pretty straightforward.

I wouldn’t recommend upgrading your Chromebook yourself, unless you know what you’re doing, because this would most likely void your warranty.

Since most Chromebooks come with USB ports, some with USB Type C ports, the best option for upgrading your Chromebook is through an external hard drive. If you plan on doing a lot of offline coding or testing, then we highly recommend that you get yourself a fast external storage solution.

In addition to this, you should also consider investing in a second screen, external mouse and keyboard, especially if you plan on working from a home office.

Tip 3: Learn About Chrome OS’s More Intricate Features

You can streamline your workflow by learning about some of Chrome OS’s more intricate and subtle features.

From snapping windows into place, quickly running apps from the shelf by using the alt key, clearing your Chrome notifications quickly, running a Linux terminal and installing and running terminal apps, etc.

Don’t take the Google Chrome OS at face value. Learn how to modify it, customize it, and use it like a real power user. This will make coding on Chrome OS easier.

In addition to this, if you’re a developer, you should familiarize yourself with Linux terminal commands. You’ll be using them quite a bit.

Tip 4: Consider Installing a Different Operating System

You can actually dual-boot Chrome OS with another operating system or run a Linux distro simultaneously using Crouton in a Chroot container.

But the latter is a bit of a waste since the latest versions of Chrome OS allow you to run an embedded version of Linux, mainly for software building purposes.

Completely replacing Google’s Chrome OS with Microsoft Windows will require you to remove the write protection screw and flash a new BIOS.

Developers who bought their Chromebooks on sale or won them in a competition may be the most tempted to do this. However, I’d suggest you weigh your options carefully and consider if it’s worth the risk and effort.

Tip 5: Back Up Your Data

It is advised that you back up your files and apps before enabling Linux or turning Developer Mode on.

It should go without saying but once you start coding on your Chromebook, it’s good practice to regularly back your files up. This process can be automated.

Once you’ve enabled Linux (we’ll show you how further down this guide), you can back your Linux files and apps up using these steps:

  1. On the desktop, click on the time on the bottom right corner of the screen.
  2. Click on settings (the gear icon).
  3. Click on Linux (Beta).
  4. Then click on Back up and restore.
  5. On the left panel of the screen, select your backup location under “My Files”.
  6. Enter a name for your back up and then click on save.
  7. You should then see a progress notification near the bottom right of your screen.

Tip 6: Make Sure You Have The Latest Chrome OS

If you decide that you’re going to keep Google Chrome OS and code on it exclusively, you need to ensure that you’re running the latest version. To check for updates and install them, do the following:

  1. Click on the clock on the bottom right-hand corner of the screen and then select the settings gear from the pop-up menu.
  2. On the displayed panel on the left-hand side of your screen, click on ‘About Chrome OS’. It should be the last item on the list.
  3. Next to the version number, click on ‘Check for Updates’.
  4. If your Chrome OS version is outdated, it will automatically download the update files.
  5. Once it’s done, an arrow icon will appear near the bottom right corner of the desktop. Click on the arrow and select ‘Restart to Update’.

How To Enable Linux on Your Chromebook For Coding

Not so long ago Google made its Chromebooks a little more code-friendly by giving them Linux, Android, and phone web app support. Before you may be able to turn your Chromebook into a fully-fledged coding machine, you need to enable Linux. However, it’s important to note that at the time of writing this article, this feature was still in its beta stages. Hopefully, by the time you read this guide, it will be out of the beta stages.

Installing and Enabling Linux on Your Chromebook

  1. Click on the clock on the bottom right-hand corner of your screen and then click on the gear icon from the pop-up menu.
  2. From the panel on the left, click on Linux (Beta).
  3. On the main screen, under the Linux section, click on the button labeled ‘Turn On’.
  4. A new screen will pop-up. Click on the button marked ‘Install’.
  5. Give it a few minutes and Linux will be installed on your Chromebook. Once it’s done, it will launch a Linux terminal screen. You can then use it to download and install Linux applications.

The first command line you should run on the terminal is sudo apt -get updateThis will update the terminal and ensure it has the latest software.

*Note: Not all Chromebooks support this feature. Alternatively, you can use the crouton extension, which will require you to go into developer mode. Once again, ensure that you back-up your data if you plan on taking this route.

List of Development Tools Available for Coding on Your Chromebook

After enabling Linux on your Chrome book, you’ll be able to install and code Google Chrome web-apps, Linux applications, and Android apps. In this section, we’ll cover the best Chromebook developer tools at your disposal.

Offline Development Tools for Embedded Linux Development on Chrome OS

  • Visual Studio Code – A general-purpose editor, specialized for developing and debugging cand cloud apps. It has support for hundreds of languages including Android.
  • Jetbrains IntelliJ IDEA – An IDE that was built primarily for Java Development. The community version allows developers to build Kotlin, Groovy, Scala, and Android apps.
  • Atom – A cross-platform text editor developed by Facebook. It features IDE packages for Python, HTML, JAVA, and PHP.
  • Webstorm – A JavaScript web development IDE built by Jetbrains. If you’re a mobile app developer, it allows you to build cross-platform applications for Android, iOS, and Windows using frameworks such as Ionic, Cordova, and React Native.
  • Sublime Text – An elaborate cross-platform text editor. You can use it to edit Android source code, JAVA, Python, HTML, etc.
  • Node.js– A JavaScript runtime environment that allows you to test and run JavaScript without a web browser.
  • Angular CLI – A command-line interface that developers can use to build Angular 2 applications.
  • Docker Engine – A compartmentalization tool that developers can use to build and encapsulate projects.

Installing any of these tools should be straightforward. However, if you’re lost you can follow these steps on how to install VSCode Chromebook:

  1. Open your web browser and navigate to Visual Studio’s download page.
  2. Download the .deb file.
  3. Once it’s done installing, navigate to your Downloads folder.
  4. Right-click on the download Visual Studio Code deb file and select ‘Install with Linux (Beta)’.
  5. Click on ‘INSTALL’.
  6. Once it’s done, you’ll find Visual Studio Code under the Linux apps folder in your app list.

The above method may not work for you. If that’s the case, you can use the following steps to install it:

  1. Move the visual studio .deb file from the Downloads folder to the Linux Files folder.
  2. Open your app list and run the Linux terminal. It should be in the Linux apps folder.
  3. Once the terminal is open, type in sudo dpkg -i [name of VSCode installation package] i.e sudo dpkg -i code_1.44.2-1587059832_AMD64.deb.
  4. You may run into a few dependency issues. If that’s the case, you’ll need to use this command to satisfy them: sudo apt install -f.
  5. It will ask you to confirm. Enter ‘Y’ into the terminal screen.
  6. Once it’s done installing all the dependencies, use the terminal command in step 3 to install Microsoft VSCode.

The above steps will not work for ARM processors.

Development Tools for Native Chrome OS development

Even before you could officially run an embedded version of Linux from Chrome OS, you could natively develop Android and web apps.

  • Android Studio – The official IDE for the Android operating system. If you’re an Android developer, this in essential install.
  • Flutter – A user interface development toolkit that can be used to create new applications for Android, iOS, Mac, etc.

Development Tools For Microcontrollers and Single Board Computers

Developers and engineers who plan to create projects with microcontrollers and single-board computers using their Chromebooks need not be discouraged. There are a few options to work with here.

  • Arduino Create – An IDE that allows you to program for Arduino based electronics and boards.
  • ChromeDuino – An IDE and text editor that allows you to edit and develop Arduino compatible sketches from any of your Chromebooks. It features a terminal mode that you can use to interact with your Arduino board.
  • AVRChick – A simple sketch and app uploader for Arduino and AVRChick microcontrollers.
  • PICAXE Blockly – Allows developers to create new programs for their PICAXE microcontrollers.

Cloud-Based Tools For Coding on your Chromebook

For novices who have never worked with Linux before and have no interest in learning the ins and outs of Chrome OS, you can always turn to a cloud-based platform. Here are a few that are worthy of your time.

  • Mode– An online platform for SQL database creation and access.
  • repl.it– A free cloud-based IDE that supports over 50 programming languages.
  • Codeanywhere – A cloud-based IDE, primarily geared towards web development.
  • Shiftedit– An online IDE website and web app development.
  • Codetasty – A relatively new fully extensible alternative to repl.it
  • AWS Cloud9 – An online IDE developed by Amazon. It supports Python, PHP, and Javascript.
  • Google Cloud Developer Tools – A set of tools from Google that allow you to create new cloud-native apps.

All you need to access the above tools is your Chromebook’s web browser.

No-Code Tools for Chromebook Software Development

If you’re pressed for time and really can’t afford to write code, you don’t have to, thanks to theno-code movement. You can build feature-rich applications without writing a single line of code. Here are some of the most notable cloud-based low-code platforms for programming with Chromebook:

Final Thoughts

Despite Google I/O 2020 being canceled, we’re still fairly certain that Google has big plans for the Chromebook, especially on the development front. Some of the tools highlighted in this guide are only the tip of the iceberg. You can expect them to be expanded upon soon.

Either way, we hope that this guide serves as a map to your Chromebook coding journey. We hope that it points you in the right direction and gives you some clarity on where to start. If you’re convinced, check out our recommendation on the best Chromebook for programming, to see what works best for you! Thank you for reading.