Saturday, December 23, 2006

Coding at home

The problem with working at home is that you are detached from your office tools and utilities. This inaccessibility is a major problem at times for example am so used to RAD 6.0 for development where almost every configuration is made via wizards that having to configure a web-app or webservice by hand or by writing a script makes me really lazy :P.

Finding the right opensource tools and being able to integrate it with your development environment is always a major headache. Thats the biggest problem with open source , you might get it free but as far as being able to get it working in your development environment you have to do the little tweaks and configurations yourself.

Its at this crucial moment that you find out that there is a lack of documentation for your new downloaded open source gizmo or that it actually runs on a newever version of JDK than you are using or it requires half a dozen of other stuffs to be installed before you can actually start doing anything with it.

I just can't thank the guys at Eclipse.org for making our lives ever so easy with the version 3.2+ onwards of my favorite IDE.Creating webservices and J2EE applications is really such a breeze with Eclipse Callisto. There are dozens of plugins which you can add on top of it to make your coding experience really worth while. I tend to think of coding with with Eclipse 3.2 as a really pleasurable moment these days just like racing my car at night :P.

As far as servers are concerned I really can not afford to buy a Weblogic or WebSphere server although in the latter case there is the Geronimo project . I think the server I use most at home is Apache Tomcat , can't find anything easier to install and manage than good old tomcat. The advantage with kitty is that there are hundreds of documentation sites for it , this can be pretty handy if you want to diagnose whats wrong with your server at times.

Building the codes is another story everyone has his own idea about how to make this happen. Some prefer using Ant which is right now on version 1.7 others prefer using Maven 1 or 2. This really doesn't matter if you are at home working alone .. as long as your codes get compiled and archived properly , you can use whatever makes you happy. Although I do definitively prefer Maven 2 because of the strong jar versioning emphasis , reusability and modularity of the build tool.

Frameworks allow you to develop faster however it doesn't mean that your code will perform better ..so be careful about thinking that everything new is good.. try to see how they do in terms of development and what added value they bring to performance. My favorite framework of the moment is spring . Don't know how long this framework will survive in the framework jungle but right now its the best.

But then before you do implement any piece of code there should be some kind of design work in terms of class diagrams and the layout of the architecture of your codes. Dia seems to be a neat alternative to Visio but I haven't been able to use it a lot , what I have been using on the other hand for some not so complicated diagrams is Gliffy.com. Since I blogged an entry on the Gliffy service many of my friends have actually started using it and are happy with it.

Do also check out Osalt.com which provides a nice directory of open source alternatives to commercial products.


No comments: