As a Java developer you are most likely to be familiar with Eclipse, but it’s not the only game in town. Other options to consider include NetBeans and Intellij IDEA. Which one’s the best? Here’s an overview of each to help you decide.
It started in 2001, when IBM released Eclipse into open source. Back then, It was a simple IDE to let programmers manage Java source code and edit it. It’s since become a major platform that’s used with many other languages, such as Golang (Google Go), Dart, Scala and more. A quick look through the Eclipse project list will give you a sense of just how major — it contains in excess of 200 projects, most of which are mature.
The Eclipse project is managed by the not-for-profit Eclipse Foundation, which (through sponsorship) employs full-time professional staff to help with Infrastructure, IP Management, Development Process and Ecosystem development. You’ll see Eclipse appear in commercial software as well as open source.
Technically, the Eclipse IDE is comprised of plugins, making it extremely customizable. For Java development, you create projects and configure Ant builds. Eclipse compiles your code in the background, showing errors as red lines. The IDE is organized in Perspectives, which define a view for each task, such as editing source code or debugging.
At first, it appears overwhelming, but it’s really not so bad. Its strengths include its debugging system, as well as its variety of available plugins. As a professional developer you should be familiar with Eclipse because you’ll encounter it frequently. It’s also highly rated for large projects.
NetBeans has always existed in Eclipse’s shadow but until recently it provided just an IDE. Developed independently in Prague in the late 1990s, it was bought by Sun in 1999 and open sourced a year later. It’s now owned by Oracle. You can use the NetBeans IDE to develop software for all the different Java versions from Java ME up to Enterprise Edition (EE).
The IDE includes support for refactoring, smart code completion and templates (as does Eclipse). Where it goes beyond Eclipse is database support, with drivers provided for Java DB, MySQL, Oracle and PostgreSQL, and with a Database Explorer that lets you create, modify and delete databases and tables in the IDE.
I’ve always felt that NetBeans has been the smaller younger brother of Eclipse but recent editions show its a strong competitor. If you’re new to Java development, you may find NetBeans easier to get started with.
Introduced with NetBeans 6.0 in 2008, the NetBeans Platform is a generic framework for Swing GUI applications that provides a modular multi-windowed system with versioned components and plugins. It also includes an API that provides stream-oriented access to flat and hierarchical structures, such as disk-based files on local or remote servers, memory-based files and even XML documents.
Now up to version 12.1, JetBrains’ Intellij IDEA is has been around since 2001, like Eclipse. It’s available in both a commercial (“Ultimate” edition) and free open source community versions. The company behind it, JetBrains, is well known for its Resharper plugin for Visual Studio, which significantly enhances C# development.
There’s a wide range of languages supported within the Intellij IDEA IDE, including Java, Scala, Groovy, Clojure and Kotlin. It has smart code completion, code analysis and advanced refactoring in both editions. For heavy lifting enterprise tools such as database tools, Code Coverage and the UML Designer, you need the commercial version, which also adds support for SQL, Ruby, ActionScript, Python and PHP.
The Ultimate edition is really targeted at the enterprise market, with support for virtually every application server, but the free version is handy with plugins for Scala, Groovy or Clojure. There’s also a new Android UI designer for Android development in version 12.
As with Eclipse and NetBeans, Intellij IDEA can be extended by user-written plugins. Its repository currently has 947 plugins available for the free edition and an extra 55 for the commercial edition. Anyone can write a plugin using the built-in customized Swing components and submit it to the repository.
There’s no one feature that makes any of these free IDEs stand out, though Eclipse has the benefit of being the most-used. NetBeans tends to be more popular with independent developers and the Ultimate edition of Intellij IDEA really does kick ass if you can afford it. I’d recommend installing all three free IDEs and trying them out to see which you like most.