Guía de iniciación
al Lenguaje Java en formato HTML
APÉNDICE I: Herramientas
de Desarrollo
Contenidos de esta página:
A. INTRODUCCIÓN *
B. PROGRAMAS DE NAVEGACIÓN *
a. Introducción *
b. Netscape Navigator *
c. HotJava *
d. Microsoft Internet Explorer *
e. Spyglass Mosaic *
C. ENTORNOS DE DESARROLLO *
a. Introducción *
b. Symantec Espresso *
c. Borland Latte *
d. Microsoft Visual C++ *
e. Java Maker *
f. Roaster de Natural Intelligence *
g. CodeWarrior de Metrowerks *
h. Cosmo de Silicon Graphics *
D. BIBLIOTECAS DE PROGRAMACIÓN *
E. JDK *
a. Introducción *
b. Interprete en tiempo de ejecución *
c. Compilador *
d. Visualizador de miniaplicaciones *
e. Depurador *
f. Desensamblador de archivo de clase *
g. Generador de cabecera y archivo de apéndice
*
h. Generador de documentación *
i. Miniaplicaciones de demostración *
j. Código fuente API *
A. INTRODUCCIÓN
La lista de empresas que han aparecido y jurado fidelidad a Java esta
creciendo sorprendentemente. Existen muchos productos y herramientas para
el desarrollo Java, y que se pueden dividir en tres categorías:
-
Programas de navegación
-
Entornos de desarrollo
-
Bibliotecas de programación
B.
PROGRAMAS DE NAVEGACIÓN
a. Introducción
Las miniaplicaciones java no serían de mucha utilidad sin programas
de navegación compatibles con Java. Por lo tanto, para que Java
funcione necesita de estos programas de navegación, que afortunadamente
se han comprometido a apoyarlo. Los más importantes son los siguientes:
-
Netscape
-
Sun
-
Microsoft
-
Spyglass
b.
Netscape Navigator
Ya ha producido un programa de navegación comercial con apoyo
completo a Java: Netscape Navigator 2.0. Además del simple apoyo
al lenguaje y sistema de tiempo de ejecución, también ha
ayudado en el desarrollo de JavaScript, que es un lenguaje de comandos
basado en objetos java. El objetivo de JavaScript es permitir el desarrollo
rápido de aplicaciones distribuidas cliente servidor.
c.
HotJava
Es el contendiente de Sun. Se diseñó inicialmente como
un experimento en el desarrollo del programa de navegación de java.
Se ha convertido en un prometedor modelo de lo que depara el futuro para
los programas de navegación de la Web. Será el programa de
navegación existente más compatible con Java. Constituye
un muy útil campo de pruebas para los programadores de Java.
Es capaz de gestionar e interactuar de forma dinámica con nuevos
tipos de objeto y protocolos Internet.
d.
Microsoft Internet Explorer
Microsoft tardó un poco en desarrollar una herramienta para Java.
Teniendo en cuenta el hecho de que Internet Explorer está estrechamente
ligado a Windows 95, tiene el potencial necesario para conseguir una cuota
significativa en el mercado de programas de navegación de la Web.
e.
Spyglass Mosaic
Aún no se ha facilitado las fechas precisas en las que su programa
de navegación estará disponible con apoyo a Java. Aunque
se supone que con la competitividad en este mercado estará disponible
muy pronto.
C.
ENTORNOS DE DESARROLLO
a. Introducción
Los desarrolladores se han acostumbrado a las herramientas gráficas
de programación. Java va por el mismo camino pero aún es
demasiado joven.
La mayor parte de los participantes en el negocio de herramientas de
programación han anunciado algún tipo de entorno de desarrollo
para java. Parte de este apoyo llegará en forma de módulos
adicionales para productos ya existentes, mientras que otra parte consistirá
en productos totalmente nuevos.
b.
Symantec Espresso
Es el más importante desarrollador de herramientas PC con un
entorno de desarrollo Java para la realización de pruebas. Symantec
Espresso es un módulo adicional para su sistema de desarrollo Symantec
C++ para Windows 95/NT. Las principales funciones que soporta son las siguientes:
-
Editor de programación gráfica.- Proporciona todas las características
esperadas en un moderno editor de programación; sintaxis a todo
color y resaltado de palabras clave, proporcionando un lenguaje macro integrado
para ampliar el editor.
-
Editores visuales.- Se incluyen un par de editores visuales para gestionar
las muchas clases implicadas en la programación Java. El editor
permite crear y navegar con rapidez a través del código Java;
ya no es necesario trabajar con archivos individuales de código
fuente Java, se puede trabajar directamente con miembros y definiciones
de clase Java. También permite navegar con rapidez por cualquier
parte de una aplicación; solo se tiene que introducir el nombre
de una clase o miembro de clase y el editor de clases localiza el código
fuente correspondiente y lo carga en el editor. Espresso también
incluye un editor de jerarquías para visualizar y gestionar las
relaciones lógicas entre clases.
-
Gestor de proyectos.- Permite organizar proyectos Java con mayor efectividad.
Soporta proyectos dentro de proyectos, por lo que puede mantenerse al día
con bibliotecas anidadas y dependencias de proyectos. Cuando se cargue
o se cree un proyecto, el gestor de proyectos lanza un analizador de fuente
de segundo plano que analiza el código fuente Java de forma automática
y construye un banco de información sobre el proyecto. Esta información
es proporcionada como apoyo a la navegación.
-
Integración transparente de las herramientas JDK.- Espresso integra
de forma transparente la herramienta JDK en el entorno de desarrollo con
soporte gráfico para el interpretador, compilador y depurador Java.
-
Generadores de código.- Proporciona las herramientas de generación
de código.:
-
ProjectExpress.- Es una herramienta que genera de forma automática
aplicaciones esqueleto de Java. Es útil para importar código
de Java ya existente en el entorno Espresso. Se podrá especificar
el tipo de proyecto y después añadir los archivos fuente,
creándose entonces el proyecto automáticamente y se cargarán
las clases en Espresso.
-
AppExpress.- Proporciona una forma fácil de crear nuevos proyectos
que son totalmente funcionales desde el principio. Es útil para
programadores principiantes y el código creado es perfectamente
adecuado para su modificación por el usuario.
Para más información, consultar http://www.symantec.com/lit/dev/javaindex.html
c.
Borland Latte
Es el desarrollador de los populares entornos de desarrollo Borland
C++ y Delphi Windows. Borland ha optado por desarrollar un producto totalmente
nuevo para los desarrolladores de Java, y lo está haciendo totalmente
en Java. Esto le permitirá salir del mercado del PC y comercializar
Latte en todas las plataformas soportadas por Java. Se ha lanzado ya al
mercado una versión inicial del depurador Latte Java.
La característica negativa de Latte es que no hay versiones alfa
y beta todavía. La tecnología Latte se proporcionará
en varias fases y se centrará en las siguientes áreas:
-
Herramientas visuales
-
Arquitectura basada en componentes
-
Compilación de altas prestaciones
-
Acceso a base de datos distribuible y escalable.
Para más información, consultar http://www.borland.com/produt/java/java.html
d.
Microsoft Visual C++
Pese a que Microsoft no ha desarrollado ninguna herramienta todavía,
el entorno Visual C++ para Windows 95/NT es bastante adecuado para el desarrollo
de Java. Lo primero que puede hacer Visual C++ para ser más compatible
con Java es activar el resalte de sintaxis de color para los archivos fuente
de Java. Una modificación más útil a Visual C+ es
ajustarlo para utilizar el compilador Java (javac).
No se sabe si este producto aparecerá como una variación
de Visual C++ o Visual Basic, o si será un producto totalmente nuevo.
e.
Java Maker
Es un sencillo entorno de desarrollo desarrollado por Heechang Choi,
que funciona bajo Windows 95/NT. Viene con un editor de texto de interfaz
de documento múltiple e interconecta directamente con el compilador
y visualizador de miniaplicaciones de Java.
Para más información, consultar http://net.info.samsung.com.kr/~hcchoi/javamaker.html
f.
Roaster de Natural Intelligence
Es un entorno de desarrollo Java para Macintosh. Proporciona un entorno
de desarrollo integrado con un desensamblador de clases, depurador y compilador
integrados. Se encuentra disponible en la actualidad para el Power Macintosh,
aunque se espera una versión 68000 en breve. El kit de desarrollo
de miniaplicaciones recibe el nombre de Roaster , y tendrá las siguientes
funciones:
-
Entorno de desarrollo completamente integrado
-
Potente editor de programación
-
Compilador de altas prestaciones
-
Depurado
-
Desensamblador de clases
-
Gestor de proyectos
-
Soporte para Power Macintosh
El entorno de desarrollo promete incluir múltiples portapapeles
para una mejor organización de retazos de código, así
como potentes funciones de macro. También contará con potentes
funciones de búsqueda y sustitución
Para más información, consultar http://www.natural.com/page/products/roaster/
g.
CodeWarrior de Metrowerks
Es otro entorno de desarrollo Java para Macintosh. Está basado
en el popular entorno de desarrollo Codewarrior C++. El entorno recibe
el nombre de Wired.
Para más información, consultar http://www.metrowerks.com/
h.
Cosmo de Silicon Graphics
Silicon Graphics ha desarrollado un conjunto de herramientas de desarrollo
Cosmo. Las tecnologías Cosmo están orientadas a proporcionar
un mayor apoyo multimedia y de gráficos tridimensionales a la Web.
Cosmo Code, componente central de Cosmo incluye un intérprete de
tiempo de ejecución, un compilador, un depurador gráfico,
un programa de navegación visual y las bibliotecas Cosmo Motions
y Cosmo MediaBase.
Para más información consultar http://www.sgi.com/products/cosmo/
D.
BIBLIOTECAS DE PROGRAMACIÓN
Java está orientado a objetos, por lo que es importante no ignorar
el potencial de volver a utilizar objetos Java.
Están apareciendo algunas bibliotecas comerciales de objetos
Java. La empresa Dimensión X cuenta con tres bibliotecas de clases
Java:
-
Ice .- Paquete de representación de gráficos tridimensionales.
-
Liquid Reality .-Kit de herramientas VRML
-
JACK .- Herramienta para crear miniaplicaciones de animación Java
a Través de una interface sencilla.
E.
JDK
a. Introducción
JDK.- Java Developer Kit.- Kit de desarrollo de Java
"Conjunto de herramientas, utilidades, documentación y código
muestra para desarrollar Java".
Los principales componentes de que consta el JDK son los siguientes:
-
Interprete en tiempo de ejecución
-
Compilador
-
Visualizador de miniaplicaciones
-
Depurador
-
Desensamblador de archivo de clase
-
Generador de cabecera y archivo de apéndice
-
Generador de documentación
-
Miniaplicaciones de demostración
-
Código fuente API
b.
Interprete en tiempo de ejecución
Es una versión autónoma del intérprete Java integrado
en el programa de navegación Hotjava. Actúa como una herramienta
de línea de comandos para la ejecución de programas Java
no gráficos.
La sintaxis para su utilización es la siguiente:
Java options classname arguments
-
classname.- especifica el nombre de la clase que se desea ejecutar; si
esta reside en un paquete se deberá calificar totalmente el nombre.
Si se desea ejecutar una clase llamada Roids que pertenece a un paquete
llamado Games, se deberá ejecutar java Games.Roids. Cuando se ejecuta
una clase, lo que realmente se ejecuta es el método main( ) de esa
clase.
-
Arguments.- especifica los argumento pasados al método main( ).
Si por ejemplo la clase realiza el filtrado de un archivo, el argumento
que habrá que pasarle será el nombre del fichero. Java textfilter
file.txt
-
Options.- especifica opciones relacionadas con la forma en que el interprete
en tiempo de ejecución ejecuta el programa java. Las opciones más
importantes son:
-
debug.- arranca el interprete en modalidad de depuración.
-
checksource.- hace que el interprete compare todas la fechas. La clase
se recompila automáticamente si el archivo fuente es mas reciente
que el archivo ejecutable.
-
classpath.- existe una variable de entorno denominada CLASSPATH, donde
se definen las rutas para buscar las clases definidas por el usuario. Con
esta opción classpath ruta se sustituye la variable por la ruta
especificada.
-
verbose.- el interprete imprime un mensaje en la salida estándar
cada vez que se carga una clase de java.
-
verbosesegc.- el interprete imprime un mensaje cada vez que se realiza
una recogida de basura, lo cual se realiza para limpiar los objetos no
necesarios y liberar memoria.
-
verify.- se ejecuta el verificador de código de byte. La función
predeterminada de este verificador consiste en verificar el código
cargado en el sistema utilizando un cargador de clase. También existe
la opción –noverify.
-
-D.- permite redefinir valores de propiedad.
c.
Compilador
Se utiliza para compilar archivos de código fuente Java (*.java),
en archivos de clases Java ejecutables (*.class). Se crea un archivo de
clase para cada clase definida en un archivo fuente.
Este compilador es una utilidad en línea de comandos con la siguiente
sintaxis:
javac Opciones Nombrearchivo
-
Nombrearchivo.- especifica el archivo fuente a compilar.
-
Opciones.- especifica opciones de cómo el compilador ha de crear
las clases ejecutables. Estas opciones pueden ser las siguientes:
-
classpath Ruta.- el compilador busca las clases definidas por el usuarios
en la ruta especificada por Ruta.
-
d Dir.- determina el directorio raíz en el que se almacenan las
clases compiladas. Muchas veces las clases se organizan con una estructura
de directorio; con esta opción la estructura de directorio se creará
debajo del directorio especificado por Dir. javac –d ..\usuario.
-
g.- el compilador genera tablas de depuración para las clases de
Java, las cuales serán, utilizadas por el depurador Java, y contiene
información sobre variables locales y números de línea.
-
nowarn.- desactiva los avisos del compilador. Esta opción es a veces
opuesta a –verbose.
-
verbose.- imprime información adicional a la compilación.
Se puede utilizar -verbose para ver que archivos se están compilando.
-
O.- el compilador optimiza el código compilado. Los métodos
estático, final y privado se compilan en línea, lo que quiere
decir que se incluye todo el cuerpo del método en lugar de la llamada
al método. Esto agiliza la ejecución, pero aumenta el tamaño
de la clase.
d.
Visualizador de miniaplicaciones
Es una herramienta que sirve como campo de pruebas. Se utiliza para
probar los programas, en lugar de tener que esperar a que HotJava soporte
el lanzamiento final de Java.
Se activa desde una línea de comandos:
appleviewer Opciones URL
-
URL.- indica un URL que contiene una página
HTML con una miniaplicación java intercalada.
-
Opciones.- especifica como ejecutar la
miniaplicación java. Solo soporta una opción:
-
debug.- arranca el visualizador de miniaplicaciones en el depurador java,
lo que permite depurar la miniaplicación.
e.
Depurador
Es una utilidad de línea de comandos que permite depurar aplicaciones
java. No es un entorno de depuración de estrafalarias características
visuales sino que encuentra y extermina los errores de los programas java
mucho más fácilmente. La sintaxis es la siguiente:
Jdb Opciones
-
Opciones.- se utiliza para especificar ajustes diferentes dentro de una
sesión de depuración.
f.
Desensamblador de archivo de clase
Se utiliza para desensamblar un archivo de clase. Su salida predeterminada
consiste en los datos públicos y métodos para una clase.
Es útil cuando no se tiene el código fuente de una clase
pero le gustaría saber como de implanta. La sintaxis es la siguiente:
Javap Opciones NombresClase
-
NombresClase.- especifica el nombre de
una o más clases a desensamblar.
-
Opciones.- especifica la forma en la que
se han de desensamblar las clases. Estas opciones pueden ser las siguientes:
-
c.- le especifica al desensamblador que dé salida a los bytecodes
reales para cada método.
-
p.- para incluir métodos y variables privadas en la salida.
-
h.- para que se elabore información que pueda ser utilizada en los
archivos de cabecera C.
-
classpath Ruta.- especifica la lista de directorios donde buscar clases
importadas.
-
verify.- para que se ejecute el verificador en la clase y dé salida
a información de depuración.
-
versión.- para que se imprima el número de versión
g.
Generador de cabecera y archivo de apéndice
Se utiliza para generar archivos fuente y cabecera C para implantar
métodos Java en C. Esto se consigue mediante la generación
de una estructura C cuya distribución coincide con la de la correspondiente
clase Java. La sintaxis es la siguiente:
javah Opciones NombreClase
-
NombreClase.- es el nombre de la clase
desde la cuál se van a generar archivos fuente C.
-
Opciones.- especifica la forma en la que
se generarán los archivos fuente
h.
Generador de documentación
Es una herramienta útil para la generación de documentación
API directamente del código fuente Java. Genera página HTML
basadas en las declaraciones y comentarios. Su sintaxis es la siguiente:
javadoc Opciones NombreArchivo
-
NombreArchivo.- paquete o archivo de código
fuente Java
-
Opciones.-
i. Miniaplicaciones
de demostración
El jdk incluye una serie de miniaplicaciones de demostración
que incluyen el código fuente completo.
j. Código
fuente API
El código fuente API se instala de forma automática, cuando
se descomprime el JDK, aunque permanece en formato comprimido en un archivo
llamado scr.zip localizado en el directorio Java que se creó durante
la instalación.