Sunday, April 6, 2008

Lots-O-Plugins

This IDE is new. Any programmer with experience in another IDE might not want to give up all the bells and whistles he/she is used to. One might wonder if there are as many tools available for NetBeans. As of this writing, I have to honestly say that there is not. And that's a good thing.

Go to Tools|Plugins. A new application launches. It immediately scans some unknown server (I don't care where) and then displays the available plugins. If there are updates, you see that first. The list has almost every buzzword you might be looking for. Somebody knew I would be coming here. Like a kid in a candy store: click, click, click... hit the Install button. Nice. Now be carefull here; too much candy is bad for you. I tried this on my old laptop and was painfully reminded that it only has 256 MB of RAM. But you won't have THAT problem.

One of the first toys I try to get working in an IDE is a UML diagramming tool. If you do a search for UML in the list of tools available for Eclipse you get too many. Most of them suck. Many of them are dead projects with no support and they never worked anyway. Yet they still clutter cyberspace with their decayed links and distracting marketing attempts.

There is only one UML tool listed in the plugins for NetBeans. When I saw that, I thought, "hmmm. I guess I'll try this one." The work of surveying all the available packages, downloading, installing, configuring, learning the interface and supported functionality for each tool suddenly seemed greatly simplified. The choice was a no brainer. Apparently, Sun decided already which diagramming tool I should use.

Now most people would immediately balk at the notion that there was only one option. That thought occurred to me too. That's it? This sucker had better work then or this party is over. Turns out, that one tool has worked better than 90 percent of all the other open source UML tools I tried to use in Eclipse. It even does round trip engineering (of a sort). You can have it generate skeleton code from your model or it can generate the model from your code. That's enough for me. And it worked right out of the box. No link to a third-party web page. No having to register for a trial version. No worrying about expiration or limited functionality. Whew! Quite a relief actually.

There is an implicit endorsement of a plugin by Sun and NetBeans if it is provided as a default, or even listed as available in their plugins utility. If it is the only one offered, it better work. This goes back to the improved quality in NetBeans previously mentioned. I don't know if Sun is aware of this implicit endorcement but I'm glad to see the limited selection is not a limitation, so far.

I have not used all the plugins I installed already, but I like what I see.

Now don't go and assume the plugins are all hard coded. You know what making assumptions does. There is a way to introduce other .jar files to the environment using the Tools|Libraries feature. I'll save that for another post but I thought I'd mention it here.