Temario detallado

UNIDAD 1: Introducción a las Interfaces de Usuario

Diferentes tipos de interfaces de usuario, interfaces de línea de comando, gráficas, web, RIA, otras. Diferentes tipos de aplicaciones cliente: clientes pesados, clientes web, application clients. Características y aplicabilidad de cada uno.


UNIDAD 2: Diseño de Interfaces de Usuario

Programación de interfaces de usuario Concepto de componente, eventos y binding. Diferentes mecanismos de interacción entre vista y modelo: MVC, MMVC (MVVM/MVB), otras variantes. Mecanismos para distribución gráfica de los componentes, concepto de layout. Navegación. Herramientas conceptuales para modelado del comportamiento de una aplicación. Patrones de diseño de interfaces de usuario.


UNIDAD 3: Introducción a la Tecnologías Web

Tecnologías web estáticas. Protocolo HTTP. Documento HTML. Estilos CSS. 


UNIDAD 4: Desarrollo Web Client Side.

Desarrollo de UI separando modelo y vista en el lado cliente. Actualizaciones parciales y asincrónicas (AJAX). Definición de componentes visuales y layouts reutilizables. Single Page Application. Aplicaciones REST. 


UNIDAD 5: Desarrollo Web Server Side.

Generación de HTML basada en templates / en acciones. Manejo del estado en aplicaciones web. Manejo de la navegación, formularios. Patrones de diseño web. 


UNIDAD 6: Desarrollo de aplicaciones móviles

Introducción al desarrollo de aplicaciones mobile. Aplicaciones web e híbridas. Arquitectura de una aplicación Android: Aplicaciones, Frameworks, Librerías. Diseño de la interfaz visual. Layout. Navegación. Binding manual contra objetos de dominio. Manejo de eventos. Recursos. Comunicación con el server. Push Notifications.


UNIDAD 7: Temas arquitecturales de UI

Introducción a la problemática de programación distribuida. Comunicación sincrónica y asincrónica. Interfaces de Manipulación directa. Continuations. Herramientas de automatización de tests de interfaces de usuario. Nociones básicas de performance.  Problemas típicos de seguridad en las interfaces de usuario. Nociones de usabilidad.


Resumen