Friday, June 12, 2009

The search for the perfect IDE

Now that I've started working for Travellab with the OpenJet project, I've had to adapt to one thing that I haven't been very used to before. That thing is a dedicated IDE for doing development.

As a frontend developer I am pretty used to doing all my coding in a pretty light weight texteditor and as a Mac user the obvious choice is Textmate. I have been trying out some IDEs before, but I never really liked the way they overflow with features that I rarely use. I guess we can say that I just like to have the stuff I really need, and avoid the extra weight of features that I rarely or never need.

However, with the Java backend and the JSP frontend in the OpenJet project, it all seemed so much easier to just go with a good IDE to aid in the building of the project when I do development. So far, there have been three choices for me, and those have been Netbeans, Eclipse and IntelliJ. Maybe XCode could work for some people, but it is more suited for Cocoa work so I never really considered that as a nice Java web application IDE.

I was recommended to use Netbeans by my collegue Martin, and decided to give it a try. Now, I tend to have some ideas about things that just doesn't matter to other people. One of those things is how the software is visually designed. I don't know if it might be a common Mac user thing, but sometimes it seems that is the case. Maybe "we" just like software that looks as good as our operating system. :)

Anyway, at first launch Netbeans 6.5 chocked me. I don't think I have ever seen any software look so bad on OSX. I'm not blaming the Netbeans team here though, I think the look is controlled by the OS, but to be honest I'm not really sure how it works. What I am very sure about though is that it looked so awful I just couldn't stand it. The boring thing though was that feature-wise, Netbeans seems like a good choice for me.

What happened was that I moved on to test another IDE, and from another collegue, also named Martin, I got the recommendation to try out IntelliJ. So I downloaded the trial to test it out and got it up and running. I'm not sure what it was, but there was something with how IntelliJ was structured that I didn't really like. It just felt very heavy to navigate, and one thing that annoyed me was that the caret didn't jump to the end of the line when I clicked in the edit view. Instead it jumped to the position where I had clicked, be it in the middle of nowhere and nowhere close to my actual code. I'm guessing it can be turned off somewhere, but I didn't manage to find that setting anywhere.

As I have a tendency to make up my mind about what I like and dislike pretty quick (sometimes too quick. I confess.) I decided I didn't like IntelliJ. So instead I started looking into working with Textmate and write an Ant script to build and deploy the app when needed.

I am totally new to the whole Java eco-system, and Ant I hadn't used before. But after a while, I got it to compile the project and deploy it to my local Tomcat server. I was pretty happy with it as I was back to my light weight favourite text editor. The problem with my setup was that I had to build and redeploy every time I had changed a JSP, JS or CSS file. And as we can guess by now, I grew tired of that as well pretty quick.

At this stage, I was actually pretty fed up with this whole editor mess, and started to Google for more alternatives. As it turns out, I managed to find some forum post about how a development version of Netbeans was supposed to be more visually in line with the overall Mac OSX look. And as it turns out, this release had now reached Release Candidate status.

On top of that good news, in the back of my head I kind of still had the feeling of how I liked the features of Netbeans. So I went back to their site, and downloaded the 6.7 rc2 release (which I guess I had totally missed the first time).

After installing it, it was like being born again. I'm not saying it looks like a native Cocoa app (for example XCode as a comparison in this case), but it does look MUCH MUCH better than version 6.5.

So here I am, running Netbeans 6.7 rc2, and I am actually pretty happy with it. It takes care of all the heavy lifting with building and deploying for me, and it looks pretty good doing it!

Now, all of this is obviously very subjective, and I might be pretty extreme and overly sensitive regarding the software I use. But none the less, I think it is interesting what I had to go through, just to start with one software and end up with the same in a slightly different version.

Features will always be the biggest selling point for some people, and it might even be for me the day I get more used to all things Java. But one thing I know, design matters and even an awesome product might fail if it is not visually appealing.


No comments:

Post a Comment