Post on 28-Oct-2014
1
Curso “Diseño de Interfaces de Usuario Web para “Diseño de Interfaces de Usuario Web para aplicaciones RIA mediante Dojo y Maqetta”aplicaciones RIA mediante Dojo y Maqetta”.
ISC – Diciembre 2011Paulo Clavijo Esteban
clavijo_pau@ingenieriadesoftware.com
2
Introducción a Dojo y Maqetta.Diseñando una primera interfaz de usuario.Widgets: Contenedores y Controladores.Diseño de formularios.Interactividad mediante "Estados de Aplicación".Edición de temas y estilos.Exportando a los desarrolladores.Principios de diseño y usabilidad.Herramientas depuración Web: Firebug.Comunicación con el servidor via Json-RESTful.
ISC - 2011Paulo Clavijo Esteban
clavijo_pau@ingenieriadesoftware.com
Agenda
3
Objetivo Principal
ISC - 2011Paulo Clavijo Esteban
clavijo_pau@ingenieriadesoftware.com
4
¿Qué es Dojo?
Dojo es un framework que contiene APIs y widgets (controles) para facilitar el desarrollo de aplicaciones Web modernas.
ISC - 2011Paulo Clavijo Esteban
clavijo_pau@ingenieriadesoftware.com
5
Características principales de Dojo
Proyecto Open Source desarrollado por una comunidad de expertos.Dojo provee de un sistema de paquetes para facilitar el desarrollo modular.Multitud de componentes visuales que permiten el desarrollo rápido de interfaces de usuario complejas.Múltiples implementaciones para Acceso a Datos, incluido Json-Rest.
ISC - 2011Paulo Clavijo Esteban
clavijo_pau@ingenieriadesoftware.com
6
Arquitectura Dojo
Como caja de herramientas, la arquitectura de Dojo Toolkit consta de una serie de componentes principales.
Dojo BaseDojo CoreDijit (Dojo Widget)DojoXUtil
ISC - 2011Paulo Clavijo Esteban
clavijo_pau@ingenieriadesoftware.com
7
Cargando Dojo
Importar tema y estilos CSS.Cargar la librería JavaScript dojo.js (Dojo Core).Incluir otros módulos a utilizar.
ISC - 2011Paulo Clavijo Esteban
clavijo_pau@ingenieriadesoftware.com
<!DOCTYPE html><html> <head> <style> @import "themes/claro/claro.css"; @import "lib/dojo/dojo/resources/dojo.css"; </style> <script type="text/javascript" src="lib/dojo/dojo/dojo.js"></script> <script type="text/javascript"> dojo.require('dijit.layout.ContentPane'); </script> </head> <body class="claro"> </body></html>
8
¿Qué es Maqetta?
Editor visual de interfaces de usuario HTML5 basadas en Dojo.
ISC - 2011Paulo Clavijo Esteban
clavijo_pau@ingenieriadesoftware.com
9
Características principales de Maqetta (1/2)
Editor WYSIWYG para la elaboración de interfaces de usuario.Permite el diseño para dispositivos de escritorio o móvilesEdición simultánea desde el punto de vista del diseño o del código.Integración completa de CSS, incluye un analizador/modelador de CSS muy completo.Interactividad en los prototipos mediante “estados de aplicación”.Editor de temas para personalizar el estilo visual con una colección de widgets.Opciones de exportación a herramientas de desarrollo como Eclipse.
ISC - 2011Paulo Clavijo Esteban
clavijo_pau@ingenieriadesoftware.com
10
Características principales de Maqetta (2/2)
Permite revisar y comentar el proyecto vía Web. El autor pueda presentar una maqueta del interfaz de usuario “en vivo” para su revisión por parte de los miembros de su equipo.“Wireframing” característica que permite a los diseñadores de interfaces de usuario crear propuestas de diseño con el aspecto de dibujo a mano.El código de Maqetta tiene una arquitectura independiente del conjunto de herramientas, lo que permite conectar bibliotecas, cualquier tipo de widget y temas CSS.
ISC - 2011Paulo Clavijo Esteban
clavijo_pau@ingenieriadesoftware.com
11
Diseñando una primera interfaz de usuario.
Ejemplo 1 – Pantalla Acceso Usuarios.
ISC - 2011Paulo Clavijo Esteban
clavijo_pau@ingenieriadesoftware.com
12
Widgets (1/2)
Los widgets de Dojo son componentes preempaquetados de código JavaScript, HTML y CSS que pueden ser usados para enriquecer aplicaciones web.
Contenedores y layouts.Menús, pestañas y tooltips.Tablas ordenables, gráficos dinámicos y dibujado de vectores 2D.Efectos de animación y la posibilidad de crear animaciones personalizables.Soporte para arrastrar y soltar.Formularios y rutinas de validación para los parámetros.Calendario, selector de tiempo y reloj.Editor online de texto enriquecido.
ISC - 2011Paulo Clavijo Esteban
clavijo_pau@ingenieriadesoftware.com
13
Widgets (2/2)
ISC - 2011Paulo Clavijo Esteban
clavijo_pau@ingenieriadesoftware.com
Dojo Containers Dojo Controls
14
BorderContainer
Es un Widget contenedor que permite una división en regiones.
ISC - 2011Paulo Clavijo Esteban
clavijo_pau@ingenieriadesoftware.com
<div dojoType=”dijit.layout.BorderContainer”> <div dojoType="dijit.layout.ContentPane" region="top"></div> <div dojoType="dijit.layout.ContentPane" region="bottom"></div> <div dojoType="dijit.layout.ContentPane" region="left"></div> <div dojoType="dijit.layout.ContentPane" region="right"></div> <div dojoType="dijit.layout.ContentPane" region="center"></div></div>
15
AccordionContainer
Es un Widget contenedor que permite una distribución en acordeón, permitiendo ver un solo panel al mismo tiempo.
ISC - 2011Paulo Clavijo Esteban
clavijo_pau@ingenieriadesoftware.com
<span dojoType="dijit.layout.AccordionContainer"> <div dojoType="dijit.layout.ContentPane" title="Panel 1"> <div dojoType="dijit.layout.ContentPane" title="Panel 2"> <div dojoType="dijit.layout.ContentPane" title="Panel 3"></span>
16
TabContainer
Es un Widget contenedor que permite una distribución en pestañas, permitiendo ver un solo panel al mismo tiempo.
ISC - 2011Paulo Clavijo Esteban
clavijo_pau@ingenieriadesoftware.com
<span dojoType="dijit.layout.TabContainer" controllerWidget="dijit.layout.TabController"> <div dojoType="dijit.layout.ContentPane" title="Resultados"></div> <div dojoType="dijit.layout.ContentPane" title="Clasificacion"></div></span>
17
Controles Básicos
TextBoxTextAreaDateTextBoxComboBoxButtonRadioButtonCheckBox
ISC - 2011Paulo Clavijo Esteban
clavijo_pau@ingenieriadesoftware.com
18
Controles Avanzados
MenuDataGridDialogColorPaletteComboButtonFilteringSelectMultiSelectTreeContextMenu...
ISC - 2011Paulo Clavijo Esteban
clavijo_pau@ingenieriadesoftware.com
19
Diseño de formularios
Ejemplo – Formulario 1.
ISC - 2011Paulo Clavijo Esteban
clavijo_pau@ingenieriadesoftware.com
20
Menu
El Widget dijit.Menu se utiliza en tres tipos de menús:Menús desplegables.Menús contextuales.Menús estáticos. (Ej: Menu de navegación en un lateral.)
ISC - 2011Paulo Clavijo Esteban
clavijo_pau@ingenieriadesoftware.com
<span dojoType="dijit.MenuBar"> <span dojoType="dijit.PopupMenuBarItem" label="Archivo"> <span dojoType="dijit.Menu"> <span dojoType="dijit.MenuItem" label="Nuevo"></span> <span dojoType="dijit.MenuItem" label="Abrir"></span> </span> </span></span>
21
DataGrid
Es un Widget controlador que representa los elementos de un datasource en una tabla.
ISC - 2011Paulo Clavijo Esteban
clavijo_pau@ingenieriadesoftware.com
22
Ejemplo Aplicación
23
Interactividad mediante "Estados de Aplicación" (1/2)
Maquetta incorpora un mecanismo para la organización de un prototipo de interfaz de usuario en una serie de “estados de aplicación” (“pantallas” o también conocido como “grupos especiales”) que permite un diseño de interfaz de usuario, para definir la interactividad, sin necesidad de programación.
ISC - 2011Paulo Clavijo Esteban
clavijo_pau@ingenieriadesoftware.com
24
Interactividad mediante "Estados de Aplicación (2/2)
Ejemplo – Administrador Tareas
ISC - 2011Paulo Clavijo Esteban
clavijo_pau@ingenieriadesoftware.com
25
Edición de temas y estilos
Maqetta permite crear temas personalizados de forma muy sencilla, a partir de los temas existentes de Dojo.
ISC - 2011Paulo Clavijo Esteban
clavijo_pau@ingenieriadesoftware.com
26
Exportando a los desarrolladores
Los proyectos realizados en Maquetta pueden ser exportados en formato .zip con la utilidad “Download Entire Workspace”.También podemos acceder directamente al proyecto con el explorador de archivos, accediendo a la ruta: maquetta_home/users/nombre_proyectoLos proyectos pueden configurase para que utilicen otras versiones de Dojo, o para cambiar la ubicación de estas.
ISC - 2011Paulo Clavijo Esteban
clavijo_pau@ingenieriadesoftware.com
27
Herramientas depuración Web: Firebug
ISC - 2011Paulo Clavijo Esteban
clavijo_pau@ingenieriadesoftware.com
Extensión de Firefox para desarrolladores Web.Permite analizar todos los elementos (HTML, CSS, Scripts, Dom, Red, Consola).
28
Documentación
ReferenciaMaqetta - DocumentacionDojo Toolkit – Documentación de referenciaDojo Toolkit – APIDojo Toolkit - Tutoriales
Libros
ISC - 2011Paulo Clavijo Esteban
clavijo_pau@ingenieriadesoftware.com