Carrera profesional de Desarrollo de Aplicaciones Móviles
Objetivo General:
Aprende a programar aplicaciones móviles en los dos sistemas más solicitados del mercado, Android e iOS/Apple.
El objetivo principal de este curso es conseguir que los alumnos aprendan a desarrollar aplicaciones para dispositivos móviles como teléfonos inteligentes (smartphones) y tabletas (tablets) con sistemas operativos de código abierto (Android) y código propietario (iOS de Apple), partiendo de un diseño técnico ya elaborado, aplicando las particularidades de ambas plataformas, teniendo en cuenta sus diferencias, y llegar a publicarlas con el fin de obtener rentabilidad económica por su explotación, usando para ello modelos de comercialización de apps.
Dirigido a:
Trabajadores/as preferentemente desempleados, residentes en la Comunidad de Madrid.
Se requiere como mínimo:
- Título de FP Grado superior preferentemente del área de informática
- Altos conocimientos de programación en Java y sobre desarrollo general de aplicaciones.
- Conocimiento básico, a nivel de usuario, de teléfonos inteligentes con sistema operativo de código abierto.
Se realizarán pruebas de nivel para el acceso al curso.
Duración del curso: 300 horas
Relación de módulos formativos:
El orden de los módulos es orientativo, pudiendo comenzar por iOS o Android.
- Android
- Módulo 1. Programación fundamental en sistemas operativos de código abierto y desarrollo de apps.
- Programación fundamental.
- Herramientas de desarrollo básicas: entornos de desarrollo Eclipse y lenguaje Java.
- Depurador del sistema operativo, uso con emulador y con dispositivo físico.
- Escritura de una app básica utilizando el sistema de Activities.
- Diseño de un layout adaptativo utilizando el sistema de layouts XML.
- Uso de las Intents para invocar servicios del sistema y para la coordinación entre Activities.
- Flujo de vida de un Activity.
- Almacenamiento y recuperación de contenidos.
- Conceptos comunes de UI, como “toast”.
- Los Services.
- Comunicaciones online, peticiones a API, mantenimiento de la fluidez y cacheo de resultados.
- Controles estándar pero avanzados, como mapas, compartir en redes sociales, etcétera.
- Altas y hacer “submit” de apps en Google Play.
- Servicios de terceros.
- Servicios EC2 y S3 de Amazon, Apple Game Center.
- Google Maps, relación con los controles de mapas en móviles y el “embedding” en web; integración de información propietaria extra y problemas de uso/licencia.
- Servicios de ayuda para objetivos concretos: Parse, Urban Airship para PUSH, etcétera.
- Metodologías para el desarrollo de apps.
- Metodología para diseñar una app en su concepto: valor “core”, Unique Selling Points, modelo de actores para los usuarios, casos de uso y “user stories”, tecnología, diseño de uso, distribución, marketing y modelo de negocio.
- Flujo de trabajo para realizar el diseño de la app, basado en wireframes.
- Metodología de trabajo con el cliente, el jefe de proyecto, y el propio público.
- Testeo “QA Assurance” para la calidad del código (cliente y servidor).
- Planteamiento de testeo de usabilidad con usuarios finales.
- Estructuración del lanzamiento de una app para un sistema operativo de código abierto.
- Módulo 2: 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, etcétera.
- Adaptación a tabletas.
- Ejemplos de ventana o pintado OpenGL ES como introducción a los gráficos avanzados y los videojuegos.
- Módulo 3: Comercialización y distribución de apps.
- Comercialización, mercado, distribución, promoción y marketing de apps Android.
- Modelos de distribución de apps: directo para apps web, vía redes sociales para apps, principalmente de redes sociales, y vía app stores para apps móviles y tabletas. App stores y vías de comercialización alternativas.
- Distribución y comercialización de apps por redes sociales: raíles de conexiones existentes.
- Dinámicas de distribución en red. Viralidad. Coeficientes de viralidad. Ejemplos clásicos (Hotmail, Facebook, HotOrNot, “Sent from my Blackberry”).
- Métodos de incentivado de distribución: affiliate marketing. Upselling. Cross-selling. Pay-per-download. Bundling.
- Utilización de ads y ad-placement para distribución de apps.
- Utilización de QR para distribución de apps.
- SEO/SEM aplicado a apps.
- Modelos de negocio y comercialización para las apps de Android.
- El concepto de modelo de negocio.
- Principales modelos de negocios y modos de comercialización existentes en el mundo de las apps: de pago, gratuitas, lite+paid, freemium, per-transaction-fee, micro-transactions, virtual goods, in-app purchases, ad-supported, sponsored, trial+paid, etcétera.
- Ejemplos representativos de uso de estos modelos de negocio.
- El A/B testing como modo de optimización y refinamiento para llegar a los mejores resultados.
- Análisis racional de modelo de negocio para proyectos de diseño de ads que se vayan a realizar; planteamiento de formas de implementar y testear las posibles opciones.
- iOS / Apple
- Módulo 1. Introducción a las apps, los dispositivos móviles y la programación en Objective-C.
- Introducción a los dispositivos móviles.
- Introducción a la arquitectura computacional de los dispositivos móviles.
- Introducción a los sistemas operativos y las plataformas software móviles.
- Introducción a los entornos de desarrollo, simuladores y herramientas de desarrollo.
- Concepto y diseño de apps.
- Nuevo medio de las apps: Internet de escritorio y móvil.
- Funcionamiento de las redes sociales como medio de funcionamiento y de promoción.
- Dinámica de las tiendas “app stores”.
- Posibilidades de los dispositivos móviles modernos, estado de las plataformas incompatibles.
- Introducción a la programación y Objective-C.
- Manejo del entorno iOS Dev Center y el lenguaje Objective-C.
- XCode, Interface builder, Instruments.
- Introducción a la programación.
- Introducción a la depuración y la simulación del dispositivo objeto.
- Introducción a la programación orientada a objetos.
- Introducción a la programación concurrente.
- Algoritmos y estructuras de datos simples.
- Métodos simples de entrada y salida.
- Programación de interfaces de usuario y gestión de eventos.
- Programación de interfaces de red.
- Módulo 2. Desarrollo de apps en iOS.
- Programación de apps en iOS.
- Métodos de entrada/salida.
- Gestión de memoria.
- Gestión asíncrona de eventos.
- Creación de interfaces gráficos de usuario.
- Programación de servicios de red.
- Metodologías para el desarrollo de apps.
- Ciclo de vida de software.
- Metodologías de desarrollo.
- Metodologías ágiles para el desarrollo de apps.
- Módulo 3. Programación avanzada en iOS.
- Algoritmos y estructuras de datos avanzados.
- Depuración avanzada y estrategias de pruebas.
- Optimización de código.
- Sensores y sistemas avanzados de interacción.
- Sistemas de geolocalización.
- Programación de interfaces con servicios de terceros e Internet.
- Programación gráfica, animación y multimedia
- Almacenamiento de datos.
- Módulo 4. Comercialización y distribución de apps iOS.
- Modelos de negocio y comercialización de aplicaciones móviles en las plataformas Apple.
- Conceptos generales de los modelos de negocio.
- Modelos de comercialización y distribución de apps en el marco de Apple.
- Publicidad en los distintos medios relacionados con las apps y su relación con la plataforma Apple: navegador, redes sociales, y móviles.
- Comercialización de apps en redes sociales.
- Monetización de apps en la plataforma Apple.
- Comercialización y monetización de apps basada en publicidad.
- Áreas de relación entre el mundo físico y el digital: QR codes, sistemas de realidad aumentada, etcétera.
- Casos de éxito y de fracaso de apps y plataformas para apps.
- SEO/SEM en apps de código cerrado.
- Proyecto final para el desarrollo de apps iOS.
- Gestión de un proyecto de desarrollo de apps para iOS.
- Validación.
- Paso a producción.
- Despliegue.
- Comercialización.
- Pruebas de calidad comercial en la plataforma Apple.