Saturday 8 December 2012

Chrome Challenge Day 3 - Programming Investigation

My Chrome Challenge - For 1 week, I will use nothing but the Chrome browser to do everything I need to do on a laptop.

...including programming!

I already knew a lot of things I could do in Chrome without needing my desktop applications, but one that I was in the dark about was where it came to programming.  Software developers like myself are used to using IDE's like Eclipse, IntelliJ, Xcode and Visual Studio.  Others of us (myself included) prefer using a unix-based terminal to do our development.

So what choices does the Chrome Web Store offer?

Selfishly, I thought about my purposes first.  When developing the Cyman System, I tend to do my Android development at home anyway.  On my laptop I use the Chrome Remote Desktop web app to connect to my computer at home, so effectively I am using Chrome.  Don't believe I can connect to a desktop computer through Chrome like that? Take a look at the screenshot below:

Chrome within a Chrome? Sounds like Inception...


So if you have a computer at home where you have your development environment set up, the Chrome Remote Desktop web app solves the issue of coding on the go.  If you don't, you need somewhere to host and run your code.  There are several hosting services around that allow you to access your files through an online file manager (essentially a web app of their own) or through ssh for you terminal aficionados.  So what we need now is a secure shell terminal access point.  Something to take the place of the desktop app "Putty".

Enter the Secure Shell web application from Chrome.  Simple to use, you are able to access whichever host you need to, provided you have the credentials.  It even saves previous connections much like Putty does.


The web application which suited my purposes more accurately is a web application called PythonAnywhere.  It is a fully-featured Python programming environment that also includes free web app hosting! There are paid for accounts that grant you more controls, but the free version is just fine.

Aside from programming Python, you have a linux environment with a good amount of control.  There is a Ruby interpreter, your favourite editors, whether Vim or Emacs (go Vim!), regular shell scripts and more!  To add to this, you can host a web application you already have by transferring files through a Dropbox account.  All it takes is sharing a folder with an official PythonAnywhere email address and hey, presto! I'm testing out Cyman within my Chrome browser!

Testing Cyman right inside Chrome
Given, Chrome is a web browser, it is no surprise that there are so many web development IDE's each with their own merits.  You can test out HTML5, JavaScript and CSS3 all within the browser and even upload them.

The best I have seen is called Cloud IDE.  It resembles your classic IDE and allows you to upload your code to Amazon Services, Google App Engine, Heroku and more.  Of course, you could just use it as a code editor too.  I have not yet been bold enough to update Cyman using this tool yet, but I will.  So far, this is the only web app I have seen that will serve my purposes in updating Cyman.  However, one thing it is missing, is connection to Dropbox.  This means that after changing and testing Cyman on the PythonAnywhere web app, I would need to upload a zip file of everything to Cloud IDE to release it.  Obviously, this is not ideal, so I will keep looking around.

But whilst I have Chrome Remote Desktop to connect to my Mac Mini at home, I am in the clear - still following the rules of my Chrome Challenge!

For those Java developers out there, there is a web application called RunTime IDE which not only allows you to code Java, JavaScript and Python, but has Dropbox integration and even GTalk integration for collaboration with other programmers.  It's in beta right now, but appears to be doing very well.

Overall, I have found great resources, depending on what you need to do.  The open source coders are generally catered for.  It's the .NET programmers out there, and Java programmers who cannot use anything but a fully featured IDE to work that are affected the most.  Web apps still have a way to go in this area.

No comments:

Post a Comment