Advertisment

Try Out Gen-Next of Java IDEs

author-image
PCQ Bureau
New Update

For successful development of applications based on object-oriented languages

like C++ or Java, a developer needs an IDE that would compliment him in his

work. For making the task of developing a complicated application easier, IDEs

have been through radical developmental changes and have come a long way from

being just a text editor. Now with due respect to the complexity of applications

new IDEs come with a lot of new features. Recently NetBeans, Eclipse and

IntelliJ IDEA have released milestone versions of their latest Java IDEs. Here,

in this article we'll compare the new features in these IDEs.

Advertisment
Direct Hit!

Applies To:

Java developers



USP:
Comparing strengths of IDEs for app development



Keywords:
NetBeans 6, Eclipse 3.3,



IntelliJ 7


On PCQ Extreme DVD:
PCQ



Xtreme\system\cdrom\ides

NetBeans 6.0



We begin with NetBeans, a Sun product, which is popular amongst Java

developers. The latest version of this IDE is now ready to give tough

competition to Eclipse, its primary competitor in Open Source arena. Besides,

having the basic Java IDE, the installation package of NetBeans supports UML,

SOA, Web and JEE applications. It also comes bundled with Tomcat and GlassFish

runtimes.

Usability and Code assistance



Well, NetBeans has a simple well-defined intuitive interface that allows you

to change the configuration of the Panel/Editor as per your ease. The Editor is

an improved one, and its code completion feature is faster and logical. When few

letters are typed and 'Ctrl + Space' pressed, its code completion feature offers

the list of possible choices in relation with the code context. The most common

features and functionalities are placed in panels or tabs depending on the kind

of project that is being developed. Moreover, the Refactoring code feature of

IDE is context aware and can be implemented easily.

Advertisment

Application Development Support Though NetBeans provides support for all Web

based applications from JSP/Struts to JEE and EJBs, its prized support is for

Swing, thanks to new Matisse GUI designer. Unlike other IDEs, you are not

required to download any additional plug-ins for the GUI builder as this IDE

comes bundled with a GUI designer. This GUI builder additionally provides Bean

binding feature for database applications. You can add internationalized strings

to each form, dialog or panel for the Swing components by using the

'Internationalization' feature. Rich Client Platform wizard benefits Swing

developers while developing sophisticated applications.

The code completion feature not

only provides choices with context related options, but also gives JavaDoc

explanation

The NetBeans provide support for development of Web application on Struts

1.2.9 framework. Wizard for a Struts project is an easy one; it automatically

creates the web.xml and struts-config.xml, but does not provide any Visual

Editor to view page navigation and forwarding. Moreover, the bundled Tomcat

simplifies the testing and development process of JSP/Servlet applications.

Advertisment

While comparing the NetBeans 5.5 and 6.0 versions we found that with NetBeans

6.0, the basic Editor support for JavaScript, JSP and CSS have improved and have

code completion and debugging feature. However, unlike Eclipse that provides a

design view for both JSP and HTML pages, NetBeans still lags behind. It provides

a good support for SOA model and in the latest version for Web services a

Graphical Editor has been incorporated, which provides interoperability oaf .NET

services through Web services Interoperability Technology (WSIT). Moreover, its

Project Configuration wizard is elaborative and automatically generates the code

for business, home as well as remote interface, along with the stub

implementations. With automatic configuration of ejb-jar.xml done by this

wizard, a developer is just left with the job of completing the mappings.

MyEclipse plug-in adds Struts

support to Eclipse and provides added features like JSP Editor with designer

Features



Profiler is one stand-apart feature of NetBeans 6.0. The profiling functions

include CPU, Memory and Thread profiling as well as basic JVM monitoring and

hence, enhancing a developer's productivity while solving memory or

performance-related issues. Few example applications for the range of categories

varying from simple Java Swing application to Web application on Struts or from

SOA to Ruby Applications are an added bonus, which provide developers with a

template to start upon a new application.

Advertisment

Minuses

NetBeans lacksa community support that Eclipse has and this results in poor

support for JBoss, GWT and SWT.Another disadvantage is lack of built-in

Hibernate support, but plug-ins are available to achieve that.

Eclipse 3.3 (Europa)



Eclipse, a project initially started by IBM has now a strong open source

community backing it. The open source community provides full support in

development and maintenance of the IDE and its plug-ins. The new Eclipse slated

for release is termed as Europa. Eclipse IDE in its base installation state is

no more than an Editor for creating “Welcome to JavaWorld!!” kind of programs.

However, one can make this IDE workable for Web applications or GUI based

applications, but for that additional plug-ins must be downloaded from the

websites of either Eclipse or any other third-party vendor. This is unlike

NetBeans that comes as a one-time installation package and provides support for

various Java based development frameworks. To make Eclipse workable for JSP

