Historia no oficial de Java
La historia nos enseña quién es quién y nos da información valiosa para elecciones correctas en el presente.
Desde principios de los noventas, SUN Microsystems trabaja en un lenguaje para la programación de electrodomésticos. Por sus características el lenguaje se presentaba ideal para su uso en internet. En 1995, SUN lanza Java gratuito para las principales plataformas, con la idea de convertirlo en el lenguaje estándar de internet.
Java del lado del cliente
En su versión 2, Netscape Navigator, introduce una máquina virtual de Java dando soporte a los applets Java. Además, renombra sus scripts de cliente, como Javascript. Esto promete revolucionar la programación del lado del cliente.
Los Applet Java son programas embebidos en las páginas web que se descargan automáticamente, sin necesidad de una instalación explícita. Inconvenientes con la tecnología Applet, sumado a una agresiva política de Microsoft por ganar el mercado de internet, minimizan el impacto de Java del lado del cliente en internet. En entornos de redes privadas y productos de control, los Applets tienen cierto éxito.
Microsoft lanza ActiveX, que sólo funciona en windows, para competir con la tecnología de Applets Java. El éxito de ActiveX es limitado por razones similares a los applets: son pesados, problemas de seguridad, etc.
Javascript, Flash, AJAX y HTML 5
En 1996, Macromedia lanza la tecnología Flash que ocupa el espacio dejado por Java y ActiveX, convirtiéndose en el estándar de facto para la animación del lado del cliente.
El uso de Javascript se había extendido ampliamente para pequeñas funcionalidades en las páginas web. En 2004-2005, Google con Gmail y Google Maps populariza una nueva técnica de programación en Javascript llamada AJAX.
AJAX se caracteriza por no cambiar de página al comunicarse con el servidor. Esto hace ver a la página como un programa de escritorio.
En 2005, Adobe Systems compra Macromedia. AJAX compite con flash por el dominio del lado del cliente.
En 2006, Google lanza GWT que permite programar en Java y genera Javascript AJAX.
En 2009, W3C inicia un grupo de trabajo -HTML5-, para estandarizar el almacenamiento del lado del cliente, las capacidades gráficas por hardware y otras capacidades que potencian AJAX.
En 2011, Adobe retira el soporte a flash en móviles y se compromete a colaborar con HTML5.
HTML5/AJAX gana la guerra por dominar la programación del lado del cliente.
Google GWT
La empresa Google desarrolla activamente usando AJAX. Debido a características de lenguaje Javascript, la programación es propensa a generar errores en proyectos grandes.
Una solución a este problema es GWT. GWT permite programar en Java (con ciertas limitaciones) y compilar generando como resultado Javascript/AJAX/HTML5.
Además, GWT permite reutilizar código Java preexistente y permite usar Eclipse para depurar.
Java del lado del servidor
En 1999 Apache Software Foundation (ASF) lanza Tomcat. Tomcat es un servidor web de código abierto basado en Java que implementa el API Servlet. El éxito de Tomcat convierte a Java en un estándar del lado del servidor.
Las grandes compañías, universidades y gobiernos usan Java para desarrollar aplicaciones Web. El 95% de las ofertas laborales de Java son para desarrollar aplicaciones Web.
Java Empresarial - J2EE Java Enterprise Edition
La Java Community, un grupo de empresas interesadas en Java, definen estándares para el desarrollo de Java para empresas. Esta comunidad está marcada por el gran desacierto en la especificación de los Enterprise JavaBean EJB 1 y 2. Muchos sospechan que debido a intereses empresariales.
Rod Johnson, un programador veterano escribió un libro explicando una alternativa simple y elegante a los EJB dejando en evidencia lo inadecuado de esta tecnología. Esta solución se convirtió en un estándar de facto de la industria llamado Spring Framework. Las especificaciones posteriores de EJB, usan las técnicas de Spring Framework.
Oracle compró a SUN
La empresa Oracle Corporation compró SUN en 2009–2010 intranquilizando a la comunidad open source. Esta intranquilidad se vió explicada cuando Oracle demandó a Google por detalles en el uso de Java en su sistema operativo Android. Oracle perdió el juicio.
Eclipse
En 2004 se crea Eclipse Foundation y se lanza la primera versión del IDE Eclipse. Eclipse es un entorno de desarrollo de código abierto. Esta diseñado para ampliar su funcionalidad usando extensiones (plugins). Es el IDE más usado para el desarrollo Java.
Google Android
En 2008 se lanza HTC Dream, el primer dispositivo con android como sistema operativo. Para septiembre de 2013 un billón de dispositivos Android fueron activados.
Android es de código abierto y basado en estándares. Android esta basado en Linux y Java. Inicialmente focalizado a teléfonos inteligentes su uso se ha extendido a tabletas, televisores inteligentes y a más dispositivos.
Aunque las aplicaciones Android son escritas en Java, son compiladas a un código diferente para correr en una máquina virtual especializada que minimiza el consumo de recursos de los dispositivos.