CREAR UNA PÁGINA WEB.

LOS APPLETS EN DOCUMENTOS HTML.

Los documentos html son archivos de texto que se ejecutan en los llamados navegadores, tales como el Explorer de Windows, Netscape y otros. Desde su ordenador, funcionan como archivos ejecutables porque se abre automáticamente el navegador y presenta los contenidos programados en el documento. Desde Internet, cada vez que accede a una dirección web, está cargando documentos de este tipo. El lenguaje html es sencillo comparado con otros lenguajes de programación pero sus prestaciones son mucho más limitadas. Sin embargo, desde un documento html se pueden arrancar aplicaciones creadas con otros lenguajes de programación. Al respecto, el recurso que aporta Java son los applets. Solo tiene que introducir "applet" en un buscador y aceptar para darse cuenta de la presencia de estas aplicaciones en internet.

El problema fundamental es que programar un applet es complejo porque se necesita un cierto conocimiento del lenguaje Java. En internet se encuentra gran número de applets para múltiples tareas, tales como botones, efectos con imágenes, animación y otros, que pueden personalizarse en cierto grado mediante parámetros, pero no dejan de ser aplicaciones limitadas. En AutoJava, cualquier aplicación puede convertirse en un applet e integrarlo en un documento html básico con solo pulsar la opción correspondiente en la pestaña "Archivo", apartado "Aplicación". Si lo que necesita puede programarlo con AutoJava, no será necesario conocer el html ni otros sistemas de programación. La principal desventaja frente al html es el tiempo de carga que necesitan las aplicaciones, que aunque es pequeño, los usuarios solemos renunciar a ver los documentos que tardan en aparecer unos pocos segundos. Este problema también se ha tenido en cuenta...

CREAR EL APPLET Y EJECUTARLO.

En el tema 2 Revisión del programa apartado "QUÉ ES UNA APLICACIÓN" encontrará información para ejecutar las aplicaciones como programas, como applets y como componentes, así como los archivos que son necesarios en cada caso.

ABRIR UNA PÁGINA WEB DESDE UN APPLET O DESDE UN PROGRAMA.

Al construir una aplicación es posible programar la apertura de una página web, que puede ser propia o ajena. Para programar la apertura existe una opción de control con la que se define la ruta de búsqueda y otra con la que se abre la página definida (vease en el tema 7: Control de contenidos.).

La ruta de una página web puede ser absoluta (fuera de nuestro equipo) como http://es.yahoo.com o dentro de nuestro equipo como file:/C:/mispaginas/primera.html (nótese que cambia el protocolo http por file pero en ambos casos las barras separadoras tienen la misma orientación).

La ruta también puede ser relativa como ./ayuda/tema3.html. En este caso, el sistema sustituye el punto por la ruta del documento html desde el cuál se carga. Por ejemplo, si la página principal es http://es.geocities.com/miespacio/index.html, entonces la ruta base será http://es.geocities.com/miespacio/ y la ruta indicada antes será interpretada como http://es.geocities.com/miespacio/ayuda/tema3.html

En programas, no es un documento html el que abre otra página web, sino el propio programa, por lo tanto, no existe una ruta base como en el caso anterior. AutoJava considera entonces como ruta base el directorio del proyecto que contiene la aplicación. Por ejemplo C:\AutoJava\Proyectos\miproyecto\aplicacion5\aplicacion5.apl sería una aplicación, entonces la ruta base será file:/C:/AutoJava/Proyectos/miproyecto/ (nótese que las barras tienen otra orientación porque el explorador lo espera de esta forma y va precedido por file:/ para indicar que será un recurso de nuestro equipo). La ruta relativa del párrafo anterior se interpreta entonces como file:/C:/AutoJava/Proyectos/miproyecto/ayuda/tema3.html Lógicamente, si la página web a cargar se creó con otra aplicación en el mismo proyecto (directorio), la ruta base ha de ser la del proyecto porque los documentos html se colocan precisamente ahí al crear el applet.

