Consultar ensayos de calidad


Java - Primeras aplicaciones, lenguaje Java, primeras applets



1. Java en los Browsers
2. Primeras aplicaciones
3.
Primeras Applets
4.
Conociendo al lenguaje Java

JAVA EN LOS BROWSERS
El primer lugar y el mas frecuente, donde encontramos al lenguaje Java, es en los exploradores o navegadores de Internet.
Veamos cómo llega hasta ahí.
La World Wide Web:


Llamada así por sus siglas WWW, es la aplicación que ha popularizado a Internet, y ha sido la causante de la explosión de la red de redes.
Hablando sencillamente, la WWW basa su existencia en dos aplicaciones: los servidores de Web y los clientes. Los primeros son programas dedicados, instalados en las maquinas nodos de la red, que atienden a todos los pedidos de los clientes. Estos solicitan archivos, recursos de la Web , en general, archivos HTML y graficos. Los archivos HTML son archivos de texto, que contienen una descripción de lo que vemos como pagina en nuestro browser. La sigla HTML significa Hypertext Markup Languaje (lenguaje de marcación de hipertexto), y es el lenguaje que describe las paginas Web.


En esas paginas se colocan textos, graficos y otros recursos. Es trabajo del cliente, nuestro browser, interpretar esa pagina, mostrarla en pantalla, y reclamar todo lo que se necesite para armarla, como los graficos y archivos de sonido que la pueden acompañar.

Java en la Web
Los programas Java son, al fin, otro recurso mas, como pueden serlo una pagina HTML o un archivo grafico. Al igual que estos últimosviajan desde el servidor a la maquina cliente, y se ejecutan en ésta.
Vera, cuando arme alguna applet, que existe una construcción, la marca HTML , que especifica un determinado lugar en una pagina Web, para que el browser posicione y ejecute una aplicación Java. Los archivos Java que viajan son de un tipo: se trata de archivos con extensión .class y contienen las instrucciones Java ya compiladas, no viajan en código fuente. Una applet se compone, como mínimo, de un archivo .class, pero puede requerir mas archivos .class (con mas código para ejecutar), que el browser recupera, o archivos graficos, de sonido u otros, que la propia applet se encarga de recuperar.

Maquinas Virtuales
Se ha mencionado que el lenguaje Java se compila, no pensando en una plataforma o procesador en particular, sino produciendo código (que se denomina bytecodes), destinado a ser interpretado por la llamada maquina virtual Java. Esta maquina no es una única, sino que hay una por cada plataforma y, en realidad, cada browser que implementa Java tiene la suya. Así, el Microsoft Explorer usara su maquina en Windows, mientras que el Netscape Navigator usara la suya, que variara de Windows a UNIX.
Pero todas tienen la misma funcionalidad (o debería esperarse eso). Tanto el usuario como los programadores no deberíamos preocuparnos por las distintas implementaciones. Sin embargo, se escuchan quejas de los desarrolladores, originadas en la pequeñasdiferencias que se encuentran tanto entre una implementación y otra, como en el aspecto de la interface grafica.
Ademas de la maquina virtual, cada browser instala una serie de clases, ya listas para usar, que Java espera tener disponibles en cualquier plataforma. Esas clases tienen una funcionalidad definida, que no debería sufrir modificaciones.

Netscape y Microsoft:
La empresa Netscape, creadora del Netscape Navigator, soporta Java desde la versión 2 de su browser. Microsoft no se ha quedado atras y soporta Java desde la versión 2.0 de su browser. Microsoft no se ha quedado atras (pues no le convenía, dado la mayoría de las paginas contiene - aunque sea - un poquito de Java) y soporta Java desde la versión 3.0 de su Internet Explorer. Ambos browsers instalan y usan su propia maquina virtual Java. No hay diferencias apreciables en las prestaciones de estos dos browsers, respecto de Java.
Hay que hacer algunas aclaraciones: en general, los browsers, de cualquier origen, soportan Java en ambientes que permiten la multitarea y los llamados múltiples hilos de ejecución (multihttrading).
Seguridad
Debido a la naturaleza de Internet, traer programas desde un lugar lejano y no controlado a nuestra computadora, para ejecutarlo, puede ser riesgoso.
Con respecto a las applets Java debemos quedarnos tranquilos: Sun y los constructores de browsers han implementado una política de seguridad, que impide a una applet, porejemplo, leer o escribir en nuestro disco, o interferir con otras aplicaciones en ejecución. Es tan grande la seguridad que, como programadores, nos puede llegar a molestar: en una applet nunca podremos grabar un archivo local, con datos transitorios o de configuración.
Nuevos browsers
Entre Netscape (en múltiples plataformas) y Microsoft (en plataformas Windows) acaparan el mercado de los browsers.
Java sin browsers
Pero no todo es Internet en Java. Este es un lenguaje de uso general, que sólo incidentalmente cobró popularidad en Internet. Podemos desarrollar aplicaciones Java que se ejecuten en nuestra maquina, sin necesidad de estar conectados a la red, y sin el auxilio de browsers. Mientras los programas Java para Internet y paginas HTML se llaman applets, los que pueden ejecutarse fuera de la red se llaman genéricamente aplicaciones.

