Red de conocimiento informático - Aprendizaje de código fuente - ¿Los teléfonos móviles compatibles con Java deben implementar una máquina virtual Java?

¿Los teléfonos móviles compatibles con Java deben implementar una máquina virtual Java?

Qué es Java

La gente se ha acostumbrado a utilizar el término Java para abarcar diversas tecnologías Java. La tecnología Java incluye el lenguaje de programación Java, bibliotecas de clases de soporte y la máquina virtual Java (JVM).

La tecnología Java utiliza el modelo Java para implementar la ejecución de programas Java. Un modelo Java típico utilizará varias capas (también llamadas sustratos). Los programas Java están aislados del hardware por una capa subyacente llamada Máquina Virtual Java. La Figura 1.1 muestra un modelo Java.

Figura 1.1 Modelo Java

Hay muchas razones para la popularidad de Java. En primer lugar, Java es un lenguaje multiplataforma. El elemento clave de la funcionalidad multiplataforma de Java es el método peer, como se muestra en la Figura 1.1. El método peer proporciona una interfaz de programa de aplicación (API).

El objetivo de esta interfaz es proporcionar un mapeo desde interfaces de programación de aplicaciones Java de alto nivel hasta subrutinas del sistema operativo de bajo nivel. El método peer proporciona una forma de implementar la interfaz del sistema operativo portátil.

La biblioteca de interfaz de software del sistema operativo proporciona un entorno de programación que no está disponible en ANSI C, C o FORTRAN. Este entorno proporciona la apariencia de un programa. Por ejemplo, los programadores de C programan en Windows y el entorno de programación es como un entorno de programación de Windows. Es decir, se pueden llamar clases base de Microsoft. Si está programando en UNIX, el entorno de programación es como un entorno UNIX, es decir, debe llamar a la subrutina de la biblioteca X-Window.

Java es único porque puede proporcionar una interfaz de software de sistema operativo portátil. Por ejemplo, escribir un programa en Java que muestre un cuadro de diálogo es lo mismo independientemente del sistema operativo que utilice. Sin embargo, las capacidades portátiles de Java también pueden verse limitadas por el soporte multiplataforma de una biblioteca. En este caso, los programas Java que utilicen bibliotecas no portátiles ya no serán portátiles. Por ejemplo, alguien crea un enlace a una subrutina de biblioteca C dentro de Java. Para que Java sea portátil, estas subrutinas deben estar disponibles en otras plataformas.

Es incorrecto pensar en Java como un lenguaje del tipo "compilar una vez y viajar alrededor del mundo". Java requiere pruebas y, a veces, depuración en todas las plataformas. Es común que los programas que funcionan bien en una plataforma fallen en otra.

Además, otros lenguajes además de Java también pueden aprovechar la tecnología Java. Por ejemplo, es posible implementar un compilador que no sea Java para crear un código de bytes Java que pueda ejecutarse en la máquina virtual Java (JVM).

1.3 Comparación entre el modelo Java y el modelo HTML

Ya sabemos que Java es un lenguaje diseñado para sistemas embebidos. Sin embargo, Java no se ha utilizado ampliamente en sistemas integrados en el pasado. En cambio, se pensó que Java podría usarse para complementar o incluso reemplazar el modelo HTML. Esta sección describirá el modelo HTML y cómo Java puede reemplazarlo.

Podemos encontrar muchos archivos en Internet. La estructura de datos se guarda en el archivo y es necesario decodificarla. No hay límite para la cantidad de archivos de datos diferentes que se pueden generar. Aunque la cantidad de formatos de archivos es calculable, a menudo nadie lo hace y la cantidad crecerá a un ritmo desconocido. Existen pocas herramientas para contar el número de formatos de archivos diferentes y aún menos herramientas para decodificarlos.

La Figura 1.2 describe el modelo Web de distribución de datos. El servidor web transmite la página web al cliente a través del Protocolo de transferencia de hipertexto (HTTP).

Los navegadores utilizan complementos que contienen códigos de formato específicos para decodificar. Los diferentes formatos de archivo requieren diferentes complementos o programas auxiliares para su visualización. Por tanto, los complementos amplían las capacidades del navegador.

Los navegadores que utilizan tecnología Java pueden decodificar mediante algoritmos descargados dinámicamente. Este proceso requiere una forma de ejecutar el programa sobre la marcha. Para aclarar la seguridad, Java establece restricciones funcionales para programas de descarga instantánea. El administrador de seguridad proporciona un control preciso sobre la funcionalidad de los programas Java descargados instantáneamente.

La premisa básica de reemplazar el modelo HTML con el modelo Java es que el programa pueda ejecutarse según sea necesario en diferentes plataformas. Sin embargo, debido a la falta de soporte unificado en Java, el modelo Java no puede reemplazar al modelo HTML. Los obstáculos actuales incluyen el debate sobre la tecnología Java y la propiedad intelectual.

Figura 1.2 Internet

1.4 Resumen

A diferencia de C o C, cuando se programa en Java, el entorno de programación se siente como Java. Además, C no tiene la interfaz de programación de aplicaciones (API) portátil que tiene Java. Si programa en C en Windows, el entorno de programación es como Windows, por lo que debe aprender la API de Windows. De manera similar, si programa en C en un Macintosh, el entorno de programación se verá y funcionará de manera similar a la interfaz Maxintosh.

Basándonos en la discusión anterior, algunas personas piensan que Java del lado del cliente es inmutable y que es imposible que se produzcan cambios en el modelo HTML. Sin embargo, en sólo cinco meses, de marzo a agosto de 2001, se agotaron en Japón más de 6 millones de teléfonos móviles desarrollados con Java. Los proveedores de servicios inalámbricos (NTT DoCoMo, J-Phone y KDDI) ya ofrecen servicios interactivos. Algunos estiman que entre 2001 y 2005 se implementarán más de 700 millones de máquinas virtuales Java en estos nuevos dispositivos. Quizás estas nuevas plataformas con características JVM permitan que Java del lado del cliente sobreviva durante mucho tiempo.