support the Web Tools Project(WTP) plug-in has to be installed. Similarly, for

GUI development Graphical Editing Framework (GEF) and Eclipse Modeling Framework

(EMF) are supposed to be downloaded and integrated with Eclipse.

Advertisment

Usability and Code assistance



As for making the Eclipse IDE environment compatible for any development

area, additional plug-ins is required. The same can be downloaded from within

the Eclipse through Help > Software Updates menu option. The IDE interface is

different from NetBeans or IntelliJ, it uses a perspective-based paradigm for

layout. This layout sets the Panels, Palettes and Editors in relation to the

selected perspective, for e.g. the Java perspective combines views that you

would commonly use while editing Java source files. This helps a developer to

have all project related, commonly used items in his interface's layout view.

So, rather than traversing between views while shifting between different

development projects, a developer can just select desired perspective from the

Windows menu. For code assistance this IDE provides code completion and Java

documentation of the Java semantic member elements. However, the code completion

of Eclipse is a bit slow when compared to that of IntelliJ's or NetBeans'.

App Development Support



Though Eclipse provides support for Java development only; support for GUI,

Web or Ruby application development can be incorporated through plug-ins. The

Visual Editor in Eclipse for GUI development is not at par with Matisse GUI

builder of NetBeans, but it has support for Standard Widget Toolkit (SWT) based

application, which NetBeans lacks. When WTP has been downloaded for Eclipse, it

provides good support for JSP/struts based Web applications as it has a full JSP/HTML

Editor and a wizard for creating Struts Actions and FormBeans. For Java

Enterprise development, Eclipse has J2EE and EJB development modes, and under

which it provides EAR and EJB modules development. However, the code generated

automatically by Eclipse is not of the level that is generated by NetBeans.

Since, Eclipse is community driven its shortcomings could be dealt with by

installing various plug-ins. MyEclipse is a plug-in that incorporates several

features such as inbuilt server runtime integration and support options for

Hibernate into Eclipse and makes it ideal for developers who work on JEE based

applications.

Advertisment

Features



As a base Eclipse distribution the only feature worth mentioning would be

the help and step-by-step tutorials.

Minuses



Several plug-in downloads, as without them Eclipse is just as good as a

normal Java Editor.

IDEA has an option for

downloading Struts libraries within the interface, required for application

development
Advertisment

IntelliJ IDEA 7



IntelliJ IDEA 7 has been released by JetBrains and termed as project

Selena. With their Milestone 1 release, JetBrains have introduced Groovy and

Grails support apart from various improved or enhanced supports for Hibernation,

Spring etc.Unlike NetBeans or Eclipse, JetBrains is a commercial product and you

can have a commercial license of IntelliJ for USD 499.

Usability and Code assistance



The code completion feature of IDEA editor can be considered as benchmark

for IDEs. It is not just fast, but context aware also. The Editor offers color

highlighting, hints and suggestions based on the context code.

The interface layout of this IDE on the other hand is not intuitive like that

of NetBeans, however, it provides the facility to re-arrange Panels and Editor

on the layout window. Its enhanced Refactoring feature allows you to rename a

parameter and remove parameters, which are no longer in use.

Application Development Support



The GUI Editor of IDEA scores just next to NetBeans Mattise GUI builder. For

Swing application development it has support for JGoodies Forms for designing

interfaces and for Hibernate and Struts development for Web applications, the

interface provided 'Configuration' wizard. This wizard generates the necessary

package setup with all necessary libraries and classpaths. Since, Struts and

Hibernate libraries do not come embedded with the main installation package;

they have to be downloaded separately, and their paths have to be provided while

configuring the wizard. For J2EE Specification applications, IDEA provides full

support and has deployment plug-ins available for application servers such as

JBoss, WebSphere, and WebLogic.

Features



IntelliJ IDEA incorporates inbuilt Version Control System that is useful for

a team based project development. Another feature is of Maven integration, using

which projects can directly be created from Maven descriptor files.

Minuses



A Visual Editor for designing JSP/HTML pages would have been an added

advantage and also it is not a free product.

Till now, NetBeans used to be underwritten in the Java IDE arena, but now the

situation has changed. From being an underdog it has become a popular Java IDE.

With its full support for Swing based application development, it is an ideal

choice for buliding GUI based applications, where both Eclipse and IntelliJ IDEA

lacks to compete with Matisse GUI builder of NetBeans. But, while considering a

full-fledged J2EE application, then IntelliJ IDEA is tough to beat as it is

having splendid support for JSP, Struts and Hibernate. This support is somewhat

matched by NetBeans, but Eclipse in its base installation is nowhere in

contention.

Therefore, IntelliJ IDEA is an ideal IDE for a Java developer, but that comes

with a price. Whereas, NetBeans being an open source gets a winner's place.

Advertisment