Saturday, May 13, 2017

Programming at a Chromebook

A few months ago I started an evening education to become Bachelor of Science at Business informatics. Along with that I wanted to challenge myself with some additional tasks. One of them is to use a Chromebook for the education as my main device. This means to write texts, read and edit PDF documents, make presentations and alongside many other tasks, do some programming of course.

Programming in the cloud at a chromebook.

First off, what is a Chromebook?

A Chromebook is a laptop, that runs Googles operation system Chrome OS (see also my review about my Acer C720). Typically this devices are not the most powerful and run mostly web based applications. Don't get me wrong, you can basically do everything at a Chromebook a normal user would do at any other computer as well apart from playing games or heavy video or photo editing (lower end editing can be done easy as well). I am using mine since a while and enjoyed it always as it boots up fast, I mean really fast, and performs all tasks I threw at it outstanding. It also updates itself automatically constantly without worrying about when the update will happen and probably would disturb what ever I wanted to do.
With Google Chrome, Inbox, Drive, Docs, Sheets and Slides I am well equipped for most daily tasks without any obstacle.

The challenge, programming

With programming it's a different story. Usually IDEs (Integrated Development Environment) and compilers take a lot of resources to work properly and need to be installed locally which is not really possible at a Chromebook, at least they are not meant for that.
Although you can install Linux at a Chromebook as well (even parallel to Chrome OS) and then install all you need locally, the issue with the not so strong equipped laptop sticks.

The solution: Cloud IDEs

There are some really strong cloud based IDEs nowadays that enable you to get your programming done basically everywhere you got internet access. 
Following I want to introduce to you three of this cloud IDEs that I have been testing and using over the last few months which allowed me to program at my Chromebook (that is about 3 years old and did cost around 135 € back then, by the way). This is possible because all the required processing power or storage for programming is set at the server side. At the client side, the available hardware doesn't matter.

All of this IDE cloud solutions that I have tested, offer different pricing plans, but all of them offer a free version as well.


Cloud9 IDE

Cloud9 is one of the more beautiful IDEs which got plenty of features you would expect of a desktop IDE as well. For example it has an editor with syntax highlighting, a console, a compiler and support for several programming languages, predefined run commands and even a debugger.
Without any question, it's one of the most comfortable IDEs but also at the more expensive side once you want to leave the free status to unlock some additional resources.


Codeanywhere IDE

Codeanywhere is a bit more at the simple side belonging to it's appearance but it has some advantages as well. As the name already spoils, it is available nearly everywhere, even as an app at mobile devices running Android for example. But further more, Codeanywhere also supports up to 75 programming languages, offers a nice editor with code highlighting and completion, as well as a console, of course. On the downside, there is no dedicated debugger.


Codenvy IDE

Codenvy is another very strong and complex cloud IDE. It offers an IDE with some code completion as well as a debugger for some languages and the option to adjust lots of settings. The run button can execute different run commands that are fully customizable. Codenvy is based at Eclipse Che. On the downside, if you only got the free version, the inactivity shut down timer is set to only 10 minutes.


All in all cloud IDEs offer very strong development environments with nearly no requirements regarding to the clients used. The free plans offer enough to get started and a first impression of what the cloud IDEs can provide. They will be enough for most educational purposes as well. Further on if your going switch to a paid plan you can also collaborate with others at the projects as well as creating private projects, get more resources and even unlimited up time for your project. 
For me, the cloud IDEs offer the perfect way to get my coding exercises done and even push my own projects.
I can also synchronize my projects by GitHub, which is supported by all of them. That way I can use which ever platform I want to at any time.