Una vez entendida la sintaxis y funcionalidad de Java, hay que explicar cómo combinar todos los elementos introducidos para desarrollar programas Java.
La programación Java va mucho más allá de lo que la definición del lenguaje permite. Son muchos los tipos de aplicaciones que se pueden crear con Java, así como su utilización, especialmente gracias a la versatilidad de las bibliotecas de clases que completan el Java básico.
B. Tipos de aplicaciones a.) IntroducciónCon Java se pueden construir varios tipos de programas, cada uno con unas características específicas, y que se ejecutan de distintas maneras.
A continuación se explican los principales tipos: Aplicaciones, Applets, JavaBeans, JavaScript y Servlets.
Para más información véase [Morgan, 1999] y [Zolli, 1997].
b.) AplicacionesSon los programas básicos de Java. Se ejecutan en una determinada máquina, por el Java Runtime Enviroment (JRE).
Para crear una aplicación hace falta incluir en alguna de las clases que compongan la aplicación un método denominado:
public static void main(String[] s){ }
Hay que indicar al JRE (comando java del JDK) el nombre de la clase (previamente compilada a .class), que queremos ejecutar. Cuando se ejecute el programa lo que realmente se ejecutará será el método main() de la clase indicada al JRE.
Las aplicaciones soportan métodos nativos, o sea, incluir en el programa código escrito en otros lenguajes de programación, así como violar algunas de las directrices de seguridad.
En cada fichero Java (.java) sólo debe haber una clase pública.
c.) AppletsLas applets o miniaplicaciones Java, son programas que deben incluirse en páginas Web para ser observadas por otra aplicación (visualizador de applets o navegador Web), y que se ejecutan cuando el usuario intenta visualizarlas (cargando la página Web).
Las applets deben incluir un método de nombre start(), que será ejecutado cuando el navegador intente mostrar por pantalla la applet.
Estas aplicaciones, son seguras (cumplen la especificación Java), y al ser distribuibles por Internet no permiten incluir métodos nativos Java.
d.) JavaBeansLos JavaBeans son componentes gráficos de Java, que se pueden incorporar a otros componentes gráficos. Se incluyen en la API de Java (paquete java.beans).
Existe una herramienta de Sun, denominada BDK (Beans Developer Kit), que es un conjunto de herramientas para desarrollar JavaBeans. El BDK, es el JDK para el desarrollo de JavaBeans.
Existen ya multitud de bibliotecas con JavaBeans, para que puedan ser utilizados.
e.) JavaScriptJavaScript es un subconjunto del lenguaje Java que puede codificarse directamente sobre cualquier documento HTML; el código fuente de JavaScript forma parte del propio documento HTML.
JavaScript tiene menos potencia que Java, a cambio de más control sobre el navegador Web que lo ejecute.
Se utiliza sobre todo para dar animación e interactividad a páginas Web.
JavaScript posee una habilidad limitada para interactuar con applets Java, pero Java no puede interactuar de ningún modo con JavaScript.
f.) ServletsSon módulos que permiten sustituir o utilizar el lenguaje Java en lugar de programas CGI (Common Gateway Interface) a la hora de dotar de interactividad a las páginas Web.
Estas aplicaciones se ejecutan como aplicaciones servidoras en Internet, y normalmente incluyen bucles infinitos a la espera de peticiones a las que atender.
Los Servlets no tienen entorno gráfico, ya que se ejecutan en el servidor. Reciben datos y su respuesta más habitual suele ser código HTML (páginas Web).
C. Recomendaciones de programación a.) IntroducciónEs un hecho innegable que cada programador tiene su forma personal de programar, sus preferencias de indentación...
En cualquier caso, desde este tutorial se proponen una serie de pautas que ayudarán a que sus programas sean más legibles, mantenibles y eficientes:
b.) Propuestas de estilo de los fuentesUtilice nombres significativos para los identificadores, y procure respetar la siguiente notación de mayúsculas y minúsculas:
Además se enuncian las siguientes recomendaciones:
Para cada clase:
Además se enuncian las siguientes recomendaciones:
Para más información véase [Johnson, 1996] y [Eckel, 1997].
D. Grandes programasAunque con todo lo que se ha visto podríamos aventurarnos a desarrollar programas Java un tanto complejos (con varias clases, paquetes, threads...), lo cierto es que el desarrollo de programas complejos es materia de la Ingeniería del Software.
Desde este tutorial se apuesta por la Ingeniería del Software para el desarrollo de software de calidad, en un tiempo mínimo y con unos costes mínimos. La Ingeniería del Software hace posible que un programa sea mantenible y eficiente, y resuelva un problema de una forma adecuada.
Desde aquí se recomienda el uso de una metodología orientada a objeto para el desarrollo del software. Por ejemplo OMT de [Rambaugh et al., 1998], se ajusta bastante bien al desarrollo de Java, además de ser la metodología más extendida actualmente.
Todos los diagramas que se realicen siguiendo una metodología software deben de realizarse utilizando una notación unificada. El lenguaje de modelado UML [Rational, 1997], se presenta como estándar de modelado.