Si se ha programado abrir una página web con ruta relativa, también funcionará como se indica en el párrafo anterior y si cargamos la página en un servidor de internet funcionará igualmente, cambiando el protocolo file:/ por http:/ (esto se cambia automáticamente). En el caso de cargarlo en un servidor, si se van a llamar páginas propias de nuestro espacio, será necesario utilizar rutas relativas, de modo que todas las aplicaciones con las que crearemos las páginas deberán estar en el mismo proyecto o colocarlas dentro del proyecto manualmente. Lógicamente, dentro de un proyecto se podrán crear jerarquías o niveles (proyectos que están dentro de otros).

Para abrir una página propia es aconsejable que se encuentre en el mismo proyecto, de esta forma se puede abrir con una ruta relativa y funcionará igualmente al ejecutarlo en internet o al probarlo en nuestro ordenador. Es aún más sencillo si el documento que queremos abrir se encuentra en la misma ruta que el actual, lo cual será cierto cuando las dos aplicaciones se crean en el mismo directorio. Por ejemplo, si queremos abrir "aplicacion2.html", creado con otra aplicación en el mismo directorio, el código a programar será el de la siguiente imagen (siempre que la apertura se haga con un botón):

Si la aplicación que abre una página web se ejecuta como programa, es necesario abrir antes el navegador, ya que es el soporte de este tipo de contenido. Sin embargo, el navegador puede ser distinto dependiendo del sistema que tengamos instalado en el ordenador. En AutoJva solo se ha previsto abrir páginas web mediante el Explorer de Windows, de forma que en otros sistemas no funcionará. Si la aplicación que abre una página web es un applet, funcionará en cualquier sistema porque el navegador ya estará abierto, independientemente de cuál sea el sistema.

Nótese que no es lo mismo abrir el documento aplicacion2.html (figura anterior) que ejecutar aplicacion2 (siguiente figura). Al ejecutar una aplicación desde un applet, dicha aplicación pasa a ocupar el espacio actual del applet. La ventaja es que el archivo de clases, necesario para ejecutar el applet, ya estará cargado y nos ahorramos su tiempo de carga (los datos de la nueva aplicación sí se cargarán de todas formas). Puesto que no es necesario el archivo de clases de la aplicación 2 según el ejemplo, podemos acceder al directorio de la aplicación 2 y borrar "clases.zip" o "clases10.zip" (según la versión del applet). Nótese también que el espacio ocupado por un applet no se puede modificar, por lo tanto, si ejecutamos otra aplicación desde un applet, el espacio de la nueva aplicación seguirá siendo el mismo. Esto obliga a planificar ambas aplicaciones con igual tamaño, o bien con un tamaño mayor para la aplicación principal. Si la aplicación no se ejecuta como applet sino como programa, el efecto de ejecutar otra aplicación es diferente, ya que la nueva aplicación se abrirá en su propia ventana.

Si tiene previsto poner contenidos en internet, debe tener la precaución de no poner letras mayúsculas en los nombres de archivos porque algunos navegadores no lo cargarían. Por lo tanto, cada vez que comience nueva aplicación téngalo en cuenta al definir el nombre. Cuando añada una imagen o un archivo de sonido en una aplicación que pondrá en Internet, asegúrese de que está todo en minúsculas y si no es así, cambie el nombre al archivo antes de añadirlo en la aplicación. Cuando defina el nombre de un archivo dentro de un programa, escríbalo también con minúsculas...

CÓMO EDITAR UN ARCHIVO HTML.

Existen programas que facilitan la edición en html. Básicamente se parecen a un procesador de textos pero los contenidos que escribimos o pegamos se integran automáticamente en el código html del documento final. Uno de estos programas es el Front Page de Microsoft. De todas formas, a continuación se describe cómo configurar opciones básicas editanto el archivo html con un simple procesador de texto sin formato como pueda ser el bloc de notas de windows.

