Oracle Java 8 no es una versión más, es innovación y productividad

3 Abr 2014 en Software

Oracle liberó la versión 8 de Java el pasado 25 de marzo. La versión ya se encuentra en disponibilidad general y, para muchos analistas, representa el cambio más importante desde su aparición. Entre sus nuevas características encontramos el soporte como estándar Java al paradigma de programación funcional lambda. Relacionada con las expresiones lambda (un bloque de código que el desarrollador puede disponer para su posterior ejecución), tenemos a la nueva API Stream (para colección de clases), la que utiliza lambda. Además, en esta versión encontraremos a las variantes Java Standard Edition y Micro Edition ya sincronizadas.

Según Michael Azoff, analista especializado de Ovum Research, autor de este informe, Java comienza a posicionarse como la plataforma para IoT (Internet of Things, Internet de las Cosas). La gente de Ovum está convencida de que este release inyecta nueva vida a la plataforma como una de las principales opciones en el desarrollo de nivel empresarial.

Antes de hacer el upgrade, esperar un poco

El dispositivo que conocemos y que actualiza automáticamente las versiones de Java, no comenzará a actuar para pasar a versión 8 hasta muy avanzado 2014. Los especialistas de Ovum consideran que en numerosas organizaciones los usuarios demorarán el upgrade a versión 8 según la disponibilidad de frameworks, libreríaas y servidores de aplicaciones de terceras partes, ya que éstas deberán haber completado su propio upgrade a versión 8.

El costo real de un upgrade de esta importancia puede ser elevado debido a la necesidad de certificación y pruebas internas que midan cualquier tipo de impacto del cambio en las aplicaciones de software. En Ovum estiman que las compañías de software que desarrollan aplicaciones con Java serán las primeras en adoptar la nueva versión. Además, también es posible que ya hayan estado trabajando con releases preliminares antes de la disponibilidad general (GA por General Availability).

Las nuevas clases de colección de Stream, capaces de operar filtros tipo MapReduce de cálculos y están construidas sobre expresiones lambda, permitirán que la ejecución de streams se realice en forma paralela, explotando así las más recientes generaciones de CPUs multi-core o multi-núcleo, además de las GPUs (Graphical Processing Units). Siguiendo el hilo del informe de Ovum, se espera que la plataforma Java, que incluye a una variedad de otros lenguajes soportados en JVM (Java Virtual Machine) seguirá siendo una de las mejores opciones para el desarrollo de aplicaciones empresariales.

Java 8 trae mucho, pero habrá más

La idea que planteó Oracle hace dos años fue la de realizar esta importantísima revisión de Java mediante dos versiones. En lo que sería la versión 9, se ha planeado una reforma arquitectónica clave, conocida como Project Jigsaw y que consiste en la modularización de la plataforma Java. Pero siguiendo con lo que expresa Azoff, ya tenemos a Java 8 con Compact Profiles, que es un dispositivo temporario capaz de reducir el footprint o “peso” de Java para los desarrolladores antes de que la modularidad esté disponible. Cada uno de los sucesivos perfiles es un superconjunto de su predecesor, comenzando con compact1, donde Java 8 Standard Edition (SE) es un superconjunto de compact3. El nuevo release incluye a jdeps, una herramienta que analiza las aplicaciones para identificar cuál es el perfil más pequeño que se puede utilizar. Una característica relacionada es Stripped Implementation, que remueve las clases que no se utilizan. Esta última característica aparecerá luego de la versión GA de Java 8, pero antes de que llegue la versión 9, de forma que Java Community Process tenga más tiempo para ir manejando los temas relacionados con licenciamientos.

Durante las liberaciones de versión 8 en sus estados beta, se contó con soporte de IDEs Java Eclipse, IntelliJ y NetBeans, de modo que los desarrolladores pueden comenzar a usar Java 8 muy pronto.

La razón por la que Java 8 llega recién en 2014 está en temas de seguridad. La versión GA de Java 8 llega con algunos bugs que, según Oracle, no son significativos. La comunidad cree que la compañía está siendo transparente al respecto.

Java 9 completará esta trascendente revisión de la plataforma, pero Java 8 ya tiene bastantes e importantes cambios como para que los desarrolladores los aprovechen en los próximos años. El ir distribuyendo los cambios en las diferentes ediciones permite que los ingenieros de Oracle trabajen con el tiempo necesario como para hacer un buen trabajo.

La sincronización SE y ME

Esta sincronización hace que se puedan equiparar las funciones de estas ediciones en el terreno de las aplicaciones embebidas que hoy operan en cuatro ediciones y que, con el correr del tiempo, se han convertido en compartimientos estancos que utilizan diferentes APIs. Java 8 ofrece APIs en común para SE y ME con portabilidad y herramientas comunes. Los profiles compact de SE eliminan completamente la necesidad de ME Connected Limited Device Configuration. Esto facilita la tarea de los desarrolladores en el terreno de lo embebido, donde Oracle quiere posicionar a Java 8 como runtime embebible en aplicaciones IoT.