Módulo 1: Desarrollo y distribución de aplicaciones para dispositivos móviles con sistema operativo abierto
Objetivo: Diseñar, desarrollar, publicar y monetizar aplicaciones para dispositivos móviles como teléfonos inteligentes (smartphones) y tabletas (tablets) con sistemas operativos de código abierto.
Duración: 150 horas
Contenidos teórico prácticos:
- Programación fundamental en sistemas operativos de código abierto y desarrollo de apps.
- Programación fundamental: Entornos de desarrollo y lenguajes de programación.
- Servicios de terceros: Amazon, Apple Game Center, Google, servicios de ayuda.
- Metodologías para el desarrollo de apps: diseño, usabilidad, desarrollo, testeo, control de calidad, distribución, marketing y modelo de negocio.
- Metodología de trabajo con el cliente y con el equipo de desarrollo: flujos de trabajo.
- Programación avanzada.
- Creación de elementos de ui “custom” con aspecto configurable.
- Gestión de comunicaciones asíncronas.
- Cacheo de contenidos para obtener fluidez y poder usar el app offline.
- Interacción avanzada: acceso agenda, cámara, acelerómetro, giróscopo, otros elementos
- Adaptación a tabletas.
- Ejemplos de ventana o pintado opengl como introducción a los gráficos avanzados y los videojuegos.
- Comercialización y distribución de apps.
- Comercialización, mercado, modelos de distribución (directo, vía redes sociales, vía app stores,…), incentivos, promoción y marketing de apps Android (ads, QR, SEO/SEM,…).
- Modelos de negocio y comercialización para apps de Android (de pago, gratuitas, lite-paid, freemium, per transaction, virtual godos, in app purchases, sponsored,…
Módulo 2: Desarrollo y distribución de aplicaciones para iOS con Objective-C Y Swift
Objetivo: Desarrollar, preparar, publicar y monetizar aplicaciones para iOS en el AppStore a través de iTunes Connect o plataformas/servicios similares.
Duración: 200 horas
Contenidos teórico prácticos:
- Introducción. Mundo Apple: iOS Dev Center, iTunes Connect, App Store.
- Estado del Arte en el mundo de las Apps.
- Software & Hardware.
- Apps Nativas VS WebApp.
- App para iPhone, iPad, o Universal.
- Mundo Apple: iOS Dev Center, iTunes Connect, App Store.
- Tipos de Licencias de desarrollo.
- iOS Dev Center.
- iTunes Connect.
- El App Store.
- Montar y configurar el IDE de desarrollo a utilizar durante el curso.
- El entorno de Desarrollo: xCode 8.
- Crear un proyecto. Objetivo.
- Parámetros esenciales de nuestro proyecto para el App Store.
- Navigation Sections.
- Archivos y Grupos.
- El archivo PLIST.
- Organizer.
- Certificados, Profiles y Devices.
- POO, Objetive-C y Swift.
- Conceptos básicos sobre la Programación Orientada a Objetos.
- Los lenguajes Objective-C y Swift.
- Objetos, Clases, y Métodos.
- Propiedades, variables y constantes.
- Opcionales y tratamiento de valores nulos.
- Tipos dinámicos y casting.
- Getter y setters.
- Métodos y propiedades estáticas.
- Colecciones y clases de Foundation.
- Errores y tratamiendo de excepciones.
- Fundamentos de una aplicación en iOS.
- Patrones de diseño en iOS.
- Patrón MVC.
- Patrón Target-Action.
- Patrón Delegate.
- Patrón Observer.
- Storyboards, IBAction, IBOutlets.
- Delegados y notificaciones.
- Vistas y controles.
- Etiquetas.
- Botones.
- Campos de texto.
- Vistas de imagen.
- Otros controles.
- Gestión del teclado virtual.
- Escenas y controladores.
- Ciclo de vida de una app.
- Controlador base.
- Controlador de tabla.
- Controlador de navegación.
- Transiciones: Modal vs Show.
- Protocolos y comunicación entre escenas.
- Controlador de alerta y menú.
- iPad. Controlador pantalla dividida. Transición Show Detail.
- Desarrollo de una aplicación básica con escenas de listado y detalle (Objective-C).
- Desarrollo de una aplicación básica con escenas de listado, detalle, creación y edición (Swift).
- Persistencia y networking.
- Preferencias de usuario.
- Ficheros.
- JSON.
- Core Data.
- Peticiones web.
- WebView y carga de HTML.
- Otras funcionalidades.
- Multimedia: imagen, audio y vídeo.
- Mapas y gelocalización.
- Notificaciones locales.
- Importación de librerías. CocoaPods.
- Publicación y comercialización de aplicaciones.
- Preparación para la publicación.
- Iconos y splash.
- Internacionalización.
- Publicación en Play Store.
- Mecanismos de monetización.
- Integración con la nube: Google Firebase.
- Plataforma Google Firebase.
- Funcionalidad de registro y login con Google.
- Funcionalidad de acceso a BBDD en Firebase.
- Desarrollo de una aplicación sencilla que se integre con los servicios de registro, login y base de datos de Google Firebase.