As the fastest growing desktop operating system (OS), Chrome OS has started to mature and become an OS that is extremely versatile. What started as the Chrome Browser only device has morphed into an operating system that has Linux, Android and Progressive Web Application (PWA) baked in. This has made Chrome OS one of the most enjoyable to use OSs while giving power users the ability to create things.
In this article you will learn how you can use your Chromebook for coding and creating things like websites, mobile apps and much more. If you look at my previous article about coding on Android you can actually use all of those tools too when developing on your Chromebook.
This article will be split into three sections. Android, Linux and PWA. We will look at all there sides of Chrome OS and how they can be used for development.
When you first set up your Chromebook you can choose weather or not to install Android as well. Do not worry if you initially say no you can always add it later on. Chrome OS will then install Android 9 onto your machine as of January 2021. From there you will get the Google Play store which gives you the ability to install nearly every app you have on your phone. The reason I say nearly is because developers can choose which device types to target when publishing their application. They can choose to opt-out of publishing to Chrome OS. However that is very rate and I have only had this issue with very few applications.
When you open the Google Play store and type in IDE (short for Independent Development Environment) you can straight away see the hundreds of options that are also available on phones and tablets.
In addition to some of the great tools you can download from the Google Play Store such as IDEs, DB explorers, Web Servers, you can also get Educational applications. This one will probably come in very handy for any parents with kids who have Chromebooks (or not, this also works on phones and tablets). ScratchJr or as some of you might know it as just Scratch. It is one of the best applications I have ever used to learn problem solving and how computers work. This was something they used at school to teach us how to start thinking like a coder and you can get it on your Chromebook.
Using Linux on a Chromebook for coding is probably a bit more experimental than the other suggestions in this article due to the fact that it is still in Open Beta. Anyone can install it on their device however Google still claims that the feature is in Beta. When you navigate to the Linux option under settings and install it on your device. What will happen is a custom version of Debian will be installed on your device. Every time you run a Linux app it will be running in a virtual machine. This is very noticeable when first opening a Linux app as it can spin for a bit before opening due to the fact it is launching the virtual machine first. If you did not know it was spinning up a virtual machine however, you would not know that this is happening as the UI does not change and the application looks exactly the same as it would on Linux or Windows.
Google themselves have updated Android Studios to officially support Chrome OS. You can connect your phone to your Chromebook for device compiling and debugging when testing. This allows you to develop native android applications in both Kotlin and Java. From personal experience it runs great and it feels exactly the same as it would on Windows or Mac OS. In order to debug on device you need to add your phone in the Chrome OS settings menu as a testing device under “Develop Android apps”:
My personal favourite IDE to install on Chrome OS is Visual Studio Code. VS Code has great built in tools for Git, formatting, reading and writing code. In addition to this it gives you the ability to install extensions which can give you so many additional tools. It makes coding Websites on your Chromebook a very easy and enjoyable process.
Ensure you download the .deb version of VS Code when you do so:
Progressive Web App (PWA)
PWA websites are little components that can be treated as apps on the user’s device. To add a compatible site as a PWA there will be a little + on the right of the website address.
There are many different options when it comes to browser based IDEs however, for this article I will focus on two. The first is StackBlitz which is essentially Visual Studio Code in your browser. It has many popular templates to start a project from like Angular, Vue, Ionic and many more. You can also connect using GitHub directly for better source control management with your projects.
The second browser based IDE we will look at is Google Cloud Shell. This is something tied into Google Cloud and the entire cloud offering from Google. It is again essentially Visual Studio Code but in the browser. You can compile, run and debug the code directly from the Cloud Shell. It works really well and you can directly clone Google Cloud Repositories into the Google Cloud Shell. If you are already using Google Cloud then the steps you need to take to use Cloud Shell are very small.
There are many tools that you can use for coding on a Chromebook. Due to all the available options it can sometimes get confusing. I would suggest using each platform to its strengths for what you need. For example Linux applications are great for offline coding and native Android development. The PWAs are great for quick turn around of projects and they have great integrations with other platforms. Android applications are great at filling in the gaps of all the things that do not exist on the other platforms.