Temario
Introducción al Desarrollo de Apps:
Si bien el desarrollo de aplicaciones móviles es en ultima instancia la programación de una aplicación en un lenguaje de programación, al igual que tantos otros, reviste de particularidades que deben ser tomadas como contexto al momento de crear una App, como ser el diseño de la interfaz grafica (y de experiencia de usuario) basado en touch, arquitecturas típicas de Apps (stand-alone y contra diferentes back-ends), consideraciones de performance y privacidad, etc.
Fundamentos de Android:
Que se necesita para desarrollar una App con Android? Que IDEs se pueden utilizar? Que hace el emulador? Y el SDK? Cual es la “anatomía” de una App en Android? Como es el stack de tecnologías? Versiones de Android. Estructura de una App.
Desarrollo de Apps:
Luego de introducir conceptos generales y contexto, este modulo se sumerge en el desarrollo propiamente dicho de Apps con Android. Se verán temas tales como el ciclo de vida de una aplicación, el contexto, “Hola Mundo!”, controles básicos de interfaz grafica, menues, diálogos, tipos de controles, validaciones, programación de la GUI y de la lógica de negocios, soporte de diferentes dispositivos, uso del lenguaje Java en el contexto Android, etc.
Persistencia de Datos (Storage):
Este modulo agrega la posibilidad de persistir datos en almacenamiento secundario en el contexto de una Android App, de forma de poder recuperar esos datos mas adelante. Se verán diferentes formas y estrategias de persistencia (storage) de los datos en el dispositivo junto con los escenarios de uso de cada uno.
Comunicaciones & Conectividad:
Hasta aquí las Apps desarrolladas se consideran como aplicaciones stand-alone que no se comunican con otras aplicaciones, lo cual generalmente no es el caso deseable. Para ello, este modulo provee los diferentes mecanismos para hacer que una App se comunique y conecte con otras, incluyendo con servidores y servicios de back-end quienes comúnmente proveen de servicios escalables (incluso Cloud) para ser accedidos desde una gran cantidad de dispositivos móviles (permitiendo así la escalabilidad de la solución general).
Acceso al Dispositivo & sus Capacidades:
Aquí se verán formas de acceder, desde la App en desarrollo, a las diferentes capacidades y disponibilidades del dispositivo sobre el cual esta corre. Ejemplos típicos de estas capacidades son el acceso a la cámara, GPS, fotos, ubicación, información del usuario, etc.
Buenas Practicas:
Retomando algunos puntos del inicio del curso, este modulo muestra las buenas practicas en el diseño y programación de Apps con Android, incluyendo consideraciones importantes a tener en cuenta, como ser sobre la interfaz de usuario, ingreso de datos, performance, seguridad & privacidad, testing, etc.
Google Play Store:
Como es el store de Google? Como se publica una App? Como se monetiza? Como se manejan los in-App purchases? Aspectos a tener en cuenta al distribuir un App.
Temas Avanzados:
Finalmente, este modulo complementa los temas anteriores, en la medida del tiempo restante en el curso, como ser el manejo de múltiples threads, compartir información, contenido multimedia, etc.
Trabajo Obligatorio:
Elaboración por parte de los alumnos de un trabajo obligatorio cuya letra será entregada por el docente. En esta etapa se espera especial dedicación de tiempo por parte del alumno para programar su trabajo obligatorio.