DI02.- Elaboración de interfaces mediante documentos XML.
3.- Herramientas para la creación de interfaces multiplataforma.
Caso práctico
Ministerio de Educación y Formación Profesional.(Elaboración propia)
Ada y su equipo ya tienen una idea general de cómo emplear un lenguaje para la elaboración de interfaces basado en XML, y diferentes formas de mapear el documento obtenido para visualizar la interfaz. De hecho, a estas alturas ya pueden empezar a programar una interfaz en modo texto. Sin embargo, para Ana que es una recién llegada, aún resulta un poco difícil crear estos documentos con una sintaxis tan específica en modo texto, así que decide comentarlo con su jefa, ya que piensa que merece la pena dedicar un poco de tiempo a estudiar las herramientas existentes en el mercado, tanto libres como propietarias, para el desarrollo de interfaces basadas en XML utilizando un entorno gráfico, pensando en el beneficio que va a suponer el ahorro de tiempo al emplear una herramienta que genere todo el código de la interfaz sin más que hacer unos cuantos clics.
María José Navascués González(Elaboración propia)
Existen muchos tipos de software para la creación de interfaces de usuario. Habitualmente estas herramientas tienen en común que para generar interfaces gráficas usan un sistema de ventanas, las cuales permiten la división de la pantalla en diferentes regiones rectangulares, llamadas "ventanas" cuya parte central es el conjunto de herramientas (toolkit).
Cuando creamos una aplicación con interfaces gráficas, en primer lugar, hay que diseñar la interfaz, normalmente el toolkit contiene los objetos gráficos más empleados, tales como menús, botones, etiquetas, barras de scroll, y campos para entrada de texto que compondrán la interfaz, mientras que el sistema de ventanas provee de procedimientos que permiten dibujar figuras en la pantalla y sirve como medio de entrada de las acciones del usuario. En la imagen puedes apreciar los conjuntos de herramientas enmarcados en rojo (en la imagen cuadro derecho y barra de herramientas superior) y la zona de dibujo en azul (en la imagen cuadro central). En algunas aplicaciones denominan Widgetsa los controles o elementos que podemos añadir a una interfaz.
A continuación, se añade funcionalidad a los elementos de la interfaz a través de una serie de procedimientos definidos por el programador o programadora. La función de estos procedimientos es el decidir la forma en que se comportarán los objetos gráficos.
Por último, se conecta la interfaz generada con la aplicación de destino. Esto se puede realizar de diferentes maneras. Si usamos un único lenguaje de programación para la interfaz y la funcionalidad, lo usual es contar con un entorno de desarrollo integrado común para todas las fases de desarrollo como al utilizar la biblioteca swingcon Java. Sin embargo, cuando el lenguaje final es uno y el lenguaje de la interfaz otro, como es el caso de las tecnologías basadas en XML que estamos viendo, normalmente se requiere de un proceso de traducción de los elementos XML a elementos que entienda la plataforma final, como en el caso de XAML que traduce cada elemento XML a clases de la plataforma .NET. En el caso de XUL es el motor de renderización el que se encarga de hacer las transformaciones necesarias para visualizar la interfaz. Este proceso puede ser más o menos automático en función de las tecnologías seleccionadas.
A continuación, veremos algunos ejemplos de herramientas existentes, tanto libres como propietarias, que difieren en la manera que tratan los archivos XML con las interfaces para incluirlos en la aplicación final.