Since many years, developers have relied on four major Java platforms: Java SE, Java EE, Java ME and Java FX for application development targeting specific environment and channels. These platforms enable executing desired tasks when building complex applications, but newbie developers or those who have learned different languages in the past often find it difficult to understand the difference between these platforms. Therefore, we have covered a brief explanation on all four platforms below to help you understand each platform better.

Java SE:
Java SE (formerly known as J2SE) is a platform that provides core tools for enterprise application development using Java. It consists of all APIs that run on JVM (Java Virtual Machine) to compile Java programs. It offers GUI libraries or framework that can be used for developing sophisticated GUI powered applications. The Java community unofficially addresses Java SE as “Core Java”. It aims to provide necessary libraries and environment to build standalone desktop applications. Whether your application is simple or complex, you only need a JVM to use Java SE.

Java EE:
Formerly known as J2EE, Java EE is an enterprise edition of Java. It is a super-set of Java SE, which means it includes all the features required for developing giant enterprise applications. It is majorly used for powering websites, Java Beans and server applications. The best thing about Java EE is that it provides an inbuilt environment to compile or run your Java code without requiring a standalone executable. This helps to accelerate your software development cycle.

It’s also used as a web framework based on Servlets (Servlet is a class used for extending the server capabilities). In addition to that, it includes JSP (Java Server Pages) which is a template language used for compiling from JSP to a Java Servlet where it can be run by a container. For building web server applications, you will require Java EE compatible servers such as JBoss, GlassFish, WildFly, etc. Basically, Java EE is more of a platform than simply an app-building tool.

Java ME:
Java ME, the Micro Edition of Java, was specifically designed to develop applications for mobile devices and embedded systems like set-top boxes. It offers a subset of the functionality of Java SE and also includes libraries specific to mobile app development. However, as it is based on the previous version of Java SE, a number of new language features introduced in Java 1.5 such as generics are not available.

Java FX:
Java FX is a platform for creating robust internet applications through lightweight user interface API. Applications built on Java FX use hardware-accelerated graphics and media engines to leverage the benefit of high-performance clients, a modern look, and feel, and high-level APIs to connect to networked data sources. Java FX applications can be clients of Java EE platform services.

To conclude, consider these platforms as specifications or norms instead of software. The Java Development Kit (JSK) is an official implementation for Java SE. Various other implementations are also available such as OpenJDK or IBM’s J9.

Which of these Java platforms have you tried for your project? Let us know in the comments below.

Author's Bio: 

My prime focus is on solving business problems through the most efficient use of technology and creative writing and blogging. I have hands on experience in writing engaging content about CRMs and CMSes and tips and tricks of the web-based application and mobile stuff for a couple of years.