miércoles, 31 de diciembre de 2014

Lo que Java puede hacer posible


Los ejemplos anteriores ilustran sólo algunas de las posibilidades de Java. Algunos de estos ejemplos son "juguetes" de demostración que permiten mostrar las posibilidades de Java. ¿Qué tipo de comunicación puede fomentar Java? El ejemplo del NandO Times muestra una aplicación innovadora
que proporciona información de una manera que le permite a usted sentarse y observar en lugar de seleccionar vínculos de hipertexro.

Java hace accesible un nuevo grado de interactividad y personalización de la interacción para Web. Aún será necesario utilizar las primeras técnicas de desarrollo de Web para la creación y vinculación en las páginas de Web con sabor a Java. Sin embargo, Java crea las posibilidades para que se generen tipos más ricos de contenido. El usuario puede interactuar con una página de Web y cambiar su apariencia junto con el estado de una base de datos utilizando un visualizador que funcione con Java. Por lo tanto, Java cambia profundamente la textura de Web de las siguientes maneras:

  • Java crea lugares para detenerse en los caminos de Web. Una aplicación de Java bien hecha, que tenga una sola página de hipertexto, puede mantener el interés de un usuario durante mucho tiempo. En lugar de observar únicamente texto, sonido, imágenes o videos, una página de Java puede ofrecer un lugar donde jugar, aprender o comunicarse e interactuar con otros de una manera que no se basa necesariamente en ir a otro lugar de Web a través de hipervinculaciones. Si el hipertexto de Web fuera como caminos, las páginas de Java serían los pueblos, las villas y las ciudades en que un usuario se detendría al recorrer esos caminos para hacer algo más que observar o "surfear",
  • Java aumenta el dinamismo y la competitividad de Web. De la misma manera en que la nueva tecnología de visualizadores insta a los programadores de Web a crear todavía más aplicaciones y páginas para explotar estas características, así también la tecnología de Java promete un nuevo desarrollo integral de contenido en Web.
  • Java enriquece la interactividad de Web. La interactividad de Java es mucho más rica, inmediata y transparente que la interactividad que se logra con la programación de acceso. Ésta debe tener aún un papel en las aplicaciones de Web, de la misma manera que el diseño de página y la presentación multimedios todavía lo tienen. Sin embargo, la imeractividad de Java proporciona nuevas opciones para lo que puede suceder en Web. Con Java, las transacciones en Web pueden ser más personalizadas, con retroalimentación inmediata, continua y constante pata el usuario.
  • Java transforma Web en un sistema de distribución de software. El diseño esencial de Java como lenguaje para distribuir contenido ejecutable permite que los programadores creen software de cualquier tipo y lo envíen a los usuarios de los visualizadores Horjava. En lugar de centrarse en la interfaz, el programador de Java se concentra en la interacción deseada y permite que las características interconstruidas de los gráficos se ocupen del resto de la implantación. El resultado es que programas muy simples como aplicaciones de dibujo y de hoja de cálculo pueden crearse rápidamente y distribuirse en todo el mundo.

    El verdadero potencial de Java para transformar Web se encuentra aún en sus etapas iniciales. Las nuevas aplicaciones para el comercio, la distribución de información y la interacción con el usuario todavía esperan la imaginación y la habilidad de futuros desarrolladores de Java.

    martes, 30 de diciembre de 2014

    Ejemplos de las posibilidades de Java 6 de 6



    Aplicaciones y manipuladores

    Además de applets como los mostrados aquí, los programadores en Java también pueden crear aplicaciones, o programas independientes, que no necesitan un visualizador que funcione con Java para ejecutarse. (El propio visualizador HotJava es una aplicación, escrita en Java.) De esta manera, las aplicaciones pueden ser nuevos visualizadores o interfaces que interactúan con otras redes o recursos locales.

    Otro tipo de programa de software disponible con Java es un manipulador. Un manipulador de protocolo permite al programador especificar la manera en que el visualizador de Java interpretará un tipo especial de protocolo. El visualizador HotJava sabe cómo interpretar los protocolos de Internet como HTTP, FTP, Gopher y otros, gracias al código de distribución del visualizador. Pero si se inventan nuevos protocolos, un programador que trabaje con Java puede especificar la manera en que se pueden manejar creando un manipulador de protocolos.

    Otro tipo es un manipulador de contenido. Este traduce una especificación particular para un tipo de archivo basado en MIME (de Multipurpose Internet Mail Extensions; extensiones multipropósitos de correo de Internet). Este manipulador de contedino especificará la manera en que el visualizador HotJava manejará un tipo particular de archivo. Al crear una especificación en un manipulador de contenido, todos los visualizadores que funcionan con Java podrán ver este formato especial.
    Los manipuladores y las aplicaciones que Java hace posibles ofrecen la posibilidad de ampliar de manera espectacular lo que puede buscarse en Web. Los programadores de información ya no se preocuparán más por asegurarse de que sus usuarios tengan el software apropiado para ver un tipo particular de archivo o manejar un nuevo tipo de protocolo. Los manipuladores de protocolo y contenido, al igual que el contenido ejecutable que Java hace posible en forma de applets, pueden distribuirse conforme sea necesario para solicitar visualizadores que funcionen con Java.



    lunes, 29 de diciembre de 2014

    Ejemplos de las posibilidades de Java 5 de 6



    Comunicación

    Los ejemplos anteriores son demostraciones de muchas aplicaciones de información, animación y cálculo de Java. Otra área de aplicación es la comunicación entre la gente. Carl W. Haynes III ha implementado el sistema elemental de conversación basado en Java, que se muestra en la figura 1.11. Este sistema le permite a usted conectarse con esta página de Web y escribir frases que verán quienes estén observando esa página. El textro que usted escribe queda visible para todos aquellos que tengan desplegada la página con visualizadores que funcionen con Java. Esto da por resultado un sistema de conversación de grupo similar al implantado en los sistemas Telnet, Internet Relay Chat o MU*.

    Figura 1.11. Un sistema de conversación basado en Java (Cortesía de Carl Haynes III.)
     
    Por su puesto, la comunicación se da todo el tiempo en casi todas las páginas de Web a través de texto u otros medios. Pero un visualizador que funciona con Java también puede desplegar multimedios. En la figura 1.12 se ilustra un sencillo reloj parlante: usted puede hacer que "diga" la hora actual como respuesta a un clic sobre la pantalla del reloj.

    Figura 1.12. Un reloj parlante (Cortesía de Arthur van Hoff, Sun Microsystems)

    También puede usarse Java para ofrecer soporte a la comunicación masiva de maneras novedosas. el NandO Times es un servicio de noticias basado en Web que ha resultado innovador en la difusión de noticias en Web. Al usar Java, estas agencias de noticias proporcionan ahora un cintillo de encabezados que recorre la portada. El texto que se encuentra bajo el letrero de NandO de la figura 1.13 se desplaza continuamente para mostrar las noticias más importantes del momento en las secciones internacional, nacional, deportiva y política. Las cuatro fotografías que se encuentran bajo las etiquetas de estas secciones también cambian, ofreciendo una "presentación de transparencias" muy efectiva para desplegar nueva información sin que sea necesario que el usuario las seleccione. Esto transforma la menra en que la gente puede observar Web para obtener nueva información.

    Figura 1.13. Sistema de alimentación de encabezados en NandO Times. (Cortesía de NandO Times.)
    De igual manera, la figura 1.14 muestra cómo un sistema de alimentación de información actualizada puede actuar sobre la observación de actividades específicas. En la figura se muestra una prueba de la SportsZone Live Scoreboard de ESPNET, con los resultados actuales de juegos que aún no terminan. Cuando un resultado cambia, se despliega este cambio, de modo que los fanáticos de los deportes pueden mantenerse al tanto de los juegos y los resultados actuales. Al igual que el sistema de alimentación de noticias de NandO Times, este sistema utilizado para los deportes convierte al Web en un sistema de observación además de ser un sistema que permite la interacción.

    Figura 1.14. SportsZone Live Scoreboard de ESPNET (Cortesía de Jonathan Payne, Starwave Corporation.)


     



    domingo, 28 de diciembre de 2014

    Ejemplos de las posibilidades de Java 4 de 6






    Aplicaciones distribuidas
    El osciloscopio que se muestra en la figura 1.9 opera en un visualizador HotJava y le permite al usuario manipular sus parámetros. El resultado es una aplicación parecida a los modelos químicos pero con una retroalimentación continua e independiente del usuario. Una vez que se han fijado los parámetros, el osciloscopio despliega las figuras que muestran la forma de onda de las señales eléctricas. Esta aplicación utiliza animación, interacción, cálculo y despliegue continuo basado en los parámetros del usuario. El resultado es que un usuario ha bajado esencialmente un osciloscopio de manera remota.

    Figura 1.9. Un osciloscopio. (Cortesía de Hugh Anderson.)
     
    De la misma manera en que el usuario puede bajar un osciloscopio, también puede bajar un "equipo" para hacer casi cualquier cosa. En la figura 1.10 se observa un equipo de maquillaje que demuestra las posibilidades de Java. Este equipo le permite al usuario seleccionar un color y un estilo de pincel y luego pintar la cara proporcionada con el equipo. Esta aplicación de pintura muy simple muestra la manera en que el usuario puede construir algo con una página de Java.

    Figura 1.10. Un equipo de maquillaje (Cortesía de George Coates Performance Works.)



    sábado, 27 de diciembre de 2014

    Ejemplos de las posibilidades de Java 3 de 6



    Interactividad y cálculo

    El crucigrama y el juego de Tetris muestran la manera en que la interactividad y la animación pueden funcionar juntos. Los dos applets personalizaron su salida animada basáandose en la entrada del usuario, de moso que ambos llevaron a cabo cálculos. Sin embargo, un ejemplo que muestra esta capacidad de cálculo en términos más concretos se encuentra en la figura 1.8, una hoja de cálculo simple.

    Figura 1.8 Una simple hoja de cálculo (Cortesía de Sami Shaio, Sun Microsystems.)
    Esta hoja de cálculo funciona en gran parte de la misma manera que el crucigrama, pero pone énfasis en el hecho de que las posibilidades de cálculo permiten que el usuario tenga un ambiente para trabajar en lugar de resolver un simple crucigrama. La hoja de cálculo mostrada le permite a usted cambiar el contenido de cualquiera de las 24 celdas (de la A1 a la D6) reemplazando su etiqueta, su valor y su fórmula. Es igual que una auténtica hoja de cálculo, que se parece más a un ambiente en que el usuario puede trabajar que a un juego fijo como el crucigrama. Esta sutil diferencia es profunda: al utilizar Java, un usuario puede obtener un ambiente completo para una interacción de inicio y fin en lugar de un conjunto fijo de opciones para la interacción (convirtiendo la página de Web en un escenario).


    viernes, 26 de diciembre de 2014

    Ejemplos de las posibilidades de Java 2 de 6


    Interacción

    Figura 1.3. Duke el saltarín, la mascota de Java.. (Cortesía de Arthur van Hoff, Sun Microsystems.)

    Mientras que las animaciones mostradas pueden ser imágenes estáticas que se dibujan o se generan, o imágenes animadas que puedan comportarse de acuerdo con un algoritmo preestablecido (como el Duke saltarín de la figura 1.3), la animación también puede hacerse interactiva, de modo que el usuario dé alguna entrada que modifique su apariencia. En la figura 1.5 se muestra una generación tridimensional de modelos químicos. Usando el ratón, usted puede girar estos modelos y verlos desde muchos ángulos.

    Figura 1.5. Modelos químicos tridimensionales manipulables. (Cortesía de Sun Microsystems.)


    Comprobando el código fuente para el applet del gráfico mostrado en la figura 1.4, por supuesto que el código fuente para el modelado químico es más complicado. Sin embargo, los modelos químicos le parecen tridimensionales al usuario, proporcionándole una perspectiva de la naturaleza de la estructura atómica de esos elementos superior a la de cualquier libro.

    Figura 1.4. Un gráfico generado a partir de una fórmula matemática. (Cortesía de Arthur van Hoff, Sun Microsystems.)
    Los modelos químicos de la figura 1.5 responden a los clics del ratón del usuario. Otra variante sobre esta animación puede proporcionarle al usuario una manera de interactuar con una interfaz de modo que introduzca datos y obtenga una retroalimentación.

    El crucigrama de la figura 1.6 es un excelente ejemplo de esto. Esta aplicación funciona igual que un crucigrama impreso, con la excepción de que el usuario introduce sus respuestas por medio del teclado. Al utilizar el ratón para colocar el cursor en cualquier recuadro, aparecen una barra resaltada y, en la parte superior del crucigrama, una ventana de definiciones que muestra la palabra actual que el usuario está adivinando. Las letras correctas se muestran en negro y las incorrectas en rojo.
     
    Figura 1.6. Crucigrama interactivo. (Cortesía de Carl W. Haynes III.)


    En la figura 1.6, la 40 horizontal aparece resaltada y la definición se muestra en la ventana de la parte superior. La letra "K" de la línea 40 horizontal es incorrecta, mientras que las letras de la columna 26 vertical aparecen en rojo (aunque no se distinguen en esta imagen en blanco y negro) para indicar que es una respuesta incorrecta. Esta retroalimentación le ofrece al usuario una ventaja que un crucigrama no puede ofrecer. La aplicación resultante es una excelente demostración de la manera en que Java crea interfaces para la interacción con el usuario y la retroalimentación inmediata.


    Otra variante es la interactividad en tiempo real. En la figura 1.7 se muesta una aplicación interactiva que contiene gráficos movibles que el usuario manipula. Éste es el juego de Tetris, en que usted debe alinear las formas de mosaico que van cayendo, hata llenar por completo el rectángulo. Al usar las teclas designadas para jugar, usted interactua con la interfaz para manejar las formas que caen. Esta implantación de Tetris demuestra las posibilidades para juegos clásicos con que cuenta la tecnología de Java.

    Figura 1.7. Juego de Tetris. (Cortesía de Nathan Williams.)


    jueves, 25 de diciembre de 2014

    Ejemplos de las posibilidades de Java 1 de 6



    Java es un nuevo lenguaje de programación (año 1995), y los programadores ajenos a Sun Microsystems apenas empiezan a explorar sus posibilidades (año 1995). Sin embargo, usted puede ver a Java en acción ahora. En las cinco siguientes publicaciones se muestran ejemplos del tipo básico de actividad que Java puede apoyar, haciendo énfasis en la manera exclusiva en que Java permite la distribución de contenido ejecutable.

    Duke. la mascota de Java.

    Animación

    Las aplicaciones de Java colocan figuras animadas en las páginas de Web. La figura 1.3 muestra la imagen fija de Duke, la mascota de Java, que recorre una página de Web desplegada con el visualizador HotJava. Duke salta por toda la página, recorriendo de manera cíclica un grupo de imágenes gráficas que se despliegan mientras el usuario tiene cargada esta página en el visualizador HotJava.

    Figura 1.3. Duke el saltarín, la mascota de Java.. (Cortesía de Arthur van Hoff, Sun Microsystems.)

    Sin embargo, la animación no se limita a figuras de caricatura. Las páginas pueden tener logotipos animados o texto que se mueve por la pantalla o que brilla en ella. Las animaciones de Java no se limitan a figuras pregeneradas y decorativas, sino que pueden ser gráficos generados a partir de cálculos. La figura 1.4 muestra una forma de onda dibujada a partir de una ecuación matemática.

    Figura 1.4. Un gráfico generado a partir de una fórmula matemática. (Cortesía de Arthur van Hoff, Sun Microsystems.)



    miércoles, 24 de diciembre de 2014

    Posibilidades futuras de Java



    (Las Posibilidades futuras de Java en el año 1995)
    La tecnología de Java puede desplegarse en sistemas incrustados (como en aparatos electrónicos de consumo: dispositivos manuales, teléfonos y videocaseteras). Mitsubishi Electronics viene trabajando para utilizar tecnología Java en estos dispositivos.



    La asociación de Netscape y Sun Microsystems debe llevar la tecnología Java a los visualizadores de Netscape a finales de 1995. Con la amplia base instalada de Netscape, aumentará rápidamente el uso de Java en aplicaciones.



    Sun Microsystems también piensa licenciar su tecnología Java a otros fabricantes de visualizadores para Web. Se espera que crezca el mercado de bibliotecas para Java de objetos y herramientas de otros fabricantes. Las capas de software superpuestas a Java le permitirán a los programadores utilizar herramientas más avanzadas para crear aplicaciones.


    martes, 23 de diciembre de 2014

    Estado actual y línea del tiempo de Java



    Para obtener la información más actualizada sobre las versiones de Java, consulte el sitio de Java de Oracle Corporation en http://www.oracle.com/technetwork/java/index.html

    A continuación se presenta la cronología de Java/HotJava:

    1.     San José, California, 11 de abril de 1995: el presidente de Netscape, Jim Clark, y el presidente del consejo de administración de Sun, Scott McNealy, reafirmaron su relación de trabajo y prometieron más noticias en la SunWorld '95.

    2.     San Francisco, California, 23 de mayo de 1995: en la SunWorld '95, Netscape anunció que licenciaría el lenguaje de programación Java de Sun para su visualizador Netscape Navigator.

    3.      Verano de 1995: Java y HotJava se encuentran en la etapa alfa del proceso. La versión alfa se libera para Sun Solaris 2.3, 2.4 y 2,5 basada en SPARC. La versión alfa también se libera para Windows NT de Microsoft. Versiones en camino para Windows 95 de Microsoft y MacOS 7.5. Hay versiones en camino en proyectos de terceros para otras plataformas y sistemas operativos, incluyendo Windows 3.1, Amiga, NeXT, Silicon Graphics y Linux.

    4.      Verano de 1995: Sun Microsystems patrocina un concurso de programación de applets para animar la creación de applets de excelencia. Los ganadores serían anunciados en la página del HotJava (http://java.sun.com/) el 15 de septiembre de 1995.

    5.     Esperado para el otoño o invierno de 1995: la tecnología Java será integrada en los visualizadores de Netscape (consulte http://home.netscape.com/).




    6.      El 9 de enero del año siguiente, 1996, Sun fundó el grupo empresarial JavaSoft para que se encargase del desarrollo tecnológico.  Dos semanas más tarde la primera versión de Java fue publicada.  

    La promesa inicial de Gosling era Write Once, Run Anywhere (Escríbelo una vez, ejecútalo en cualquier lugar), proporcionando un lenguaje independiente de la plataforma y un entorno de ejecución (la JVM: por sus siglas en inglés Java Virtual Machine: máquina virtual Java) ligero y gratuito para las plataformas más populares de forma que los binarios (bytecode) de las aplicaciones Java pudiesen ejecutarse en cualquier plataforma.

    El entorno de ejecución era relativamente seguro y los principales navegadores web pronto incorporaron la posibilidad de ejecutar applets Java incrustadas en las páginas web.

    Java ha experimentado numerosos cambios desde la versión primigenia, JDK 1.0 (Java Development Kit: software que provee herramientas de desarrollo para la creación de programas en Java), así como un enorme incremento en el número de clases y paquetes que componen la biblioteca estándar.

    JDK 1.0 (23 de enero de 1996) — Primer lanzamiento.


    7.     JDK 1.1 (19 de febrero de 1997) — Principales adiciones incluidas

    • una re estructuración intensiva del modelo de eventos AWT (Abstract Windowing Toolkit)
    • clases internas (inner classes)
    • JavaBeans
    • JDBC (Java Database Connectivity), para la integración de bases de datos
    • RMI (Remote Method Invocation)

    8. J2SE 1.2 (8 de diciembre de 1998) — Nombre clave Playground. Esta y las siguientes versiones fueron recogidas bajo la denominación Java 2 y el nombre "J2SE" (Java 2 Platform, Standard Edition), reemplazó a JDK para distinguir la plataforma base de J2EE (Java 2 Platform, Enterprise Edition) y J2ME (Java 2 Platform, Micro Edition). Otras mejoras añadidas incluían: 

    • la palabra reservada (keyword) strictfp
    • reflexión en la programación
    • la API gráfica ( Swing) fue integrada en las clases básicas
    • la máquina virtual (JVM) de Sun fue equipada con un compilador JIT (Just in Time) por primera vez
    • Java Plug-in
    • Java IDL, una implementación de IDL (Lenguaje de Descripción de Interfaz) para la interoperabilidad con CORBA
    • Colecciones (Collections)

    9. J2SE 1.3 (8 de mayo de 2000) — Nombre clave Kestrel. Los cambios más notables fueron:

    • la inclusión de la máquina virtual de HotSpot JVM (la JVM de HotSpot fue lanzada inicialmente en  abril de 1999, para la JVM de J2SE 1.2)
    • RMI fue cambiado para que se basara en CORBA
    • JavaSound
    • se incluyó el Java Naming and Directory Interface (JNDI) en el paquete de bibliotecas principales (anteriormente disponible como una extensión)
    • Java Platform Debugger Architecture (JPDA)


    10. J2SE 1.4 (6 de febrero de 2002) — Nombre Clave Merlin. Este fue el primer lanzamiento de la plataforma Java desarrollado bajo el Proceso de la Comunidad Java como JSR 59. Los cambios más notables fueron: 

    • Palabra reservada assert (Especificado en JSR 41.)
    • Expresiones regulares modeladas al estilo de las expresiones regulares Perl
    • Encadenación de excepciones Permite a una excepción encapsular la excepción de bajo nivel original.
    • non-blocking NIO (New Input/Output) (Especificado en JSR 51.)
    • Logging API (Specified in JSR 47.)
    • API I/O para la lectura y escritura de imágenes en formatos como JPEG o PNG
    • Parser XML integrado y procesador XSLT (JAXP) (Especificado en JSR 5 y JSR 63.)
    • Seguridad integrada y extensiones criptográficas (JCE, JSSE, JAAS)
    • Java Web Start incluido (El primer lanzamiento ocurrió en marzo de 2001 para J2SE 1.3) (Especificado en JSR 56.)

    11. J2SE 5.0 (30 de septiembre de 2004) — Nombre clave: Tiger. (Originalmente numerado 1.5, esta notación aún es usada internamente.[2]) Desarrollado bajo JSR 176, Tiger añadió un número significativo de nuevas características:

    • Plantillas (genéricos) — provee conversión de tipos (type safety) en tiempo de compilación para colecciones y elimina la necesidad de la mayoría de conversión de tipos (type casting). (Especificado por JSR 14.)
    • Metadatos — también llamados anotaciones, permite a estructuras del lenguaje como las clases o los métodos, ser etiquetados con datos adicionales, que puedan ser procesados posteriormente por utilidades de proceso de metadatos. (Especificado por JSR 175.)
    • Autoboxing/unboxing — Conversiones automáticas entre tipos primitivos (Como los int) y clases de envoltura primitivas (Como Integer). (Especificado por JSR 201.)
    • Enumeraciones — la palabra reservada enum crea una typesafe, lista ordenada de valores (como Dia.LUNES, Dia.MARTESetc.). Anteriormente, esto solo podía ser llevado a cabo por constantes enteras o clases construidas manualmente (enum pattern). (Especificado por JSR 201.)
    • Varargs (número de argumentos variable) — El último parámetro de un método puede ser declarado con el nombre del tipo seguido por tres puntos (e.g. void drawtext(String... lines)). En la llamada al método, puede usarse cualquier número de parámetros de ese tipo, que serán almacenados en un array para pasarlos al método.
    • Bucle for mejorado — La sintaxis para el bucle for se ha extendido con una sintaxis especial para iterar sobre cada miembro de un array o sobre cualquier clase que implemente Iterable, como la clase estándar Collection, de la siguiente forma:

    void displayWidgets (Iterable<Widget> widgets) {
         for (Widget w : widgets) {
             w.display();
         }
     }

    Este ejemplo itera sobre el objeto Iterable widgets, asignando, en orden, cada uno de los elementos a la variable w, y llamando al método display() de cada uno de ellos. (Especificado por JSR 201.)

    En el 2005 se calcula en 4,5 millones el número de desarrolladores y 2.500 millones de dispositivos habilitados con tecnología Java.

    12. Java SE 6 (11 de diciembre de 2006) — Nombre clave Mustang. Estuvo en desarrollo bajo la JSR 270. En esta versión, Sun cambió el nombre "J2SE" por Java SE y eliminó el ".0" del número de versión.[3]. Está disponible en http://java.sun.com/javase/6/. Los cambios más importantes introducidos en esta versión son:

    • Incluye un nuevo marco de trabajo y APIs que hacen posible la combinación de Java con lenguajes dinámicos como PHP, Python, Ruby y JavaScript.
    • Incluye el motor Rhino, de Mozilla, una implementación de Javascript en Java.
    • Incluye un cliente completo de Servicios Web y soporta las últimas especificaciones para Servicios Web, como JAX-WS 2.0, JAXB 2.0, STAX y JAXP.
    • Mejoras en la interfaz gráfica y en el rendimiento.


    13. Java SE 7 — Nombre clave Dolphin. En el año 2006 aún se encontraba en las primeras etapas de planificación. Su lanzamiento fue en julio de 2011.

    • Soporte para XML dentro del propio lenguaje.
    • Un nuevo concepto de superpaquete.
    • Soporte para closures.
    • Introducción de anotaciones estándar para detectar fallos en el software.
    14. No oficiales:

    • NIO2.
    • Java Module System.
    • Java Kernel.
    • Nueva API para el manejo de Días y Fechas, la cual reemplazara las antiguas clases Date y Calendar.
    • Posibilidad de operar con clases BigDecimal usando operandos.

    15. Java SE 8 — lanzada en marzo de 2014. Cabe destacar:

    • Incorpora de forma completa la librería JavaFX.
    • Diferentes mejoras en seguridad.
    • Diferentes mejoras en concurrencia.
    • Añade funcionalidad para programación funcional mediante expresiones Lambda.
    • Mejora la integración de JavaScript.
    • Nuevas API para manejo de fechas y tiempo (date - time).


    lunes, 22 de diciembre de 2014

    Los orígenes de Java y hacia dónde se dirige





    De acuerdo con un artículo de Michael O' Connell, sobre los orígenes de Java, aparecido en la edición del 7 de julio de 1995 de Sun World Online (http://www.sun.com/sunworldonline/swol-07-1995/swol-07-java.html), la invención de Java empezó en la Sun Microsystems de California al mismo tiempo que se gestaba World Wide Web en Suiza en 1991. 

    La meta de este primer equipo de desarrollo, incluyendo al creador de Java, James Gosling, era generar productos electrónicos para el consumidor que pudieran ser sencillos y estar libres de errores. Lo que se necesitaba era una manera de crear un código independiente de la plataforma y, que por lo tanto, permitiera que el software se ejecutara en cualquier CPU (Central Processing Unit, o sea, unidad central de procesamiento).

    Como punto de partida para crear un lenguaje de computación que implantara esta independencia de la plataforma, el equipo de desarrollo se concentró en C++. Sin embargo, el equipo no pudo lograr que C++ hiciera todo lo que querían para crear un sistema que ofreciera apoyo a una red distribuida de dispositivos heterogéneos de comunicación. El equipo abandonó el C++ e ideó un lenguaje llamado Oak (que después se rebautizó como Java). Hacia el otoño de 1992, el equipo había creado un proyecto llamado Star 7 (*7), que era un control remoto personal y manual.


    El equipo de desarrollo fue incorporado como FirstPerson, Inc., pero entonces perdieron un concurso para producir un equipo de televisión de alta calidad para Time-Warner. A mediados de 1994, el crecimiento de la popularidad de Web atrajo la atención del equipo. Decidieron que podían construir un excelente visualizador mediante la tecnología Java. Con el objeto de llevar al Web su sistema de programación en tiempo real e independiente del CPU, construyeron un visualizador de Web.

    Ese visualizador, llamado WebRunner, se programó utilizando Java y se completó a principios del otoño de 1994. Los ejecutivos de Sun Microsystems quedaron impresionados y vieron las posibilidades tecnológicas y comerciales que podían derivarse del nuevo visualizador: herramientas, servidores y ambientes de desarrollo.

    El 23 de mayo de 1995, Sun Microsystems, Inc. presentó formalmente a Java y HotJava en la SunWorld '95 de San Francisco. 

    HotJava 3.0 under Windows XP.



    domingo, 21 de diciembre de 2014

    De qué manera Java cambia a Web


    Java modifica profundamente Web porque ofrece la posibilidad de utilizar un tesoro de interactividad y distribución de información que no era posible con los anteriores sistemas de software de Web.
    En la figura 1.2 se muestra la diferencia técnica entre la interactividad de Java y la selectividad de hipertexto y la programación de acceso. La figura muestra cómo la programación gateway permitía el cálculo y la respuesta, pero no en tiempo real. 




    Figura 1.2. La interactividad de Java se basa en el contenido ejecutable que baja el usuario de la computadora.

    sábado, 20 de diciembre de 2014

    El hogar de Java


    Sun Microsystems, los desarrolladores de Java, proporcionan una colección de información sobre Java en el sitio de Web http://java.sun.com. Este sitio incluye mucha información reciente sobre Java y los visualizadores que funcionan con Java. Los enlaces de este sitio lo llevan a obtener anuncios detallados, información liberada, documentación y vínculos con demostraciones Java.

    En la actualildad (año 2014):
    Sun Microsystems fue una empresa informática que se dedicaba a vender estaciones de trabajo, servidores, componentes informáticos, software (sistemas operativos) y servicios informáticos. Fue adquirida en el año 2009 por Oracle Corporation, anteriormente parte de Silicon Valley, fabricante de semiconductores y software. Su sitio de Web actualmentehttp://www.oracle.com/technetwork/java/index.html


    viernes, 19 de diciembre de 2014

    ¿Qué es Java?


    El nombre de Java se refiere al lenguaje de programación inventado por Sun Microsystems que se utiliza para crear contenido ejecutable que puede distribuirse a través de redes. Usado de manera genérica, el nombre Java se refiere a un grupo de herramientas de software que permite crear e implantar contenido ejecutable utilizando el lenguaje de programación Java. Una herramienta de software clave es el visualizador especial que puede interpretar el código generado por Java. El visualizador, llamado HotJava, fue desarrollado para mostrar las posibilidades del lenguaje de programación Java.

    HotJava tiene las mismas características que casi todos los visualizadores de Web, pero además es capaz de interpretar y desplegar el contenido ejecutable de Java. Así que, mientras HotJava puede desplegar cualquier página de Web, un visualizador que no reconozca el lenguaje Java no puede desplegar los ejecutalbes elaborados con este lenguaje. Por lo tanto, el visualizador HotJava "ve Web y, además, las aplicaciones escritas con Java. Se espera que las posibilidades de Java se integren en futuras versiones de otros visualizadores de Web.

    El lenguaje de programación Java fue originalmente desarrollado por James Gosling de Sun Microsystems (la cual fue adquirida por la compañía Oracle en el año 2009) y publicado en 1995 como un componente fundamental de la plataforma Java de Sun Microsystems.

    jueves, 18 de diciembre de 2014

    Una metáfora para Java


    Una metáfora para el hipertexto es que ofrece una página visualmente estática de información (que puede incluir texto, gráficos, sonido y video). La página de hipertexto también puede tener "profundidad" cuando cuenta con hipervínculos que lo conectan con otros documentos o recursos.



    Java transforma esta metáfora de la página estática en un más dinámica. La información de la página de Java en Web no tiene que ser estática visualmente ni limitarse a un conjunto predeterminado de maneras de interactuar con los usuarios. El encuentro de los usuarios con los programas de Java puede darse en una gran variedad de conductas interactivas, limitadas sólo por la imaginación o la habilidad del programador. 



    Por lo tanto, Java transforma una página de hipertexto en un escenario, con la posibilidad de que aparezcan actores y se sucedan cosas. Y en lugar de que el usuario permanezca entre el auditorio, usted, como usuario de un visualizador de Web que funcione con Java, será parte activa del escenario. Con Java, usted puede participar cambiando lo que sucede y reaccionando ante esto, lo que lo relaciona de manera más activa en el modelado del contenido de la información distribuida en Web.
    Por lo tanto, Java le da vida a las páginas de Web a través de la animación y a un grado más alto de interacción del que es posible a través de la sola programación gateway.

    miércoles, 17 de diciembre de 2014

    ¿Qué puede hacer Java?



    Java anima las páginas de Web y hace posible la elaboración de aplicaciones interactivas y especializadas. En la figura 1.1 se ilustra la manera en que el software que se utiliza con Web puede ofrecer soporte a diferentes comunicaciones. Con el hipertexto, parte básica de la organización de la información, usted puede seleccionar qué tipo de información desea ver. Los programadores pueden crear tipos especiales de programas de acceso que utilicen como interfaces estos archivos de hipertexto. Cuando usted utiliza una página de Web con un programa de acceso asociado, puede acceder a bases de datos o recibir respuestas personalizadas con base en una pregunta. Pero el contenido ejecutable de Java proporciona la oportunidad que una página de hipertexto lo relacione a usted con una interacción continua, compleja y en tiempo real. Este contenido ejecutable se baja literalmente a su computadora para que pueda ejecutar una animación, llevar a cabo un cálculo o guiarlo por medio de información adicional a sitios remotos de la red.

    Figura 1.1
    El software de Web ofrece apoyo a la selectividad, el despliegue, el cálculo y la interactividad.



    martes, 16 de diciembre de 2014

    Java hace posible la elaboración de contenido ejecutable



    World Wide Web ha transformado el mundo en línea. Sin restringirse ya únicamente a los sistemas de información con sólo texto, los usuarios de Web tienen una gran cantidad de opciones para seleccionar y observar información. El sistema de hipertexto de Web le ofrece a los usuarios un importante grado de selectividad, y la hipermedia abre muchas opciones para los nuevos tipos de entradas sensitivas que un usuario puede recibir. Con el uso de Web, usted puede tener acceso a información, gráficos, texto e incluso videos. Sin embargo, Web carece de una verdadera interactividad (una interacción en tiempo real, dinámica y visual entre el usuario y la aplicación).

    Java le proporciona la interactividad faltante a Web. Con un visualizador de Web que funciona con Java, usted puede localizar animaciones y aplicaciones interactivas. Los programadores de Java pueden elaborar formatos personalizados multimedia y protocolos de información que pueden desplegarse en cualquier visualizador que funcione con Java. Las características de Java enriquecen la comunicación, la información y la interacción en Web al permitir que los usuarios distribuyan contenido ejecutable, en lugar de limitarse a páginas HTML y archivos de multimedia. En esta distribución de contenidos ejecutables se encuentra la fuerza de Java.



    Creado a partir de los trabajos de Sun Microsystems para construir un lenguaje de programación que creara software capaz de ejecutarse en diferentes tipos de dispositivos, Java evolucionó hasta convertirse en un lenguaje para distribuir contenido ejecutable a través de Web. Hoy en día Java proporciona un nuevo interés a las páginas de Web a través de aplicaciones que pueden ofrecerle al usuario retroalimentación inmediata y que acepta las entradas del usuario de manera continua a través del ratón o el teclado.

    lunes, 15 de diciembre de 2014

    Cómo comprender las posibilidades de Java y Web



    Pizza Hut llamó mucho la atención con un experimento que llevó a cabo en octubre de 1994 para repartir su producto a través de Web. Mediante una interfaz similar a una forma de pedido, el sitio de Pizza Hut en Web (http://www.pizzahut.com/)podía aceptar pedidos de pizzas. Los usuarios de Web hambrientos ordenaron pizzas de esta manera en la reducida área geográfica donde Web ofrecía el servicio (Santa Cruz, California) y sólo por un tiempo limitado. Sin embargo, la posibilidad de enviar un pedido personal a través de la página de Web se vio como un avance importante, y el innovador experimento de Pizza Hut le proporcionó a la compañía mucha publicidad.



    Los sueños de ordenar pizza muestran el estado de Web en la época anterior a Java. Las interfaces por medio de formas (como la mostrada en la figura P1. 1.) pueden aceptar entradas de los usuarios y después esta información se envía para su procesamiento al programa servidor de Web. Esto le ofrece al usuario una manera de proporcionar entradas en lugar de limitarse a seleccionar y observar la información.

    Pero las casillas de verificación para llenado y las técnicas de programación que se encuentran detrás de su procesamiento sólo han apuntado en dirección de la interactividad. Con formas como éstas, el usuario todavía recibe respuestas que no se dan en tiempo real a su entrada de información.

    El despliegue de la información también es estático: como el usuario debe usar el ratón para hacer clic en algo y obtener una respuesta, éste sigue manejando la comunicación; como consecuencia, hay pocas sorpresas.

     Figura P1. 1.
    Ejemplo de forma interactiva en Web

    Java cambia este modelo estático de la comunicación en Web y añade la dimensión de la interactividad y la animación. Mientras que el hipertexto de Web todavía sirve como mecanismo de intercambio para atraer gente a un sitio, Java puede ofrecer a los usuarios una manera de hacer algo en este sitio: interactuar con el contenido, sorprender con una animación, o trabajar con la información de una manera creativa. La clave de las posibilidades de Java es el contenido ejecutable.
    El lenguaje Java se diseñó específicamente para distribuir contenido ejecutable además de proporcionar flexibilidad y ser extensible.

    domingo, 14 de diciembre de 2014

    ¿Por qué Java?



    Java es sólo una parte del conjunto integrado de sistemas que brinda soporte a la comunicación en World Wide Web. Java es un lenguaje de programación completamente distinto del esquema de marcado para definición de hipertexto, el HTML (de Hypertext Markup Language; Lenguaje de Marcado de Hipertexto). Java no reemplaza al HTML, ni niega todo el trabajo que hasta ahora se ha desarrollado o desplegado en Web.

    Java se conecta con el HTML y Web a través de una etiqueta del HTML llamada APP, que le permite a los programadores incluir programas especiales de Java llamados applets en las paginas Web. Estos applets básicamente son programas de software que el visualizador del usuario baja (automáticamente, como parte de la página de observación de Web) y ejecuta. Como se permiten la entrada y la salida gráficas a través del applet en la página, Java abra ventana hacia niveles más ricos de interactividad en Web.