Browser based coding: ICEcoder
I read a couple of blog posts about how to use Chromebook as your primary development machine. Nowadays, almost everything can be done on the cloud and you don’t need anything other than a browser. However, the big question is which code editor should you use? Sublime Text is an awesome tool; but of course, it is not an option if you only want to only browser-based applications.
After doing some research, I found an app called ICEcoder. It’s a PHP-based IDE running on the browser. It’s cheap and looks promising, so I decided to try it out. I downloaded and installed the package to my Digital Ocean droplet and started using it.
The beginning of the journey was very bumpy. Initially, I was not able to log in. After typing my password I received the error message: “Bad CSRF token”. Upgrading Icecoder to the latest version straight from GitHub subsequently solved the problem.
The ICEcoder’s user interface is very traditional. The directory tree is on the right and the editor is in the middle. The basic functionality works as expected. Opening, editing, and saving files works smoothly. The actual text editor area works better than I expected. It supports syntax highlighting, auto indenting, and HTML-tag completing. Search works nicely too.
Compared to Sublime, I still miss some things:
- No code hinting of any kind. This is something you’re going to miss very quickly.
- After reload directory tree is reset to its default state, you have to open the tree all over again.
- Limited keyboard shortcuts. I, for example, always switch tabs with the keyboard on Sublime. ICEcoder doesn’t support that or any other powerful shortcuts.
- I wasn’t able to disable line-wrapping.
- Stability. During my testing, ICEcoder froze a couple of times and I had to reload it.
In general, ICEcoder is great. It’s much better than many other code editors I’ve used. However, without code hinting or keyboard shortcuts, the fact is that it’s reducing my productivity. I’m not ready to switch away from Sublime – which means I’m not ready for Chromebook. Yet.