Rating: (6 / 10) I
The Java market today has more than its fair share of IDEs. Every major J2EE vendor offers one. While some IDEs are independant of any platform, most IDEs seem to be based on either Eclipse or NetBeans.
So I was surprised when I first heard of NCStudio, as neither was the company a major J2EE player nor was NCStudio an enhancement over an existing platform. A small company trying to create something new and compete with the big boys was admirable. So I decided to try out NCStudio.
NCStudio installer is about 145MB. However the bundled J2SE, JBoss, Tomcat and MySQL installers I suppose take up most of the space. I tried out NCStudio only on a Windows machine however being Java (Swing) based, it should work on other OSes.
The installer was unable to figure out the J2SE installation already present on my machine and so to try out NCStudio, I had to install the J2SE and the JRE that were bundled.
The installation was pretty smooth. I however later realized that the NCStudio installer had installed MySQL, JBoss and Tomcat on my machine and the respective services were all set to ‘auto’. So everytime I started my machine, I had Tomcat, JBoss and MySQL running in the background. I am not sure why all the installations were required, but at least the installer should have infomed me that it was up to such things.
The feature that makes NCStudio stand out, is what they refer to as the server-centric architecture. How it works is that the main NCStudio installation is on the server while each machine has a client that gets installed using Java Web Start. The NCStudio client is independent of the server installation. So effectively every developer is developing on the server.
You create a new userid-password, install the client using WebStart and you have a new team member ready to go. This, I think would be the biggest selling point for NCStudio as all developers working on the same installation would solve a lot of problems faced by big teams.
The NCStudio team has packed a lot of features into this tool. You can do requirements gathering, UML diagrams, browse the database, create Struts applications, create Web services, create EJBs and even deploy to multiple application servers. Bug tracking and project management tools were absent in the version I tried out however these are supposed to be introduced in a future release.
Source Management capabilities are inbuilt in NCStudio. You can take the CVS approach where many can checkout and then you merge later or you can the take the VSS approach where one person checks out and locks the file so that no one else can mess with it.
Figure 1: NCStudio Dev Center
The Swing based interface isn’t that great. For example, to close an editor window, there is no X that you can click. You have to either use the menu or the keyboard shortcut. Some screens turn up with several empty fields that I thought should have had some default values. Working with default values is the way most IDEs are simplifying J2EE development.
To create a servlet, I had to create a .java file, then delete what was in it, apply a Servlet template and then rename the class declaration in the template. I did not like this approach. On clicking New, the tool is expected to ask me what file I want and then create a file with all the basic stuff in there.
I liked the classification of the UI into Dev Center, J2EE Center, Database Center, Design Center, Admin Center and Versioning Center. It helps keep the UI from getting messed up with too many tools and icons all over.
Help is a weak link for NCStudio as the help that shipped with the product is not very good and considering that the user base is not that big, finding help online is also not easy.
Overall, I think NCStudio is a tool that is pretty good at many things but excellent at only a few. It needs to get more refined and bug free before it can really compete with the big boys. However if a company adopts it for use through all phases of a project, it can be a good option and should also lead to significant cost savings.
>> Product and Vendor Info
Product name: NCStudio: Thin Client Java ILDE
Product WebSite: http://www.ncstudio.com
Version Reviewed : 1.3
Vendor Name: NCE Technologies, Inc.