Oracle's JDeveloper Studio is uniquely different from the other products examined here. It walks its own path and reflects the agenda of Oracle, rather than concerning itself with needs outside of Oracle's interests. Rather than viewing it as a free product that's closed source, it's more accurate to view JDeveloper as Oracle's internal development tool that it offers at no charge to anyone who might find it useful.

The Oracle agenda makes the product narrowly focused and thereby limited in some respects, but also very effective in other ways. The ties to the Oracle software stack can be seen in all aspects of the IDE, even down to the version number, which by fiat cannot move ahead of the version number of Oracle's core product, the DBMS. Given this wall, the version number extends into increasing levels of decimal points. In the process, the usual information regarding which releases represent important product upgrades is completely lost.

Installation is simple, but the final product is curiously registered on the system where it's installed with the telling name of "Oracle Fusion Middleware." Most people don't view IDEs as middleware, but this categorisation underscores JDeveloper's substantial support for middleware development as part of its extensive enterprise capabilities. For example, JDeveloper provides lots of support for ADF (Application Development Framework), Oracle's preferred Java Server Faces (JSF) component set. It equally supports TopLink (the persistence layer Oracle bought from BEA before it acquired BEA entirely), and it offers extensive Java EE tooling including an embedded version of the WebLogic server that can be started and managed from within the IDE.

The Oracle-only approach works well within JDeveloper as long as you hew closely to the Oracle stack, top to bottom. For example, should you switch from Oracle's JSF components in ADF to those of another vendor, your ability to do WYSIWYG UI development becomes limited.

Oracle JDeveloper

JDeveloper editor with a bottom panel for managing an instance of the WebLogic server.

Nonetheless, JDeveloper is more responsive than the other products reviewed here and has superior help. Press the key combination for help and a screen pops up very quickly with information tied directly to the page or dialog you're working in. This context sensitive help is faster and better than its counterparts in the other IDEs. JDeveloper also includes niceties such as a built-in profiler that can measure performance or memory consumption. Its syntax checker found an error not spotted by IntelliJ IDEA's vaunted code proofing tools. In the areas where Oracle has cared to focus, the company has done a good job.


One area the company has not focused on, and this is where the JDeveloper story unravels, is creating an ecosystem of plug-ins. No product reviewed here has fewer plug-ins, and most of the extant plug-ins were written by Oracle itself. Third parties, to speak of, are nearly absent. For example, I was not able to find a single plug-in for code coverage analysis that works with JDeveloper. This is an important limitation.

Oracle has made it clear that it intends JDeveloper to continue being the company's primary development environment. For organisations that have committed to the Oracle stack, this is a reasonable choice. But all other customers are likely to be better served by the other IDEs presented here.