Desarrollo para Dispositivos Móviles con Sistema Operativo de Código Abierto (Android)
Objetivo General:
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, partiendo de un diseño técnico ya elaborado, aplicando las particularidades de este tipo de plataforma y teniendo en cuenta sus diferencias con las de código propietario, 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 en plataformas de código abierto.
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: 150 horas
Relación de módulos formativos:
- 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.