El documento html que se genera al crear un applet es como el que se muestra a continuación, donde el contenido en negrita corresponde a la información que se pide en el momento de crearlo. Si lo desea, puede editar el documento con un editor de texto sin formato (como el bloc de notas de Windows) para modificar algún contenido. Puede añadir contenido antes de la etiqueta <APPLET> y después de la etiqueta </APPLET>, siempre dentro del cuerpo del documento encerrado por las etiquetas <BODY> y </BODY>. En la esquina superior derecha se han añadido algunas etiquetas que permiten dar formato al texto que inserte como el color, cambiar de linea, terminar párrafo, subrrayar, tamaño de letra y centrado. Por ejemplo, escriba <U> delante del texto que quiera subrayar y </U> donde deba terminar el subrayado. Definir el color para el texto es un poco más complejo: Se representa por 6 cifras en el sistema hexadecimal de forma que las dos primeras corresponden al nivel de rojo, las dos siguientes al nivel de verde y las dos últimas al nivel de azul. Cada nivel de color puede variar entre 00 y FF, que en decimal corresponde a 0 y 255 respectivamente, así, el color 0000FF corresponde al azul puro.

No se ha previsto un centrado automático del cuadro en que se verá el applet. Para hacerlo, debe poner la etiqueta <CENTER> antes de <APPLET y </CENTER> después de </APPLET>. Si desea poner un determinado color de fondo en el documento, añada el color en la etiqueta <BODY>, por ejemplo, el fondo será verde si cambia <BODY> por <BODY bgcolor="00FF00">. En la etiqueta <BODY> también se puede definir una imagen que se repetirá hasta cubrir todo el fondo como un embaldosado, por ejemplo <BODY background="./imagenes/fondomadera.jpg">. En este último caso deberá existir un directorio llamado "imagenes" en la misma ruta que el documento html y el archivo "fondomadera.jpg" en dicho directorio.

CÓMO PONER VARIOS APPLETS EN UN SOLO DOCUMENTO.

El código en html que ejecuta un applet comienza con la etiqueta <APPLET y finaliza con </APPLET>. Si en lugar de un solo applet en cada documento desea poner varios, bastará con copiar el código de uno de ellos y pegarlo en el otro documento. Esto funcionará si los dos archivos html se encuentran en la misma ruta (creando las aplicaciones en el mismo directorio estará garantizado), en caso contrario es necesario tener en cuenta los parámetros que hay entre las etiquetas del applet.

La siguiente imagen muestra en color azul los archivos necesarios para ejecutar una aplicación (llamada aplicacionA) como applet en la versión 1.0 y el código que lo ejecuta en el documento aplicacionA.html, tal como quedaría al crear el applet. Se resaltan los parámetros que intervienen en la localización de archivos de forma que el applet los pueda encontrar.

En la siguiente imagen se detallan los cambios necesarios para trasladar el applet a otro directorio cualquiera y una forma de ejecutar todos los applets con un solo archivo de clases "clases10.zip", que será común a todos los applets del documento. Puesto que este archivo ocupa 121 K, el ahorro de espacio en disco es apreciale, al menos si lo queremos cargar en un servidor gratuíto en el que posiblemente tendremos un reducido espacio. Se ha supuesto que el archivo en el que se pondrán los applets es "comunes .html" y se ha destinado un directorio para contener todos los applets (llamado applets), en el cual se ha colocado el directorio de la aplicación A. En este directorio se ha puesto "clases10.zip" y se ha eliminado del directorio "aplicacionA" y de los directorios de los demás applets, ya que el archivo es el mismo en todos ellos. Se ha copiado el código del applet del archivo aplicacionA.html y se ha pegado en comunes.html (aplicacionA.html se ha borrado después porque ya no es necesario). Este código pegado está representado en azul y en él se han cambiado los parámetros resaltados para que puedan ser encontrados los archivos en la nueva ubicación: En el parámetro CODEBASE se ha cambiado el punto (que equivale a la ruta en que estuviera el archivo html) por "./applets" para indicar que los archivos serán encontrados en el directorio "applets". En el parámetro ARCHIVE se ha cambiado la ruta anterior por la nueva ubicación del archivo clases10.zip, que por estar en el directorio indicado en CODEBASE, ya no es necesario especificar nada más que el nombre del archivo. Por último, el parámetro VALUE se mantiene como estaba porque el directorio aplicacionA ya se encuentra donde se indica en CODEBASE.

VERSIÓN DEL APPLET.

