The Best Java IDE
In this post, we will check the The Best Java IDE for desktop, web and mobile Java integrated development environments. There are free Java IDEs available for design, development, and testing of desktop, mobile and web applications.
Table Of Contents
1. Overview
Typically the free best java IDEs are chosen based on the factors such as cost, licensing model, desktop development support, web development support, multi-browser support, parallel execution, mobile app development support, matured community and customer support.
2. The Best Java IDEs
Typically Java IDEs have support for multiple projects, workspace, runtime compilers, source control, multiple language development, debugging and plugin development. They can be categorized based on the type of application such as desktop, web and mobile applications.
2.1 Desktop Development
2.2.1 BlueJ
BlueJ is a Java IDE which has support for Linux, macOS, and windows operating systems. BlueJ’s welcome screen has the application structure for development. It has features for designing development and unit testing of applications. BlueJ is suitable for projects which are of small size. It is good for beginners and experienced developers. It was first released on March 1999.
2.2.2 Codenvy
Codenvy is an Integrated Development environment for java. This java IDE is based on Eclipse Che which is cloud edition of Eclipse. This IDE has various editions such as Developer, Enterprise and Team versions. It has capabilities such as code completion, refactoring, syntax highlighting, designing, developing and executing the code. This IDE has features related to developer collaboration. It supports multiple languages such as C++, C#, Javascript and PHP. It was released in 2012. Codenvy IDE has support for Linux, macOS, Solaris, and Windows operating systems.
2.2.3 DrJava
DrJava is an IDE for java based software development. It is a good IDE for beginners. It has a good user interface. The IDE has features for unit testing, editing, finding, replacing, autocompletion, automatic indentation, brace matching, commenting, syntax coloring and go-to line. It has support for Eclipse as a plugin. This ide is built using java swing toolkit. DrJava ide has support for Linux, macOS and Windows operating systems. It was released in June 2002 and developed by JavaPLT group at Rice University.
2.2.4 Eclipse
Eclipse is a very popular integrated development environment for java. It has multiple editions such as desktop and cloud (Eclipse CHE) editions. This IDE has multiple plugins on the Eclipse Marketplace. Plugin development environment (PDE) is a separate edition for java plugin developers. The IDE has great features for charting, modeling, reporting, browser support and unit testing. Eclipse has support for code completion for source code related classes, methods, and properties. Eclipse IDE has support for multiple languages through plugins. It has support for C, C++, Clojure, Groovy, Haskell, Javascript, Julia, Perl, PHP, Ruby, Rust, and Scala. The IDE has support for Linux, macOS, Solaris and Windows operating systems. It was released in November, 2001.
2.2.5 Greenfoot
Greenfoot is a JavaIDE fit for beginners and students. The IDE has features for developing graphical applications, animations, sound-based apps, simulations, and interactive games. It is free to use software with support from Oracle. Greenfoot IDE has capabilities for show class & object relationships, methods, object interactions and parameters.
Greenfoot’s interactive environment is designed to illustrate important abstractions and concepts of object-oriented programming, including class/object relationship, methods, object interaction, and parameters. It was first released in 2003 and has support for Linux, macOS, Solaris and Windows operating systems.
2.2.6 IntelliJ
IntelliJ IDEA is a very popular Java IDE. It is multiple editions such as Apache-licensed community and commercial versions. IntelliJ IDEA has features for cross-language refactoring, chain completion, language injection, smart completion, static member completion, and data flow analysis features. It has support for Java Virtual Machine based languages like Kotlin. The IntelliJ IDE has support for Linux, macOS, and Windows operating systems. It was first released in January 2001.
2.2.7 JCreator
JCreator is a java Integrated developer environment. It has multiple editions such as Lite, Pro, and Life-Pro versions. Xinox software developed JCreator and was in C++ programming language. It performs faster than other IDEs which are in Java language. It is suitable for beginners. The paid edition of the IDE has good features. This IDE support for Linux, Wine, and Windows operating systems.
2.2.8 JDeveloper
JDeveloper is a Java IDE available free and developed by Oracle. It has great features such as development lifecycle support for coding, designing, debugging, optimization, profiling, and deploying. Oracle Application development framework can be integrated with this IDE for application development. It has multiple language support for GTML, JavaScript, PHP, SQL, and XML. It was released in 2005 and has support for Linux, macOS, and Windows operating systems.
2.2.9 jGrasp
jGRASP is a free Java Integrated development environment which has a workbench and debugger. This IDE has support for UML class diagrams, Control structure diagrams, profile graph generation, and visualization support. It has multiple language support for Ada, C, C++, Objective-C, and Python. The IDE supports free and commercial multiple language compilers. It has support for Linux, macOS, and Windows operating systems.
2.2.10 JSource
JSource is a Java integrated development environment for programmers and developers. It is used for designing, developing, compiling and executing Java code. This IDE has features related to syntax highlighting and java swing components. It is covered under General Public License version 2.0 (GPL v2).
2.2.11 NetBeans
NetBeans is a very popular Java IDE. It is an opensource IDE for java developers for developing desktop, mobile and web applications. It was first released in 1997 and has support for Linux, macOS, Solaris and Windows operating systems. This IDE has a separate edition for OS-independent version. It has features for code syntax highlighting, code refactoring and designing user interfaces. It has extension support for C, C++, HTML5, Javascript, PHP and other languages.
2.2.12 XCode
Xcode is an integrated development environment available on macOS. The IDE has support for Java and other platforms such as IOS, macOS, tvOS, and watchOS. Xcode has features such as an inbuilt debugger, GUI builder and autocompletion. The IDE has support for other languages such as AppleScript,C, C++, Objective-C, Objective C++, Python, Ruby, and Swift. Xcode was first released in 2003.
2.2 Web Development
2.2.1 Enide Studio
Enide Studio 2015 is an integrated development environment for Node.js, JavaScript and Java Development. This is available from the Eclipse plugin store and Enide website.
2.2.2 JEdit
jEdit is a java editor which can be used for editing text files for web development. It can be extensible using plugins. It has support for 200 languages. It has support for MacOS, OS/2, Unix, VMS and Windows. The licensing model of the IDE is General public License 2.0.
2.2.3 Eclipse
You can use Eclipse to build cross-platform Java web and enterprise applications. This IDE has features such as maven build, Myln, XML Editor, Git client, CVS client and PyDev.
2.2.4 IntelliJ Idea
IntelliJ Idea can be used for building web-based applications. The IDE has capabilities to perform unit testing, debugging, code inspections, maven & ant build tool support, XML editing support, code completion, and code refactoring. lightweight in design and comes with useful features like JUnit testing, TestNG, debugging, code inspections, code completion, and support for multiple refactoring.
2.2.5 NetBeans
The NetBeans IDE has support for web, EJB and enterprise application development. The IDE is based on a modular design. It has an extensive plugin framework for third-party developers to develop their own plugins. The IDE has features such as Ant build system, Maven support, code refactoring, source control system support and version control. It is based on dual license model including Common Development and Distribution License v 1.0 and General Public License v 2.0.
2.3 Mobile Development
2.3.1 Android Studio
Android Studio is a Java Integrated developer environment and is developed by Google. It is used for developing Android applications in Java and Kotlin language. It has good features such as gradle build system, APK generation, template support, rich layout editor and application signing. The licensing model is Apache 2.0. It has support for Linux, Mac OS X and Windows
2.3.2 Eclipse
Eclipse can be used to build large mobile projects. This IDE has support for plugin framework and perspective features. Workspaces are visual containers which provide the perspective feature. They help in design, development, unit testing and documentation tasks. Eclipse Oxygen version came out in 2017.
2.3.3 IntelliJ Idea
IntelliJ Idea IDE can be used for Android based mobile applications. This IDE has many hundreds of plugins. It has features such as a database editor, and a UML Designer.
2.3.4 NetBeans
Apache Netbeans Platform has support for Java ME based mobile application and plugins to handle Android app development. This IDE is opensource. It has support for database development which is unique compared to other IDEs. The other IDEs have plugins for database support.
3. The Best Java IDE – Conclusion
Intellij Idea is a popular Java IDE with capabilities such as Intelligent context, syntax highlighting, project analysis, version control support, search, autocompletion and auto-build support. Idea is suitable for beginners and small projects. Intellij Idea uses more memory than the normal IDEs. Building projects and using auto-build takes longer as it requires more memory. The community edition is free and there is a cost associated with the Ultra edition. The idea has around 700 plugins in the marketplace.
Eclipse has a good features such as UI look and feel, project perspecitves, managing multiple project, plugin framework and plugin support. It is a well-designed IDE with good fonts and icons. Eclipse has support for around 1276 plugins. For large and complex projects, Eclipse suits the requirements. Eclipse has poor features in code completion area in spite of having more than one plugins. It does not have good features related to code merging from local to source control. Eclipse does not have compare with clipboard feature. Go to symbol in the entire project is another missing feature.
To summarize, Eclipse is suitable for large web or mobile project. Idea has larger footprint compared to Eclipse. For smaller project, IntelliJ Idea is suitable especially for beginners.
Table below summarizes the desktop, web and mobile free java Integrated developer environments.
IDE | Desktop | Web | Mobile | License | Source Control | |||||
Android Studio | Yes | Yes | Apache | Yes | ||||||
BlueJ | Yes | |||||||||
Codenvy | Yes | |||||||||
DrJava | Yes | |||||||||
Eclipse | Yes | Yes | Yes | Yes | ||||||
Enide | ||||||||||
Greenfoot | Yes | |||||||||
IntelliJ | Yes | Yes | Yes | Yes | ||||||
Jcreator | Yes | |||||||||
JDeveloper | Yes | |||||||||
JEdit | Yes | GPL | ||||||||
jGrasp | Yes | |||||||||
JSource | Yes | GPL 2.0 | ||||||||
NetBeans | Yes | Yes | Yes | Apache | Yes | |||||
Xcode | Yes | Yes |