Jacek Furmankiewicz is a senior developer/designer of the Canadian Compuware Company. He has 12 years of professional IT experience, covering Unix,powerbuilder,c#/microsoft net,java,php and Microsoft SQL Server and Oracle.
First, the introduction
Since Eclipse joined the Java Development IDE Army in the past few years, the situation has changed dramatically for Java developers. SWT and swing two toolkits each have their own advantages and disadvantages, and the performance and external views are not far outweighed each other's strengths, eclipse with its obvious advantages-unique performance, easy to use and high productivity-into the ranks of the Java IDE. The purpose of this article is to compare and analyze the general features (installation, performance and editor, etc.) of three mainstream Java Ide-netbeans,intellij idea and eclipse-, but still focus on swing,jsp/struts,javaserver Faces (JSF) and the comparison of key domain features such as J2EE/EJB 3.0 development. Where necessary, the support aspects of the JPA (Java Persistence API) are also appropriately evaluated.
In the three Ides above, Eclipse is the only IDE with multiple distributions: from a basic release to a pre-packaged version with additional open source plug-ins (such as Easyeclipse), to a mixed version of open source/commercial (for example, Genuitec's MyEclipse). To provide a more pertinent comment on Eclipse's functionality, I am mainly targeting its basic release (including the default eclipse subproject-for example, visual editor and Web Tools Project) in this article. Whenever I discuss the functionality that it lacks, I often mention the functionality provided by the commercial version of MyEclipse. Frankly, I find it hard to see which business IDE offers the quality features offered by the MyEclipse at a subscription price of $49 a year.
First, let's talk about NetBeans 5.5.
Second, NetBeans 5.5
||Basic content +enterprise Pack+visual Web Pack
NetBeans 5.5 and other release packages (for example, the enterprise pack with UML/BPEL/SOA support and the visual Web for JSF development Pack) can be downloaded either as a zip package or as a cross-platform InstallShield installer. On the Windows platform, the installer integrates seamlessly with the OS-including creating the appropriate desktop shortcuts and adding an uninstall program to the Add/Remove Programs panel. On the Linux platform, it is only installed in the specified directory and creates a startup icon on the GNOME or KDE desktop. Unfortunately, it is not distributed as an RPM or a. deb file, nor does it provide a standard data warehouse format, which allows Linux users to install it as if they were installing any other application.
In earlier versions, NetBeans was developed based on swing, making it slow, bulky, and ugly and unpleasant to use. However, the NetBeans development team, starting with version 5.0, has made significant adjustments to the entire IDE and is fully integrated into JDK 1.6 in NetBeans 5.5, providing an indisputable and excellent user experience, Especially when running on the Windows platform (Linux platform version still has some small UI problems, which is estimated to be fully corrected in NetBeans 6.0.) In particular, version 5.5 lacks support for the local GTK appearance.
First, the NetBeans window system is designed to be fairly advanced and flexible, and developers can easily dock, hide, and switch almost any panel/editor in a configurable manner. I also found that the menu layout is logical and easy to use, and you can easily access most common functions (for example, maintaining user libraries). All along, its overall stability and performance are quite excellent.
Second, the basic Java editor is very well designed, although it's not the best (especially if it's slower than other Ides in code completion), but it's completely available. In addition, its editor provides a basic set of refactoring features (especially, the most commonly used renaming/moving feature), although in my tests I found that it was not always contextual-for example, when renaming the appropriate package for a behavior class in the Struts project, The corresponding entry in the Struts-config.xml file will not be updated (however, in the refactoring JSF support bean and update their entry in the Faces-config.xml as well as the Java EE 1.4 Session beans and their access to ejb-jar.xml are pretty good in many ways.