Cuando surgieron los applets de Java en Internet, los navegadores pronto se hicieron compatibles con este sistema de ejecución de aplicaciones en documentos html. Esto hizo innecesaria la instalación de la llamada máquina virtual de Java porque el sistema ya lo tenía instalado, al menos tratándose de Windows, que sigue manteniéndolo. Pero Java ha mejorado y muchos recursos actuales son incompatibles con la vieja máquina virtual. El entorno de desarrollo de Java (JDK) ha pasado por diversas versiones, así, hasta la versión 1.0 podemos crear applets compatibles con todos los navegadores (o casi todos), pero con el actual 1.3 se necesita actualizar Java en el ordenador (si ya le funciona AutoJava, ya lo tiene actualizado). Esto significa que si ponemos una página en Internet, solo verán los applets quienes lo tengan actualizado y sería recomendable advertirlo a los posibles visitantes. Una forma de hacerlo sería con un documento html que lo indique y una opción para entrar a los contenidos.

Con AutoJava, es posible utilizar la versión 1.0 o la 1.3 de modo que si opta por la 1.0 evita los problemas indicados en el párrafo anterior, admitiendo por ejemplo que una imagen no pueda girar, que las lineas presenten un aspecto deficiente, que no sea posible recortar nada más que con formas rectangulares o que no se pueda imprimir, entre otros. Si opta por la 1.3 puede que tenga que convencer a sus visitas sobre la conveniencia de actualizar Java. Por suerte, la instalación es fácil y gratuíta, solo es necesario acceder a la siguiente página para su descarga e instalación automática, que además está en español:

http://java.sun.com/getjava/es/

En la pestaña "Archivo", apartado "Varios", encontrará una opción para ver la simulación con la versión 1.0. De esta forma comprobará lo que puede y no puede hacer. Cuando se pulsa la opción, ésta cambia para presentar de nuevo la simulación con la versión 1.3, de modo que podrá cambiar de versión con la misma opción.

Si desea poner un enlace con la página de instalación de Java, puede hacerlo de la siguiente forma en html, dentro del cuerpo del documento (entre <BODY> y </BODY>). El visitante solo verá "INSTALAR JAVA EN SU ORDENADOR" y al pulsarlo accederá a la página de descarga que ya se ha comentado.

<center><A href="http://java.sun.com/getjava/es/">INSTALAR JAVA EN SU ORDENADOR</A></center>

CARGAR LA PÁGINA EN INTERNET.

