Eclipse and Netbeans are the best free IDEs. Although they’re used primarily for the development of Java applications, Netbeans and Eclipse support a variety of programming languages. Netbeans was developed by Sun Microsystems. When Oracle bought Sun Microsystems in 2010, its development was halted for two years i.e. from 2011 to 2013. After 2013, Oracle launched a newer edition of Netbeans every year for 3 years. In 2016, the tech giant handed over some great applications to Apache Foundation. Apache Foundation launched newer versions of Netbeans regularly since 2017.
Eclipse IDE is derived from IBM VisualAge. Unlike Netbeans IDE whose development was halted for several months, Eclipse has been updated regularly. I’ve been using both the IDEs for developing Java powered web/desktop applications since 2011. If you’ve come across these two IDEs and you’re wondering which IDE is better among the two or if you’d like to know the similarities/differences between the Eclipse and Netbeans, go through the following paragraphs where I’ve compared the features of the 2 IDEs.
Both Netbeans and Eclipse give users access to 100s of plugins. If you’ll explore the plugins on the official plugin website of Netbeans/Eclipse Marketplace, you’ll find that many plugins are outdated. This should not be a problem because you may never use the plugins. You can also try installing the plugin. Old plugins may work with the latest release of Netbeans or Eclipse. The popular plugins that you may use are updated on a regular basis.
I liked Netbeans because of its UI but when I discovered the “DevStyle” Eclipse plugin, I switched to Eclipse. The DevStyle plugin gives the Eclipse IDE a refreshing look. Netbeans UI looks pale in front of DevStyle. When Apache Foundation launched Netbeans 11.3.1, I re-installed Netbeans. According to the IDE’s changelog, improving the UI was one of the major objectives of the developers working on 11.3.1. NB 11.3.1 ships with FlatLaf looks and feel/theme.
The light variant of the Flatlaf theme is brilliant and eye-pleasing. I don’t like to write code in editors with a dark background. I won’t comment on FlatLaf dark theme. Eclipse provides a good user experience but the default fonts and icons don’t look great. The interface is cluttered with several options. I don’t use most of the options but other users might use them. Netbeans IDE’s interface is less cluttered. The icons on its toolbars are large. The IDE provides an option to change the icon size.
Maven makes the lives of Java developers easy. Eclipse and Java support Maven out of the box. Unlike Visual Studio Code that asks you to install maven on the PC, Eclipse/Java lets you create and manage Maven projects without making you install Maven. The IDEs provide a wizard tool that guides users in creating a Maven project.
Eclipse and NetBeans provide a powerful server management tool. You can configure the IDEs to run the project or deploy the application archive on the web-server you’ve set up. Eclipse supports Jboss, Tomcat, Tomee, Payara, etc. Popular web-servers such as Tomee, Wildfly, Glassfish, Payara work like a charm with Netbeans. The two IDEs can automatically deploy the application archive on the web-server automatically. If the web-server doesn’t work, you should go through the web-server’s log file carefully.
NetBeans recommends useful suggestions when you’re working on a project. For example, if you’re using if else else statement, NetBeans will recommend you to use the “switch” case statement instead of if else else. It can also convert the if else else statement to a switch statement or a foreach statement to lambda expressions automatically with a click of a button. Eclipse doesn’t display such recommendations.
Netbeans ships with a powerful profiler tool. Eclipse lets users install and use profiling plugins. It doesn’t have a profiler built-in. The Netbeans Profiler allows users to monitor the performance of SQL queries, memory usage, threads, etc. Netbeans lets users pause monitoring, take a snapshot of the collected data, reset the collected data, etc.
Netbeans displays the file content when you switch tabs faster than Eclipse. It also runs and makes the project ready faster than Eclipse IDE when you click the IDE’s desktop shortcut icon.
Full-width terminal/output console
Going through the output console on Netbeans and Eclipse is not frustrating. Netbeans displays the output window/terminal at the max-width. When you’re writing code i.e. click the editor with the right button of the mouse, the console displayed below the editor will hide automatically. You can make the output window in Eclipse fit to the width of the screen by minimizing the project explorer and hiding the tools displayed on the right side.
Clean useless files and upgrading/downgrading JVM
Eclipse can convert old workspace files to new ones when you update the IDE. Although this is a great feature, the code autocompletion may not work for XHTML/HTML/JSF files when you upgrade or change the JDK/JVM. You’ll have to manually change a variable in the Eclipse project configuration file. It’s easy to change the JDK version in Eclipse but changing the java-ee version is confusing.
Netbeans ships with a special tool called Janitor that frees up the storage memory wasted by old files. NetBeans 11.3.1’s Janitor tool freed 879 MB of storage memory on my laptop. Also, it is easy to upgrade/downgrade java-ee or JDK version in Netbeans.
Other features of the two IDEs:
- GIT, SNV, Mercurial support.
- Powerful refactoring tool.
- Option to bulk find and replace strings.
- Hudson, Gradle support.
- Capable of drawing UML diagrams (with a plugin).
- Support for C, C++ programing language, and PHP scripting language.
- Getter/setter/constructor generators, etc.
Which Java IDE is better?
I wrote this article to make you aware of the similarities and differences between Eclipse and Netbeans. It is very difficult for me to choose one IDE from the two as I switch from one IDE to another often. As I build Maven applications and as Eclipse and Netbeans support Maven, switching from Netbeans to Eclipse and vice versa doesn’t affect my projects.