Módulo desktop/mobile
Objetivos:
- Dominar herramientas libres para la coordinación de proyectos (herramientas agile, wikis, trackers, etc.)
- Familiarizarse con las herramientas libres para el desarrollo de proyectos con sistemas GNU/Linux (entornos de desarrollo, depuradores, profilers, etc.)
- Conocer las principales tecnologías libres de desarrollo para el desktop: GNOME, KDE, Freedesktop.org, C, Mono y Python
- Conocer las principales tecnologías libres de desarrollo para dispositivos mobile: GNOME Mobile, Maemo, Moblin.org, Android, Openmoko
- Aplicar los conocimientos en sesiones prácticas en las que se creará una aplicación libre multiplataforma (para desktop y mobile, basada en GNOME), con las tecnologías, herramientas y metodologías de trabajo que existen en las empresas y comunidades de software libre
- Comprender los conceptos importantes en el desarrollo software: documentación, accesibilidad, localización, empaquetado, gestión de bugs, testing e integración continua
- Participar en charlas complementarias de personalidades involucradas en la comunidad y empresas relevantes del sector (GNOME, Maemo, Nokia)
Temario del curso:
Conocimientos previos necesarios: nociones básicas de software libre, conocimiento del entorno de trabajo en sistemas libres. Alguna experiencia genérica en programación y coordinación de proyectos resulta positiva pero no es imprescindible.
- Introducción. Introducción a las tecnologías que se van a ver durante el curso. Revisión de las principales herramientas de coordinación y desarrollo.
- Principales tecnologías libres para el desarrollo. La plataforma GNOME (con C como lenguaje y su relación con Freedesktop.org). La plataforma KDE (con C++ como lenguaje y su relación con Freedesktop.org). Python como lenguaje de alto nivel para programar en el desktop. Mono como plataforma de alto nivel para el desarrollo de aplicaciones.
- Desarrollo de software para el desktop. Estudio de las tecnologías GNOME y Freedesktop en profundidad. Creación del demonio cliente con C, GNOME y tecnologías Freedesktop.org. Creación de la UI para el desktop con Python.
- Desarrollo de software para dispositivos móviles. Estudio de las plataformas GNOME Mobile, Maemo, Moblin, Android, Openmoko. Migración de la aplicación del curso a plataformas mobile.
- Conceptos importantes de desarrollo de software. Internacionalización y localización. Accesibilidad en desktop y mobile. Documentación avanzada de proyectos. Testing e integración continua. Empaquetado y publicación. Gestión de bugs y mantenimiento.
Calendario:
Horas del programa formativo: 80 horas
Fecha de inicio: 9 de abril. Fecha de fin: 06 de junio. Las sesiones tendrán lugar los viernes por la tarde y los sábados por la mañana. La organización de las clases puede variar la disponibilidad de los colaboradores externos.
- 09/4/10 - Introducción al desarrollo de aplicaciones para el desktop y dispositivos mobile.
- 10/4/10 - Herramientas para el desarrollo (depuradores, profilers, IDEs). Programación en C.
- 16/4/10 - Python como lenguaje de desarrollo.
- 17/4/10 - El entorno MONO para desarrollo de aplicaciones. C#.
- 23/4/10 - Desarrollando aplicaciones QT/KDE.
- 24/4/10 - Desarrollando aplicaciones GTK+/GNOME.
- 30/4/10 - Taller de desarrollo de una aplicación real en comunidad.
- 07/5/10 - Taller de desarrollo de una aplicación real en comunidad.
- 08/5/10 - Taller de desarrollo de una aplicación real en comunidad.
- 14/5/10 - GNOME Mobile, Maemo, Moblin y otras plataformas libres para dispositivos mobile.
- 21/5/10 - Taller de desarrollo de una aplicación real sobre Maemo y Moblin.
- 22/5/10 - El enfoque de desarrollo de Nokia para dispositivos mobile.
- 28/5/10 - Documentación y empaquetado de proyectos libres.
- 29/5/10 - Accesibilidad e internacionalización de proyectos libres.
- 04/6/10 - Bugfixing, testing e integración contínua de proyectos libres.
- 05/6/10 - Android.
Profesorado
Profesores: Albert Astals Cid, Alejandro García Castro, Álvaro del Castillo San Félix, Carlos García Campos, Carlos Guerreiro, Iago Toral Quiroga, José Dapena Paz, Juan José Sánchez Penas, Juan A. Suarez Romero.
Instituciones colaboradoras: Igalia, Ándago, KDE-España, libresoft - URJC, Nokia - Maemo.
Esta lista de profesores y los horarios de las sesiones están basados en los módulos de la pasada edición. La definitiva para el año siguiente, muy similar, será confirmada a principios del 2011.
Más información
- Ver precios.
- Ver otros módulos: Administración e integración de sistemas - Desarrollo en entornos web.