Para poder acceder a su página desde cualquier lugar de Internet es necesario cargar los archivos de la página en un servidor conectado a la red. El servidor puede ser uno propio pero esto obliga a mantener la conexión en todo momento para que los clientes puedan conectarse cuando quieran, además de unos conocimientos sobre servidores. Para usuarios que solo buscamos publicar documentos es preferible recurrir a un proveedor de servicios gratuíto, como por ejemplo yahoo (http://es.yahoo.com). A cambio de un servicio gratuíto, el proveedor pondrá en su página alguna publicidad. En el caso de yahoo consiste en una ventanita desplegable que por suerte se puede cerrar para no tenerla presente permanentemente como sucede con otros proveedores. El espacio que conceden en el servidor depende del proveedor, en el caso de yahoo son 12 megas para la página y 6 para correo electrónico.

Los proveedores de servicios suelen facilitar alguna forma de crear documentos html con herramientas de fácil manejo y algún sistema para cargar los archivos en el servidor. Sin embargo, la carga de archivos puede que sea preferible hacerla con un programa de FTP, que significa algo así como protocolo de transferencia de archivos. Existe algún programa de libre distribución como CuteFTP y el WS_FTP, que es el que se describe en este apartado. Es muy sencillo de manejar aunque está en inglés. Si desea descargar este programa puede hacerlo en la siguiente página, pero si no lo encuentra puede utilizar un buscador para localizarlo en otro lugar.

http://www.futurnet.es/download/ftp.htm

Si decide recurrir a un proveedor de servicios en Internet, éste le aportará algunos datos necesarios para el alojamiento de su página, tales como un nombre de usuario, una contraseña, la dirección del Host para FTP (con la que tiene que conectar) y por supuesto la ruta o dirección de su futura página. La siguiente imagen corresponde al cuadro de conexión del programa WS_FTP. En el campo "Profile Name" puede escribir el nombre con el que quiera identificar la conexión, que puede ser cualquiera. En el campo "Host Name/Address" escribirá la dirección del Host que le dará su proveedor. En el campo "Host Type" (tipo de Host) puede marcar detección automática, en el caso de que lo desconozca. En el campo User ID escribirá el nombre de usuario que le dará su proveedor o que habrá definido usted mismo. Por último, en el campo "Password" pondrá la contraseña. Si prefiere no escribirla cada vez que haga la conexión deberá marcar la opción "Save Pwd" (guardar contraseña). Hecho esto, solo falta pulsar "Aplicar" para que el programa guarde los datos y en futuras conexiones ya no tendrá que escribirlos de nuevo. Pulsando "Aceptar" se procede con la conexión y si no hay ningún problema entrará en su espacio web para poder cargar archivos, borrarlos, etc. Por supuesto, la conexión solo será posible si tiene abierta una conexión a Internet.

La siguiente imagen corresponde al programa WS_FTP una vez que ha establecido la conexión. Los botones centrales sirven para transferir los archivos que seleccione desde su ordenador hacia el servidor o a la inversa. Antes de transferir se debe marcar si el archivo a enviar contiene datos ascii o binarios o mejor marcar la opción "Auto" para que se encargue el programa de hacerlo. Si carga una página web creada con AutoJava deberá poner en el servidor el contenido del directorio del proyecto tal y como se encuentre (el contenido, no el directorio), excepto los archivos jar y apl. Si alguna aplicación se ejecuta desde otra, también puede descartar el archivo clases.zip de dicha aplicación. Para crear los directorios con los archivos de cada aplicación existe el botón "MkDir" (crear directorio). Una vez creado el directorio, entre en él con doble clic, luego acceda en la ventana izquierda, entre en el directorio con los archivos y páselos a la derecha (el servidor). Por último, el documento html principal con el que arrancará su página deberá llamarse index.html de modo que si el suyo se llama aplicacion1.html tendrá que cambiarle el nombre antes o después de copiado en el servidor.

Una vez transferidos los archivos, pulse el botón "desConnect" y salga del programa, habra el navegador, escriba en la barra de direcciones la que tenga su página (la que le habrá dado su proveedor) y pulse ENTER. Si todo va bien, su página será cargada desde el servidor, no la copia de su ordenador.

LO QUE SE PUEDE HACER EN UN APPLET.

La seguridad en Internet impone ciertas limitaciones a la hora de ejecutar aplicaciones. No es posible acceder al disco de los usuarios y por lo tanto tampoco será posible hacerlo desde un applet. El acceso al servidor de nuestro proveedor de servicios gratuíto solo será posible para lectura de datos dentro de nuestro espacio pero se negará cualquier intento de escritura. Si necesitamos una aplicación con la que nuestros visitantes puedan enviar información a nuestro espacio, es necesario disponer de un servidor propio conectado permanentemente a la red. La única forma de escribir en el servidor es mediante una aplicación que se ejecute en el servidor, encargada del protocolo y la seguridad, pero un servicio gratuíto no facilitará esta posibilidad, al contrario, impedirá colocar cualquier archivo ejecutable y cualquier otro con extensión no reconocida.

LO QUE NO FUNCIONA CON LA VERSIÓN 1.0 DEL JDK.

El grosor de líneas es siempre igual a 1 y carecen de suavidad (no antialiasing).
Cuando se fragmenta una polilinea cerrada y rellena, si varios polígonos se superponen no se forma un agujero (quedan superpuestos).
Las imágenes y textos no pueden girar, solo se trasladan alrededor del centro de rotación.
Los únicos archivos de sonido válidos son los de extensión au.
Los textos solo se escalan por variación del tamaño de letra (igual factor de escala en las dos direcciones).
No es posible imprimir.
No se dibujan textos huecos.
Solo es posible hacer recortes con rectángulos vacíos.
No funcionan los gradientes de color, en su lugar se pinta con el color de relleno.
No funciona la transparencia. Si el grado de opacidad es 0 no se pinta el elemento y si es mayor que 0 se pinta completamente opaco.