El curso está centrado principalmente en el desarrollo de aplicaciones para dispositivos Android e iOS. En el laboratorio utilizaremos ordenadores iMac con los siguientes entornos de desarrollo:
Eclipse
Android SDK
Xcode 4
iOS SDK
Asignaturas del curso
Asignatura
Créditos
Contenidos
Introducción a la programación de dispositivos móviles
3 créditos (30 horas)
Presentación del curso, e introducción a las herramientas y lenguajes de programación con los que se trabajará en el laboratorio.
Introducción a los dispositivos móviles
Herramientas de laboratorio
Introducción a Xcode y Objective-C
Introducción a Java y Eclipse
Interfaz de usuario
4 créditos (40 horas)
Creación de la interfaz en aplicaciones nativas Android e iOS.
Android:
Actividades e Intents
Componentes de la interfaz y layouts
Menús
Diálogos
Personalización de la interfaz mediante drawables, estilos y temas
Interfaces adaptables a móviles y tablets mediante fragmets
iOS:
Interface Builder
Controladores
Storyboards
Aplicaciones universales (iPhone y iPad)
Personalización de componentes
Persistencia de datos
1,5 créditos (15 horas)
APIs de persistencia en Android e iOS:
User Defaults y Shared Preferences
Acceso a ficheros
SQlite
Core Data
Proveedores de contenidos
Sensores de los dispositivos
1 crédito (10 horas)
Acceso a los diferentes tipos de sensores en las plataformas Android e iOS:
Pantalla táctil y multitáctil
Acelerómetro y orientación
Reconocimiento de voz
Geolocalización
Mapas
Programación web
2 créditos (20 horas)
Tecnologías y frameworks para el desarrollo de aplicaciones web destinadas a dispositivos móviles
HTML5 y CSS3
Sencha Touch
jQuery Mobile
Bootstrap
PhoneGap
Servicios para plataformas móviles
1 crédito (10 horas)
Acceso a servicios externos a la aplicación, tanto proporcionados por las plataformas Android e iOS como servicios proporcionados por terceros o creador por nosotros.
Acceso a servicios web desde Android e iOS
Autentificación mediante OAuth
Introducción de componentes web en aplicaciones nativas
Servicios de la plataforma Android (servicios de Google Play, acceso al calendario y a la agenda, widgets, centro de notificaciones, servicios en segundo plano)
Servicios de la plataforma iOS (iAd, compras in app, iCloud, Game Center, notificaciones push y locales, acceso a la agenda, publicación de apps y marketing)
Gráficos y multimedia
2 créditos (20 horas)
Generación de gráficos y utilización de componentes multimedia en Android e iOS.
Creación de componentes propios en Android
Core Graphics
Core Animation
Procesamiento de imágenes con Core Image
Reproducción y captura de audio, vídeo y fotografías
Síntesis de voz
Creación de videojuegos con Cocos2D.
Creación de menús e interfaces. Herramienta CocosBuilder
Sprites e interacción
Fondo de pantalla y scroll
Motor de físicas Box2D
Casos prácticos
1 crédito (10 horas)
Charlas impartidas por empresas y profesionales del sector.
Proyecto
2,5 créditos (25 horas)
Realización de un proyecto de aplicación móvil. Durante el curso se realizará paso a paso un proyecto de forma incremental, utilizando las tecnologías estudiadas, tanto en la plataforma Android como en iOS.
Se deberá también realizar un proyecto propuesto por el alumno (en la plataforma que éste elija) que se presentará a final de curso.
Objetivos y competencias
El objetivo principal será obtener una capacitación profesional para el desarrollo de aplicaciones nativas y aplicaciones web para dispositivos móviles, incluyendo su concepción, diseño, desarrollo y distribución.
Este objetivo puede desglosarse en los siguientes:
Comprender las particularidades específicas del desarrollo de aplicaciones para dispositivos móviles, en cuanto a interfaces de usuario, interacción con el mismo, restricciones impuestas por limitaciones de hardware, uso de sensores y conectividad
Conocer las principales herramientas de desarrollo para diferentes tipos de dispositivos móviles
Aprender los conceptos técnicos necesarios para el desarrollo de aplicaciones profesionales para dispositivos móviles basados en Android e iOS. Se deberá ser capaz de poder completar un proyecto completo para estos sistemas
Capacitar para el diseño de aplicaciones especificas para dispositivos móviles, comprendiendo las diferencias existentes con las aplicaciones web tradicionales