Sunday, July 26, 2009

Why isn't there a Single Good PHP/Web Development IDE?

I'm so tired of waiting around for a GOOD web development IDE. I've used dozens of the currently available options -- from "real" IDEs to "text editors" to -- well, all sorts of in-betweens. I'm a Windows user, but I've tried a lot of Mac and Linux options too.

The problem is, no matter how close an IDE gets to being what I need, there is always something missing, broken, or just plain ugly enough to make it unacceptable.

I primarily use Eclipse PDT for large-scale projects, and Zend Studio 5.5 for small-to-large projects.

Eclipse, although it tends to be buggy and takes a lot of resources, is pretty good overall for those large projects, but if you just want to work with a few unrelated files or a very short term project -- fahgetaboudit, its not worth the effort to set up a project and juggle all your other projects.

Zend Studio 5.5, on the other hand, is really nice for working with lots of projects, big OR small -- unlike Eclipse, I can easily open a bunch of unrelated files and not get them confused in with whatever project I'm working on. I can also connect to and EASILY manage files as well as FTP and SFTP resource sites, mixing and matching sources in each of my projects as needed. I absolutely LOVE how easy it is to create, maintain, modify and work with individual projects. Want to add two different FTP sources to your project? Right-click, then Add to Project. Refreshing.

So Zend Studio 5.5 is by far my favorite IDE. But just like Eclipse, version 5.5 is also buggy and slow. Also, you have to pay $300 for a single license, IF you can even get one anymore -- this version is deprecated. Zend Studio 6 and 7 are now Eclipse-based, and all the little Eclipse annoyances have been incorporated as "features" into Zend. It has almost completely lost its identity, and the workflow is, in my opinion, less natural. Even the code-completion is more annoying, and the interface is prettier, but less efficient. Finally, many of the bugs in Zend Studio 5.5 (like the weird text rendering issues that have occurred since much earlier versions) still exist in 6. How this is possible, I don't know, but they've managed it.

Most other specialized IDEs are feature-poor. And/or they have limited or no support for Secure FTP, and even if its available, you can't mix-and-match sources in your projects so it doesn't matter. Many just make project management this whole over-complicated process. A great many web development IDEs put so much emphasis on WYSIWYG design that the actual development tools suffer -- they don't get that real, hard-working developers aren't willing to sacrifice good, solid, flexible efficient code & markup, for the terribly limited capabilities and ugly generated code of even the most robust WYSIWYG.

Then, there are countless "text editors" out there. A handful of them are quite good. UltraEdit is the most fully-featured of these that I've seen; it looks more like an IDE these days than a text editor. But it suffers from serious bugs (after something like 10 versions!!) and has other flaws and quirks that complicate project management. The "regular" text editors are fine for, well, editing text, but generally they don't offer the File Management capabilities that a good dev environment demands, and if they do, their lack of specialized elements (or their attempts to please everyone) simply don't meet the need.

One final complaint about 99% of these products: They look like crap. No, I'm not being shallow -- if you're going to spend 8 hours a day or more using one particular software program, it needs to be intuitive and natural in form as well as function. It must be responsive, and it must be clean-looking and easy to navigate.

Here's a partial list of products I've tried:
Eclipse PDT, Zend Studio, Maguma Studio, NuSphere PHPEd, Komodo Edit, Dev-PHP, PHP Designer, jEdit, UltraEdit / UEStudio, VS.PHP for Visual Studio, Notepad++, Crimson Editor, Emacs, TextPad, and Zeus Editor -- to name a few.