NetBeans 8.1 versus IntelliJ 15
Nowadays, we have on the scene of the Java IDEs two main choices: NetBeans 8.1 or IntelliJ 15. As the eternal debate between Java Developers is always about what is the best IDE available for use, I got the idea to write this small post.
This post is a feedback of a personal experience, it is my personal point of view. I have been using NetBeans for nearly 4 years for professional and personal projects (Java SE/EE, HTML5, AngularJS).
During a job for a new customer, I started using IntelliJ since November 2015. When I was testing the new IntelliJ, I was able to build up a direct view about the differences between NetBeans IDE 8.1 and IntelliJ 15.
NetBeans has the best autocomplete capabilities. These capabilities are great for all its editors (Java, HTML/JS, Maven). The autocomplete popup is so smart comparing to IntelliJ.
IntelliJ has two autocomplete methods:
- Classic autocomplete: CTRL+SPACE
- Smart Type Code Completion: CTRL+SHIFT+SPACE
But the question is: Why would I need to have two methods for one thing?
NetBeans has the both of these features, combined in a VERY smart autocomplete wizard J In your first CTRL+SPACE, you call the smart completion mode, you get only proposals related to your context (Smart mode), but if you type again CTRL+SPACE you will get all the proposals (Classic mode).
So I think having one shortcut for related features is more useful than having two different keyboard shortcuts.
Maven integration in the IDE is very important to me. 99% of my projects are Maven projects. So having a strong support of Maven will boost my productivity.
What NetBeans offers is the greatest Maven support that have been ever seen:
One of the most amazing features of NetBeans is the heavy application servers support:
- Strong integration of many servers (Glassfish/Payara, JBoss/Wildfly, Tomcat)
- Possibility of showing actual deployed resources on the working server (WARs, EARs, JARs, JDBC Resources)
Until now, you cannot do this in IntelliJ: you cannot list your deployed applications or even list the resources available on the selected server.
There is no magic in NetBeans for dealing with servers. NetBeans developers focused about the real needs of the Java SE/EE developers. They concretized the needs by providing Application servers plugins that are communicating with the CLIs or the management web-services exposed by the application servers.
That’s why, when using NetBeans, dealing with an application server is so easy and even funny.
It is so common to work with many projects or many modules. So if your IDE doesn’t support the multiple projects management.
What IntelliJ says about this:
IntelliJ IDEA allows you to work with several projects simultaneously, each one in a separate window. The projects are independent, and cannot share information, except for the Clipboard operations. All the projects run in the same instance of IntelliJ IDEA and use the same memory space.
This is a little bit complicated, there is some tricks to do to be able to open multiple projects in the same window. But for NetBeans, everything is here and no need to do anything to make it happen.
There are many minor differences between NetBeans & IntelliJ that make NetBeans more flexible than IntelliJ:
- Optimize & fix imports functionality is better in NetBeans
- Searching a dependency in the Maven Repositories easily from the code
- Shortcuts and refactoring is easier in NetBeans than IntelliJ
- One important point is that NetBeans and all its great features are free and totally free.
This was a personal evaluation of the both IDEs. This experience shows why I am choosing NetBeans IDE as my favourite IDE.
I hope that this evaluation will help you.
Everything you want to do in one IDE can also be done in other IDEs as well. It is just a matter of productivity. So if you are spending much time and money getting and configuring your IDE, then you are in very serious trouble. You should consider moving to a better IDE. And, trust me, NetBeans is the best choice!