Komodo 3.5 is, in my mind, an odd piece of software. I say this for the simple fact that this is a cross-platform tool, and ActiveState, its authors, have already released the final version for Mac OSX, and yet here we are at Beta 1 for both Linux and Windows. Unusual, for sure, perhaps a testament to the ease of writing applications for the OSX Platform, or perhaps they just use macs in the office? Who knows.
I also find it interesting that !ActiveState have seemingly based the software on Mozilla software, I believe similarly to Firefox, its part C++ (C?) and part XUL, though I have no idea to what extent each of these play. But of the Mozilla software playing some role, of that I am sure. Very cool.
Anyhow, on to the review 
Komodo is an editor I have seen floating around for a number of years now, but because it has seemed mainly aimed at Perl and Python authors, I haven't really paid much heed. That is, till I needed a basic IDE for !JavaScript - the only thing that came up with any promising results on Google, was Komodo.
Installing
I initially accidentally tried to install the License Key before installing the software itself, it seemed to have succeeded so I promptly forgot about it. Then Komodo didn't work. My first thought was that I was missing a dependency, after checking that out, I put it down to Beta issues. Finally, whilst trying to get the Stable release working, I accidentally re-installed the license key and furthermore, accidentally clicked the icon for 3.5, and to my surprise, it started. Yay!
Other than my own errors, the install seems like it would have gone smoothly, especially the fact that it automatically offers to install to /opt - where I stick all 3rd party vendor software (its part of "The Debian Way" I believe.)
Initial View
When Komodo first starts, you are greeted by the excellent "Start Page". This gives you a list of Recent Project and Files, as well as Tutorials, Quick Links and a Tip of the Day - these last three can be collapsed as you see fit.
Furthermore, if you look carefully, you will see that there are two disabled buttons, these can be used to Open or Remove (by checking the checkboxes) single, or multiple items. Or to open a single item, just click its name.
Editing Files
Obviously, the main purpose of Komodo is the editing of source code. The first thing I tested was !JavaScript; this being the initial reason for downloading the software. To my great surprise, Komodo was able to provide a class tree of my source code, excellent!
However, it does seem that the auto-complete does not work. Perhaps a Beta bug, who knows. Very much a shame however. Still, having the class tree is definately a step forward when compared to anything else I looked at (Eclipse's various JS plugins for example).
Looking at the screenshot, you can see the default highlighting is quite pretty, and its easy to distinguish different types of language constructs (constants, var, classes, etc).
Furthemore, noticeably missing, was the code folding. Opening up the Ruby project example, you can plainly see that folding is included, though it would seem that it varies depending on the language.
Next up, I decided to open up a PHP file, to see if the autocomplete and code folding worked there. Heres where another flaw in Komodo is unfortunately exposed:
If you look closely at the left pane, you will notice that the Code Browser simply displays a "Clock" icon next to the file name, indicating that it is scanning the file for auto-complete data. Unfortunately, it sat like this even when I went away to eat dinner!
Upon further inspection (loading a PHP 4 code only file) it seems that Komodo does not yet support PHP 5 at all beyond the code highlighting. It doesn't include code-completion of PHP 5 only internal functions either (e.g. file_put_contents).
This is quite dissappointing as PHP 5 has been out for quite a while yet, and I think just goes to show the lack of commitment to PHP that ActiveState has - although, with contenders like Zend, I can understand why.
Other Features
Source Control
One of the neat features of Komodo is the Source Control features, with supports for CVS, Subversion and Perforce, with no oddities (like Zend Studios inability to use both CVS and SVN at the same time, you must choose one or the other). The basics for all three are available with the same UI regardless of the Versioning software being used. This is definately a case of the 80/20 choice in action.
Additionaly, if you look at the previous screenshot, the tab for !DataObject.php shows a green icon to the left of the file name, this indicates the versioning status, in this case, that is in sync with the repository. I like this.
Regex Editor
Another great feature is the "Rx Toolkit", a built in tool that will help you write Regular Expressions. The Rx Toolkit allows you to write
PCRE, showing you the matched text by highlighting the search text and breaking it down into matching groups.
Conclusions
In conclusion, Komodo is a great tool, a definate alternative to Eclipse for those using multiple languages.
The addition of Ruby to Komodo in 3.5 is definately a wise strategy for !ActiveState, and this is the first commercial IDE for Ruby that I have seen.
However, for those of us developing using PHP 5/JS/HTML the support is seemingly lacklustre when compared to say Perl or Tcl - and this I'm sure, is because of ActiveStates Perl and Tcl (etc) tools which they also provide.
I will definately keep an eye on this application, perhaps with the release of PHP 5.1, AJAX's dominance and the take up of web standards like HTML and XHTML in greater abundance than ever ActiveState may deign to provide me with an Zend Studio/Bluefish alternative.
Update: Whilst continuing to use Komodo for JS editing, the Code Folding is now available to me, so even though the screenshot does not display it, it is available, though possibly buggy.
- Davey
As a follow-up to my full review of Komodo 3.5 Beta I decided to update it for Komodo 3.5.1, after the help of the Komodo team to help me work out why I had some of the issues I brought up. Installation This time around, I had no problems installing Kom
Tracked: Dec 04, 02:29