Subscribe / Unsubscribe Enewsletters | Login | Register

Pencil Banner

Choosing your Java IDE

Martin Heller | Sept. 7, 2016
Comparing Eclipse, NetBeans, and IntelliJ IDEA for features, usability, and project size and type

Every Java developer needs a programming editor or IDE that can assist with the grungier parts of writing Java and using class libraries and frameworks. Deciding which editor or IDE will best suit you depends on several things, including the nature of the projects under development, your role in the organization, the process used by the development team, and your level and skills as a programmer. Additional considerations are whether the team has standardized on tools, and your personal preferences.

The three IDEs most often chosen for server-side Java development are IntelliJ IDEA, Eclipse, and NetBeans. These aren't the only choices, however, and this review will include some lightweight IDEs as well.

For this review I did fresh installations of IntelliJ IDEA Ultimate 2016.2, Eclipse Neon Java EE, and NetBeans 8.1 Java EE on a MacBook Pro. I also checked out several open source Java projects so that I could test all of the IDEs on the same projects.

Basics: What you need from a Java IDE

At a minimum, you would hope that your IDE supports Java 8, Scala, Groovy, and any other JVM languages you regularly use. You'd also want it to support the major application servers and the most popular web frameworks, including Spring MVC, JSF, Struts, GWT, Play, Wicket, Grails, and Vaadin. Your IDE should be compatible with whatever build and version control systems your development team uses, for example Ant, Maven and/or Gradle, along with Git, SVN, CVS, Mercurial, and/or Bazaar. For extra credit, your IDE should be able to handle the client and database layers of your stack, supporting embedded JavaScript, TypeScript, HTML, SQL, JavaServer Pages, Hibernate, and the Java Persistence API.

Finally, you would hope that your Java IDE lets you edit, build, debug, and test your systems with ease and grace. Ideally, you'd not only have intelligent code completion, but intelligent refactoring and code metrics. If you're in a shop that does test-driven development, you want support for your testing frameworks and stubbing. If your group uses a ticket system and CI/CD, it's best if your IDE can connect to them. If you need to deploy to and debug on containers and clouds, your IDE should help you do so.

With that foundation in mind, let us consider the contenders.

IntelliJ IDEA

IntelliJ IDEA, the premier Java IDE in terms of both features and price, comes in two editions: the free Community edition, and the paid Ultimate edition, which has additional features.

The Community edition is intended for JVM and Android development. It supports Java, Kotlin, Groovy, and Scala; Android; Maven, Gradle, and SBT; and Git, SVN, Mercurial, and CVS. The Ultimate edition, intended for web and enterprise development, supports Perforce, ClearCase, and TFS in addition to Git, SVN, Mercurial, and CVS; supports JavaScript and TypeScript; supports Java EE, Spring, GWT, Vaadin, Play, Grails, and other frameworks; and includes database tools and SQL.

 

1  2  3  4  5  6  7  8  9  Next Page 

Sign up for CIO Asia eNewsletters.