Plataforma Java
Plataforma Java | ||
---|---|---|
| ||
Desarrollador(es) | ||
James Gosling y Sun Microsystems https://www.java.com | ||
Información general | ||
Paradigma | Orientado a objetos, imperativo | |
Apareció en | 1996 | |
Diseñado por | Sun Microsystems (Oracle Corporation) | |
Última versión estable | Java Standard Edition 15.0.2[1] (19 de enero de 2021 (4 años, 5 meses y 4 días)) | |
Sistema de tipos | Fuerte, estático | |
Implementaciones | OpenJDK, HotSpot y muchas otras | |
Dialectos | Generic Java, Pizza | |
Influido por | Pascal, C++, Objective-C | |
Ha influido a | C#, J#, JavaScript, PHP, Python | |
Sistema operativo | Multiplataforma | |
Licencia | GNU GPL / Java Community Process | |
La plataforma Java es el nombre de un entorno o plataforma de computación originaria de Sun Microsystems, capaz de ejecutar aplicaciones desarrolladas usando el lenguaje de programación Java u otros lenguajes que compilen a bytecode y un conjunto de herramientas de desarrollo. En este caso, la plataforma no es un hardware específico o un sistema operativo, sino más bien una máquina virtual encargada de la ejecución de las aplicaciones, y un conjunto de bibliotecas estándar que ofrecen una funcionalidad común.
La plataforma es así llamada la plataforma Java (antes conocida como Plataforma Java 2[2]), e incluye:
- Plataforma Java, Edición Estándar (Java Platform, Standard Edition), o Java SE (antes J2SE).
- Plataforma Java, Edición Empresa (Java Platform, Enterprise Edition), o Java EE (antes J2EE).
- Plataforma Java, Edición Micro (Java Platform, Micro Edition), o Java ME (antes J2ME).
Desde 2006, la versión actual de la Plataforma Java Standard Edition se le conoce como Java SE 6 como versión externa, y 1.6 como versión interna. Sin embargo, se prefiere el término versión 6. La plataforma incluye varias tecnologías distintas.[3]
Tecnologías Java
La Plataforma Java se compone de un amplio abanico de tecnologías, cada una de las cuales ofrece una parte del complejo de desarrollo o del entorno de ejecución en tiempo real. Por ejemplo, los usuarios finales suelen interactuar con la máquina virtual de Java y el conjunto estándar de bibliotecas. Además, las aplicaciones Java pueden usarse de forma variada, como por ejemplo ser incrustadas en una página web. Para el desarrollo de aplicaciones, se utiliza un conjunto de herramientas conocidas como JDK (Java Development Kit, o herramientas de desarrollo para Java). Las tecnologías que existen en la plataforma Java son:
Java SE Java EE Java ME Java Card Java SE
Java SE es la plataforma estándar y objetivo de este tutorial sobre Java en la cual se recogen todas las funcionalidades básicas del lenguaje.
Dentro de estas funcionalidades básicas de Java encontramos: el uso de colecciones, acceso a ficheros con Java IO y NIO y bases de datos con JDBC, librerías para el desarrollo de aplicaciones de escritorio o web como Swing o JavaFX, librerías para la fecha y hora, posibilidad de crear aplicaciones multi-hilo, capacidades para realizar conexiones en red, manejo de contenido XML… incluso incluye la base de datos Java DB para el uso en memoria.
Si estás empezando con Java lo más normal es que te bajes las librerías de Java SE.
Java EE Java EE se crea para poder realizar aplicaciones empresariales con Java. De esta forma se dota a Java EE con capacidades de desarrollo de aplicaciones de servidor con tecnologías como Servlets, JSP o EJB.
Java EE nos permite realizar el desarrollo de servicios, ya sean WSDL (con JAX-WS), REST (con JAX-RS), o la creación de websockets.
Además ofrece un API de persistencia de objetos con JPA, capacidades de mensajería con Java Message, de email con Java Mail o gestión de procesos batch.
Java ME Java ME es la implementación de Java que nace para la creación de aplicaciones móviles.
Si bien con el paso del tiempo se ha ido enfocando más para el desarrollo de dispositivos IoT (Internet of Things): televisiones, sensores, impresoras,…
Así, dentro de Java ME podemos encontrar:
Java TV, para el desarrollo de aplicaciones en TV o en dispositivos multimedia. Java Embedded, que nos permite crear diferentes perfiles de desarrollo de “aplicaciones incrustadas”, que además no tienen interface gráfica.
Java Cards Es la tecnología de Java que nos sirve para el desarrollo de aplicaciones que vayan a ir en tarjetas inteligentes, aquellas que llevan un chip y poca capacidad de procesamiento y memoria
Java Runtime Environment
Un programa destinado a la Plataforma Java necesita dos componentes en el sistema donde se va a ejecutar: una máquina virtual de Java (JVM), y un conjunto de bibliotecas para proporcionar los servicios que pueda necesitar la aplicación. La JVM que proporciona Sun Microsystems, junto con su implementación de las bibliotecas estándar, se conocen como Java Runtime Environment (JRE) o Entorno en tiempo de ejecución para Java. El JRE es lo mínimo que debe contener un sistema para poder ejecutar una aplicación Java sobre el mismo.
Bibliotecas de Java
En la mayoría de los sistemas operativos actuales, se ofrece una cantidad de código para simplificar la tarea de programación. Este código toma la forma, normalmente, de un conjunto de bibliotecas dinámicas que las aplicaciones pueden llamar cuando lo necesiten. Pero la Plataforma Java está pensada para ser independiente del sistema operativo subyacente, por lo que las aplicaciones no pueden apoyarse en funciones dependientes de cada sistema en concreto. Lo que hace la Plataforma Java, es ofrecer un conjunto de bibliotecas estándar, que contiene mucha de las funciones reutilizables disponibles en los sistemas operativos actuales.
Las bibliotecas de Java tienen tres propósitos dentro de la Plataforma Java. Al igual que otras bibliotecas estándar, ofrecen al programador un conjunto bien definido de funciones para realizar tareas comunes, como manejar listas de elementos u operar de forma sofisticada sobre cadenas de caracteres. Además, las bibliotecas proporcionan una interfaz abstracta para tareas que son altamente dependientes del hardware de la plataforma destino y de su sistema operativo. Tareas tales como manejo de las funciones de red o acceso a ficheros, suelen depender fuertemente no. En el caso concreto anterior, las bibliotecas java.net y java.io implementan el código nativo internamente, y ofrecen una interfaz estándar para que aplicaciones Java puedan ejecutar tales funciones. Finalmente, no todas las plataformas soportan todas las funciones que una aplicación Java espera. En estos casos, las bibliotecas bien pueden emular esas funciones usando lo que esté disponible, o bien ofrecer un mecanismo para comprobar si una funcionalidad concreta está presente.
Lenguajes
La palabra Java, por sí misma, se refiere habitualmente al lenguaje de programación Java, que fue diseñado para usar con la Plataforma Java. Los lenguajes de programación se encuentran fuera del ámbito de lo que es una “plataforma”, aunque el lenguaje de programación Java es uno de los componentes fundamentales de la plataforma Java. El propio lenguaje y el entorno en tiempo de ejecución suelen considerarse una única entidad.
Sin embargo, fuera del entorno de Sun se han desarrollado un gran número de compiladores para la máquina virtual de Java (JVM). Algunos de estos lenguajes son:
Plataformas similares
El éxito de Java y el concepto y eslogan «Write once, run anywhere» (‘escribir una vez, ejecutar en cualquier parte’), ha dado lugar a que se lleven a cabo iniciativas en el mismo sentido. El intento más claro es la plataforma .NET de Microsoft, que copia la mayoría de los conceptos e innovaciones de Java; de hecho, tiene una implementación de Java llamada Visual J# (antes conocida como J++).
Referencias
- ↑ https://www.oracle.com/java/technologies/javase/15-0-2-relnotes.html
- ↑ «Building and Strengthening the Java Brand». Java (en inglés). 30 de junio de 2005. Consultado el 23 de enero de 2021. (enlace roto disponible en Internet Archive; véase el historial, la primera versión y la última).
- ↑ «Java SE 6 Documentation». Oracle (en inglés). Consultado el 23 de enero de 2021.