PRIMERAS APLICACIONES
Creando el programa:
/*
Primera aplicación Java
Compilar con:
javac HolaMundo.java (y se creara un archivo llamado HolaMundo.class)
Ejecutar con:
java HolaMundo
*/
public class HolaMundo
}

Compilando el programa:
javac HolaMundo.java
Ejecutando el programa:
java HolaMundo

Analizando el Código:
Nuestra primera clase:
/* y */: es para hacer comentarios. También sepueden usar dos barras //.
Luego de los comentarios, nos encontramos con la declaración
public class HolaMundo
public static void main(String[] args)
}

Cuenta.html

Compilamos con: javac Cuenta.java = Cuenta.class
Invocamos con: appletviewer Cuenta.html
O con: start Cuenta.html (se ejecuta desde el navegador)Estudiando la applet Cuenta:
Esta applet es muy similar a la applet HolaMundo, pero con una pequeña vuelta de tuerca.
Código
int veces=0;
Se declara una variable (veces) con el valor 0.
public void paint(Graphics g) {
veces=veces+1;
Cada vez que se ejecuta la línea: public void paint(Graphics g) { se le asigna (por el signo =) a la variable veces su valor actual (veces) mas 1.
g.drawString('Este es el paint nro. '+veces );
es la concatenación (unión) de un texto ('Este es el paint nro.') y la variable entera (int) veces. La cual se incrementa cada vez que se ejecuta el método paint (por la línea: public void paint(Graphics g) {).
La variable veces se declara (int veces=0) y se inicializa a 0 (int veces=0). Luego, cada vez que se ejecuta el método paint, se incrementa, y se muestra en la zona de la applet. Si minimizamos la ventana de la applet, o la tapamos parcial o totalmente con otra ventana, o en algunos casos de cambio de tamaño, veremos que el texto va cambiando. Es una forma de ir investigando el comportamiento de la applet, y la frecuencia de la invocación de paint.
Mas sobre las applets
Mas adelante investigaremos cómo colocar elementos en una applet, como cajas de texto editables, listas y botones, entre otros. También aprenderemos a dibujar y a colocar imagenes. Hasta podremos animar las imagenes. Pero antes, se debe se debe aprender lo basico, y estudiar el lenguaje Java, paraluego lanzarse a esos otros terrenos.

CONOCIENDO AL LENGUAJE JAVA
Simplicidad
Ya se ha mencionado que el equipo original que desarrolló Java lo hizo por necesidad, al no cumplir los lenguaje existentes con todo lo que necesitaban para el proyecto en marcha. Pero, como buenos diseñadores, no inventaron todo de nuevo, sino que se basaron en lo ya hecho y probado. Es por esa razón que el código Java se expresa en archivos de texto comunes, y tiene una apariencia muy familiar para los programadores de C/C++ y para los programadores en general. Los fragmentos del lenguaje que se han visto, lo ejemplifican.
Orientación a objetos
A primera vista parece que todos los productos nuevos de software tienen algo 'orientado a objetos'. En el caso de Java, la aplicación de esa calificación es totalmente acertada. De hecho, en Java, todo es un objeto. Se vera que éstos se definen en clases, con atributos y métodos, agrupandose en paquetes, y exponiendo interfaces, permitiendo herencia y polimorfismo, implementando así la tecnología de objetos de una manera muy completa, y a la vez sencilla y agradable. Reconoceremos al estudiar se semantica, que Java es realmente un lenguaje que merece ser llamado 'totalmente orientado a objetos'.
Soporte de múltiples plataformas:
El proceso de compilación no produce código para un procesador en particular, como en los compiladores C/C++, sino que genera código para un procesador ideal,denominado maquina virtual Java (Java Virtual Machine, o Java VM). La razón de esta conducta es simple: la necesidad de poder ejecutarse en cualquier plataforma, sin necesidad de cambiar el código fuente, ni aun de recompilar. Todo programa Java se traduce en una serie de códigos (llamados bytecodes) para un procesador imaginario, al Java VM, que puede ser implementado facilmente en cualquier plataforma poderosa. Es así como el lenguaje y sus aplicaciones se independizan de ña maquina destino, a costa de algo de velocidad, provocada por la necesidad de 'simular' la Java VM, mediante software.
Veremos que aun los tipos primitivos de datos quedan definidos de un solo golpe, para todas las plataformas. Nos evitamos así las pesadillas de portabilidad, conocidas por los programadores de C/C++, al cambiar, por ejemplo, de ambiente a ambiente, el tamaño de los enteros, o el conjunto de caracteres soportados. En Java, esos problemas no existen: sólo existe una maquina virtual.
Manejo automatico de memoria
Ya se ha mencionado, que el lenguaje Java se compone de objetos. Lo que no se ha descripto, es que esos objetos pueden y deben crearse, y tienen una vida que dura hasta su destrucción. Mientras que la creación de los objetos se deja bajo la voluntad del programador, la destrucción definitiva de un objeto ocurre cuando no es mas referenciado por otros objetos del programa. De esta forma, se elimina una de las causas mas comunes deerror en otros lenguajes, como la destrucción por el programador de objetos aun en uso en el programa, o la falta de destrucción de objetos que ya son inútiles, pues no se usan en el resto de la ejecución, pero que molestan con empleo de recursos. Esta técnica de manejo automatico. Esta técnica de manejo automatico de memoria ocupada por los objetos se denominan garbage collection, algo así como recolección de basura. En una aplicación Java hay siempre un proceso, ejecutado como un hilo de ejecución separado, que se ocupa de recorrer la memoria donde se encuentran los objetos, y determinan cuales son pueden liberarse y destruirse. Bye (adiós) punteros y problemas de memoria.
Seguridad
Todo el que ha trabajado en una computadora personal, se ha topado de una u otra forma con los problemas de virus, o de confidencialidad de los datos. Al parecer Internet, y distribuirse programas por toda las red, el problema de la seguridad ha tomado una nueva dimensión, mas grave, ya que actualmente a nuestra maquina pueden llegar aplicaciones hostiles y virus malignos, desde cualquier punto del planeta. Java ha sido adaptado a Internet, pensando mucho en el tema seguridad. Una 'applet' java se ejecuta en un entorno, que impide su intromisión en la maquina cliente. No hay, entonces, posibilidad de un virus Java, viajando por toda la red.
Java no se aísla y evoluciona:
Como Java trata de ser un lenguaje de producción, no un lenguajeacadémico o ideal, o tiene 'miedo' de comunicarse con librerías de otros lenguajes. Tiene capacidades definidas para implementar clases y métodos (o funciones), escritos, por ejemplo, en C/C++. Esto nos permite usar lo que ya esta hecho, en cada plataforma de implementación. Igualmente, recordemos que Java es un lenguaje de uso general, y muchas de las rutinas y librerías que necesitaremos para un proyecto, pueden ser escritas en Java. Debido al éxito del lenguaje, y a su difusión, cada día aparecen nuevas herramientas y paquetes de clases escritas por otros programadores, listas para ser usadas en nuestro próximo sistema.
Programando para el mundo
Cuando Ud. Comience a programar en Java, y en especial para la Web, experimentara una sensación, que hasta la llegada de Java, era difícil de encontrar: el hecho de generar aplicaciones que pueden ser ejecutadas por millones de personas, en ambientes disímiles. Sus programas podran viajar por la red de redes, y ser fruto de satisfacción y diversión. Es un nuevo universo de programación, que apenas comenzamos a explorar.

Bibliografía: 'La interpretación de mi aprendizaje (yo he estudiado el lenguaje Java, y, en base a lo entendido/aprendido escribí lo que ha visto y ha leído)'

Autor
Jairo
jr281089@yahoo.com.ar

Bien, que tenga mucha suerte con el aprendizaje del lenguaje y 'Hasta La Próxima (pienso escribir algo mas de Java, dado que esto no puede quedar aquí)'.


Política de privacidad