Why is this? Opinions vary (of course), but it seems that the main thing preventing (or delaying) major enhancements to development tools is the fact that it’s really hard to do without either breaking applications that have already been built or making it more difficult to update them.
So in those rare cases where a major enhancement to an established development tool or platform comes along, it’s big news (at least to developers). Such is the case with Java 9 modules.
Java 9 modules, or more formally the Java 9 Platform Module System (JPMS), introduces a higher level of organization for Java code. In previous versions of Java, code was organized into units called packages. The Java Platform included hundreds of these packages, which led to a number of problems:
JPMS does not do away with packages; rather, the Java ecosystem is organized into buckets of packages called modules. More than just an organizational tool, however, modules enable developers to exercise greater control over their applications than was afforded by packages alone.
Some of the things developers will enjoy about using Java 9 modules include the following:
The result for developers—and their customers—is leaner, more secure applications that can run efficiently on a much wider variety of hardware platforms and devices.
The advent of JPMS—described in Java Magazine as “the most important new software engineering technology in Java since its inception”—didn’t happen overnight, and was not without controversy. Originally proposed in 2011 for Java 7, the project was deferred several times while designers grappled with technical and philosophical issues. Figuring out how to organize hundreds of packages into the 95 modules of the initial release, in a way that makes sense for the vast majority of developers, was no easy task. Several years of hard work finally paid off with the release of JPMS in late 2017.
If there is a downside, it’s that existing applications may require some extensive architecture updates to take advantage of Java 9 modules. At some point, Oracle will sunset the earlier Java versions with which those applications were developed, ending official support, and developers and their customers will need to make some choices about what to do with those legacy applications.
Regular readers of this blog will not be surprised to learn that AndPlus is on top of this major enhancement to the Java development environment, and we are excited about the enhanced security and performance inherent in new Java applications. If you have an idea or a need for a new application, or have an old application that’s in desperate need of an update, contact us today. If Java is the right platform for your application, we will make sure it takes full advantage of the enhancements brought about by Java 9 modules.