Plataformas en Java
La plataforma Java, posee diferentes tipos de ediciones (no confundir con versiones). Cada una de estas ediciones fueron desarrolladas para atacar ciertos problemas sobre ambientes en particular.
Java es distribuido en tres diferentes ediciones.
- Java Micro Edition (Java ME)
- Java Standard Edition (Java SE)
- Java Enterprise Edition (Java EE)
En este post explicaremos en que consisten cada una de estas ediciones, sus diferencias y en qué casos podemos aplicarlos.
Java Micro Edition (Java ME)
Java Micro Edition, también conocido como Java ME, es una versión reducida de la edición Java Standard Edition. Esta edición se encuentra enfocada para la creación de aplicaciones tanto en dispositivos móviles, como dispositivos integrados.
Con Java ME nosotros podemos desarrollar aplicaciones para diferentes dispositivos, no limitándonos únicamente a teléfonos inteligente. Si así lo deseamos podemos crear aplicaciones para Televisores inteligentes, consolas de vídeo juegos, etc ...
Aun que su popularidad se vio reducida por el auge de Android, hoy en día se encuentra retomando terreno principalmente por el tema del Internet de las cosas.
Java Standard Edition (Java SE)
Java Standard Edition, también conocido como Java SE, es la edición estándar de Java, la versión original de Sun Microsystems. Con esta versión nosotros podemos crear tanto aplicaciones web, como aplicaciones de escritorio.
La edición cuenta con una amplia biblioteca de clases las cuales están pensadas para agilizar el proceso de desarrollo. Tenemos clases enfocadas en seguridad, red, acceso a base de datos, interfaces gráficas, conexión entre dispositivos, XML etc...
Si tú quieres comenzar a desarrollar aplicaciones con Java es obligatorio que instales y comiences con esta edición, pues será esta, la que te provee de una base solida del lenguaje, tocando temas como Java Virtual Machine, Java Runtime Environment, Java Development Kit, y API de Java. Expliquemos cada uno de ellos.
Java Virtual Machine
Java es un lenguaje compilado. Cuando nosotros compilamos nuestras aplicaciones el resultado no es un ejecutable con código binario, no, el resultado es un ByteCode. Bytecode es un conjunto altamente optimizado de instrucciones diseñadas para ser ejecutadas por el sistema de tiempo de ejecución Java, también conocido como Java Virtual Machine o JVM.
La JVM será la encargada de tomar las instrucciones ByteCode y traducirlas a código maquina, unos y ceros, algo que la computadora ya puede comprender y ejecutar.
La JVM es sumamente importante en Java, ya que esta es la que se encargada que la aplicación se escriba una sola vez y se ejecute la n cantidad de veces en diferentes dispositivos (WORA, o "write once, run anywhere").
Cada sistema operativo en particular (Windows, Linux, Mac OS, etc.) necesita su propia implementación de la JVM, de lo contrario no sería posible ejecutar aplicaciones Java.
Java Runtime Environment (JRE)
Java Runtime Environment (JRE) es un conjunto de herramientas que proporcionan un entorno en donde las aplicaciones Java pueden ser ejecutadas. Cuando un usuario desea ejecutar un programa Java, este debe elegir el entorno que se adecue a sus necesidades (arquitectura y sistema operativo de la computadora).
Java es sumamente cuidadoso con las versiones. Si nosotros desarrollamos nuestras aplicaciones con x versión, muy probablemente no sean compatibles con una versión y.
Java Development Kit (JDK)
El Java Development Kit (JDK) es una extensión de JRE. Junto con los archivos y herramientas proporcionados por JRE, el JDK incluye compiladores y herramientas (como JavaDoc y Java Debugger) para crear programas Java. Por esta razón, cuando uno quiere desarrollar una aplicación Java, necesitan instalar un JDK.
API de Java
Java SE provee a una amplia biblioteca de clases las cuales están pensadas para agilizar nuestro proceso de desarrollo, son clases las cuales ya vienen con el lenguaje.
A esta biblioteca de clases se le denomina la API de JAVA. Y esta puede ser consultada de forma gratuita en la documentación oficial de Java.
Java Enterprise Edition (Java EE)
Java Enterprise Edition, también conocido como Java EE, es la edición más grande de Java. Esta edición contiene toda la Standard Edition y mucho más. Por lo general es utiliza para crear aplicaciones con la arquitectura cliente servidor.
Java EE fue pensado para el mundo empresarial. Es potable y escalable. Posee una amplia biblioteca de clases con las cuales podemos trabajar con JSON, Email, base de datos, transacciones, Persistencia, envió de mensajes, etc...