Qué tiempo de vida le queda a Java 7?

Iniciado por NikNitro!, 24 Agosto 2014, 17:41 PM

0 Miembros y 1 Visitante están viendo este tema.

NikNitro!

Buenas gente. Resulta que llevo ya tiempo viendo un libro que me gusta mucho y es muy completo de Java. Lo sacaron en Marzo del año pasado y abarca casi todo lo relacionado con Java 7. Ahora que he pillado dinero me estoy pensando comprarlo pero pienso que puede ser algo inútil si (por poner un ejemplo) dentro de dos meses ya todo rondará sobre Java 8. Por ello quería preguntaros a los expertos...

Saludos;)

l3ad Programmer

#1
Esa es una pregunta que todo el que se inicia en el mundo Java se hace. Aquí hay dos puntos importantes: Java SE y Java EE.

1.- DIFERENCIAS ENTRE JAVA SE Y JAVA EE

Java SE (Standard Edition) es la edición estándard de Java. Es como el núcleo (core) de Java. Ésta edición te provee de un API para construir aplicaciones normalmente de escritorio que no requieran ser de índole empresarial, ya que para éstas tecnologías necesitarás recursos para poder hacer frente a los requisitos empresariales. Aquí viene a tallar Java EE.

Java EE (Enterprise Edition) es la edición empresarial de Java. Está construido sobre Java SE y provee de muchos addons y recursos con los que puedes construir aplicaciones empresariales, esto es a grande escala y con numerosos requisitos.

Ahora hablemos sobre el ciclo de vida. Oracle (actual dueño de Java para bien o para mal), ofrece dos tipos de soporte: Gratuito y Extendido.

El soporte Gratuito pues es eso mismo, un soporte completamente gratuito que Oracle le da a Java. Actualizaciones, Parches de seguridad, etc. Por otro lado, el soporte Extendido es previo contrato con Oracle y la empresa interesada en el soporte tendrá que abonar un monto a la empresa.

CitarJava SE Roadmap
Oracle Extended Support

2.- JAVA EE: SERVIDORES DE APLICACIONES

Cuando desarrollas una aplicación Java EE necesitamos un servidor de aplicaciones. Ésto es un punto clave, ya que sin un servidor de aplicaciones no podremos correr nuestra aplicación.

Existen muchas empreesas que proveen servidores de aplicaciones para Java, como son:

Gratuitos:

  • Apache Tomcat
  • Apache TomEE
  • Apache Geronimo
  • WildFly (propiedad de JBoss/Redhat)
  • GlassFish (Propiedad de Oracle y servidor denominado estándar en Java EE)
  • Jetty
  • etc

    Privados:

  • WebLogic (Oracle)
  • WebSphere
  • etc

    CitarCada servidor implementa un profile de la especificación de Java EE, como es WebProfile (JSP/Servlets/JSF) y algunos un Full Profile(WebProfile + EJB, JAX-WS, JMS, etc). La empresa debe elegir el profile que requiera su proyecto.

    El problema viene a ser que GlassFish que es el servidor predeterminado de Java EE y el primero en contener el Full Profile, no llena las espectativas de algunas empresas. Por ésta razón, las empresas deciden adquirir otro servidor.

    Los creadores de servidores toman su tiempo para implementar cierto profile en su servidor, ya que es una ardua tarea: Implementación, Testing, y un largo etc. Es por ésto, los servidores de aplicaciones no pueden seguirle el ritmo a Oracle.

    Dicho lo anterior, una empresa no puede - aunque quisiese - utilizar la última versión de Java SE/EE porque no hay sevidor para dicha versión. Por ésta razón las empresas siguen utilizando Java 6 EE y Java 7 EE. Por ejemplo, recién algunos servidores están ofreciendo compatibilidad con Java 7 EE.

    Ahora, mi recomendación es que, si vas a desarrollar aplicaciones estándar (Java SE) puedes utilizar sin problemas la última versión. Ésto no aplica a los desarrolladores Java EE. Pero ten presente que Java tiene Backward Compatibility, es decir, compatibilidad hacia atrás. Ésto aplica a que aplicaciones programadas en Java 6 y Java 7 pueden correr en JRE 8, pero no una aplicación Java 8 puede correr en JRE 7 o 6.


    Espero haberme dejado comprender. Un saludo.

NikNitro!

Mmm, creo que tampoco he explicado del todo mi contexto.

Actualmente soy estudiante de ingeniería informática. Llevo un par de años traqueteando Java (no soy nuevo) y me he decidido a comprarme un libro para mis consultas. En un futuro tal vez me dedique a la programación o tal vez no; pero programo a modo de "hobby" o para salir del paso actualmente. Supongo que no me recomendaríais actualmente comprarme un buen libro de Java 6, por eso preguntaba por java7. El libro por el que estoy interesado es Java a Fondo (Creo que no es Spam, en otro caso editádmelo o avisadme :S)

Saludos y gracias ;)

l3ad Programmer

En ese caso puedes adquirir ese libro ya que si luego quieres pasar a Java 8 no vas a tener dificultades ya que todo será muy similar a excepción de lambdas y algunas novedades.