PHP IDEs: Eclipse, Zend and Komodo

I have finally gotten around to seriously testing out some different IDE (Integrated Development Environment) for my PHP coding. I currently use jEdit as an all-around editor and I love it. It has PHP parsing (but no fancy autocomplete stuff), FTP, project management, snippets and some really good XML plugins but the big hangup I have with it is that, for some reason I can not discern, it is totally jacked up on my Dell laptop when no AC power is plugged in. It works fine otherwise but I do a lot of coding on the train to and from work and I can’t use jEdit on battery power because it ends up running slower than molassas uphill in winter. Total bummer.

So, I am currently evaluating Zend Studio 5.2.0, Komodo 3.5 and Eclipse. I need something that is cross-platform and will run reasonably fast on all of my machines. I use Ubuntu Linux at home and WinXP at work and I’m considering getting an Intel MacBook at some point and triple-booting it. ( I realize Java apps are not the fastest but they have the great plus of being cross-platform so I am only dealing with one interface on multiple meachines, hence “reasonably fast”.) Other than that I want something that knows PHP, XHTML and CSS and has FTP support. I don’t have huge technical requirements and so most of the comparison is based on nit-picky likes and dislikes.

So far Eclipse 3.2 is the front runner mainly because it meets my basic requirements and is free. It isn’t my favorite environment but I am getting used to it. I find the Eclipse site very confusing and it took a while to understand the basic concept of the main framework and finding the components needed to do what I particularly want – it is just not a model I have used before. There are two plugins that cover what I need that are still really betas and I think they will only get better as things move forward. I am using the PHP IDE plugin from Zend and the Aptana plugin which is specifically for HTML, CSS and Javascript. The main things about Eclipse that bug me are 1) no word wrap (!?) 2) every new file I create has to be in a project folder. Really annoying since I don’t always work in “projects” nor do I want to stop and create one when I’m in the middle of coding. 3) the FTP is not live editing. You have to create a local project and sync your files. Not huge but certainly not as nice as connect, save the file, refresh browser and done. On the other hand it does actually do diffs and syncing even for FTP (and SFTP), as well as standard CVS and SVN. One thing I like about Eclipse is the Tasks list that finds your (configurable) task tags like TODO and FIXME in the code and creates a list in a view for you.

Both Zend Suite and Komodo are both $300. Not cheap. For $300 I want a back massage too. Yes, there are cheaper versions of each but Komodo’s cheapy ($30) is not for business use and Zend’s cheapy ($100) doesn’t have FTP (or SVN/CVS for that matter). Now, my daytime employer is more than willing to buy me the tools I need to do my work but we are a small department and we have one pie to buy things from so I try to not be greedy, especially if I don’t really need it. Zend and Komodo meet my requirements and are both capable IDEs for what I want to do. So for $300 here’s what I like and don’t like about them. Please note that I have not “learned” these IDEs. This is all first impression. I am sure they can do lots of things the way I want but a large part of this is finding out which is most intuitive and comfortable for me from the get-go. Knowing that I have coded with jEdit for a long time and have gotten used to that interface is important as well since features that work like they do in jEdit (as I have customized it) will be more “intuitive” for me.

Zend is purdier and I prefer the pane expand/collapse over Komodo’s (it is actually very much like jEdit’s). I also prefer Zend for its file browser and the fact that I can have Zend automatically reconnect and add my FTP servers to it. Some weak points for Zend are that the editor tabs are on the bottom and not movable (I keep looking to the top to see which files are open and then feel lost and have to look down) whereas Komodo has them at the top where I’m used to. Komodo also starts out of the box with Tutorials to help get used to it. I couldn’t get the debugger to work though even though I went through the little wizard to set up my local PHP for it. The local debugger in Zend worked with no issues for me. I don’t know boo about debuggers, never having used one before so Zend really wins here. One thing I like about Komodo is when creating a new file it will ask me what kind of file template I want to use. Its not a huge deal for php files but very nice for XHTML. I also really like the toolbox pane that lets me keep my own selection of snippets and templates in easy reach (which is very much like and easier to use than the Clipper in jEdit).

If I could combine the things I like about them both, I might be willing to pay $300. I’m still playing with them during the trial period so we’ll see if either of them becomes so much more useful than Eclipse that I’m willing to pony up the cash.