Maksim Kabakou - Fotolia
The Java community has no shortage of IDEs for active development. With so many available options, an organization's final choice will come down to development needs and preferences.
There are more than a dozen IDEs on the market. While some specialize solely on Java development, others support many programming languages.
Let's explore these top six Java IDEs and how each could fit into a development environment.
Eclipse debuted in 2001 and is one of the oldest Java IDEs still widely installed and used today. Developers like that it is written mostly in Java. Eclipse is a showcase for Java developers of how much they can achieve with the language. However, these aren't the only things that make Eclipse a top Java IDE.
Eclipse is completely free and open source. Although its primary purpose is Java development, Eclipse also supports a wide range of other languages such as C++, COBOL, Erland and PHP. Eclipse's language flexibility makes it a good choice for developers who want a single IDE where they can work with multiple languages.
Another selling point is Eclipse's plugin framework. It's easy to add functionality to Eclipse via plugins. The core IDE doesn't come bloated with unnecessary or unwanted built-in features.
The Eclipse plugin marketplace offers more than 1,700 extensions that cover everything from code security scanning to development on ARM platforms.
IntelliJ also dates to 2001 and is a tried-and-true Java IDE. It's broadly comparable to Eclipse in that it offers a rich plugin ecosystem, supports many programming languages and provides functionality to develop both basic and complex Java applications.
The major difference between Eclipse and IntelliJ is that the latter is not fully open source. An open source community edition is available. However, developers who want enhanced functionality must use the commercial edition.
Along with Eclipse and IntelliJ, NetBeans rounds out the list of the big three Java IDEs. It began in the 1990s, which makes the IDE almost as old as Java itself. NetBeans is free, open source and offers a range of advanced programming functionality, such performance profiling and tools to build GUIs into a Java application.
NetBeans has a plugin framework too, but compared to Eclipse and IntelliJ, it has more functionality enabled in the core IDE by default. If a developer wants a Java IDE that doesn't require a lot of setup before they start coding, NetBeans beats Eclipse and IntelliJ.
Some developers argue that NetBeans has a simpler interface than the other Java IDEs, which individuals should assess for themselves.
First released in 2005, JDeveloper is another well-established Java IDE. JDeveloper is Oracle's official Java IDE, and thus highly regarded in the Oracle Java ecosystem community.
Feature-wise, JDeveloper is relatively basic. It supports development in a handful of languages and comes with a few extensions. However, the limited scope of JDeveloper can make the tool a good choice for Java programmers who want a simple IDE.
JDeveloper isn't open source, but it is free.
BlueJ tops the list of simple Java IDEs. It's explicitly designed for beginner Java developers. BlueJ offers a GUI to help keep track of classes within an application, and provides basic build and debugging functionality.
For simple applications, it's an effective Java IDE. However, BlueJ's basic interface -- which only supports Java and the Java-like Stride language -- will likely make it unfit for complex Java application development.
Eclipse Che is a cloud IDE that was introduced in 2014. As a cloud IDE, it runs completely inside a web browser, which means there's no extensive setup process required. Che also stands out for its use of Kubernetes and Docker containers as application execution environments. Eclipse Che is also free and open source.
Che has a cloud-based architecture and integrated Java support.
Which Java IDE is best?
The top Java IDE depends on these main factors:
- Development complexity;
- Pluggable extensions IDEs with broad core functionality;
- Additional language support besides Java;
- The usefulness of a cloud IDE; and
- Cost and licensing fees.
There isn't a Java IDE out there that will meet every requirement for a development organization. Each team should weigh the pros and cons of these top IDEs, and other ones on the market, to find the closest fit for development needs.