Temario

UNIDAD 1: Introducción a las Interfaces de Usuario

Diferentes tipos de interfaces de usuario, interfaces de línea de comando (CLI) y gráficas. Diferentes tipos de aplicaciones cliente: clientes pesados vs. livianos. Características y aplicabilidad de cada uno. Nociones de usabilidad y user experience.

UNIDAD 2: Desarrollo de UI en cliente pesado

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. SASS.

UNIDAD 4: Desarrollo Web Client Side MVC

Desarrollo de UI separando modelo y vista en el lado cliente. Mecanismos de binding one-way y two-way. Single Page Application. Routing. Aplicaciones REST. Manejo de pedidos asincrónicos. Routing. Inyección de dependencias. Definición de componentes visuales y layouts reutilizables.

UNIDAD 5: Desarrollo Web Client Side FRP

Desarrollo de UIs reactivas. Virtual DOM, render de la vista a partir de modelos mutables. State vs. props. Compartir estado entre componentes. Event sourcing. Routing. Higher-order components.

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

Testeo unitario y Pruebas End-to-End en interfaces de usuario. Nociones básicas de performance. Progressive Web Applications.