This article describes which are the best IDE available for developing Enterprise applications with WildFly or JBoss EAP. We will focus on Development Environments which are free or have a Community version available.
Eclipse is one of the most widely used integrated development environment (IDE) to build software applications. Featuring a rich IDEs in the Java programmer community, also supports all major programming languages like Java, C/C++ and Python.
In terms of popularity, it’s a popular choice for developers of the JBoss.org community thanks to the JBoss Tools set of plugin for JBoss products. Actually JBoss Tools is a project which encapsulates a set of Eclipse plugins that supports almost all JBoss and related technology; besides the Application Server, there is support for Hibernate, Drools, jBPM, JSF, (X)HTML, Seam, Maven, Camel, Quarkus and even more.
A detailed tutorial which covers JBoss Tools installation on Eclipse is available here: Configuring Eclipse to use WildFly (2021)
On the other hand, Eclipse is not just for WildFly users but it can be used for a variety of projects. For example, it is commonly used to design jBPM processes.
Check this article for more details: Design jBPM Processes with Eclipse designer plugin
On the other hand, if you would like a cloud-ready Eclipse you can try Red Hat Code Ready Studio (formerly known as JBoss Developer Studio) which is the quickest way to develop and test JBoss projects on a Kubernetes or OpenShift cluster. Behind the hoods, Code Ready Studio is an Eclipse based environment with includes JBoss Tools with extra features that aim to simplify the development of container-based services.
Check this article for more details about Code ready Studio check this article: Getting started with Red Hat Code Ready Studio
Pro: Advanced support for modeling.
Eclipse is the only IDE which supports modeling for a large set of JBoss projects.
Pro: Cloud friendly:
If you are planning to design and develop applications for Kubernetes based Cloud platforms, Eclipse is a real asset.
Cons: Performance and stability
Eclipse has a tendency to run slower than other IDEs. Overall as the number of plugins increase, the performance and stability of the environment will reduce quite a bit.
Cons: not so developer friendly
Unless you use a very basic version of Eclipse, with the least amount of plugins installed, the amount of options/views can overwhelm the developer.
IntelliJ IDEA is an IDE written in Java for developing computer software. It is developed by JetBrains, and is available as an Apache 2 Licensed community edition, and in a proprietary commercial edition.
This IDE has gained popularity thanks to some features like code completion by analyzing the context, code navigation which allows jumping to a class or declaration in the code directly, code refactoring, code debugging, linting and options to fix inconsistencies via suggestions.
Overall, if you don’t need the JBoss Tools project to develop your Enterprise applications you will find IntelliJ just as good as Eclipse.
In this tutorial we discuss the options you can use to integrate IntelliJ Idea with WildFly: Developing applications with IntelliJ Idea and WildFly
Pro: Easy to get started
IntelliJ gives you what you need out of the box. You won’t need to spend some time customizing an environment for your needs.
The popularity of one IDE over another should not be your only criteria for choice. However, the size of the community and number of fans among Java developers can have impact on productivity and ease-of-use.
Con: Limited Support for Modeling
IntelliJ has a large set of plugins (not comparable to the huge ecosystem of Eclipse): some of them allow you to bootstrap your projects, such as the Quarkus plugin. There’s also a plugin to assist you in coding Camel Routes however there’s no support for modeling things like BPM.
Apache NetBeans is a Community powered tool which runs on JDK LTS releases 8 and 11, with experimental support for JDK 17.
The good thing about NetBeans is that it’s ready to use out of the box. No extra plugins or extensions are necessary to increase usability. Since it is open source, there are thousands of other users that can help contribute to projects and concepts.
In terms of JBoss / WildFly integration you can easily add a WildFly server to your list of services and start/stop/debug it out of the box:
Read more about NetBeans and WildFly integration .
Pro: Developer friendly
NetBeans is a beginner-friendly IDE with a simple user interface. And you can get started without all the plugins: simply add a built-in WildFly server to manage it.
NetBeans is quite stable. This is also because you don’t have to install lots of plugins. Also debugging with NetBeans is simpler and less prone to JVM crashes.
Con: Lacks Support for Modeling
NetBeans has improved quite a lot in stablity but has never added any support for modeling applications. Maybe for this reason its popularity has faded in recent years.