2014 Curso Avanzado de Programación en Dispositivos Móviles con IOS Pablo Formoso Ayudas del programa de consolidación y estructuración de unidades de investigación competitivas: Agrupación Estratégica CITIC (CN2012/211). Cofinanciado por: Desarrollador Apps con Android e IOS (SoftWhisper) Jueves y Viernes de 9:30 a 14:30, los días 9 y 10, 16 y 17, 23 y 24, 30 y 31 de Enero. CITIC Centro de Investigación TIC Área de Formación 09/01/2014
Curso Avanzado de Programación en Dispositivos Móviles con IOS (40 horas) El propósito del curso es capacitar a los asistentes para desarrollar aplicaciones profesionales avanzadas para dispositivos móviles con IOS. Enfoque eminentemente práctico y con adaptación de los contenidos en función de las necesidades de los asistentes. PÚBLICO OBJETIVO Será un curso de asistencia mixta, con personal investigador CITIC y profesionales de empresas TIC gallegas. Este curso esta dirigido a Ingenieros informáticas que necesiten desarrollar aplicaciones para dispositivos móviles con el Sistema Operativo ANDROID. Dado el nivel de la audiencia a la que va dirigido se tendrá en cuenta que los asistentes tendrán como mínimo conocimientos de C/C++ siendo ideal la experiencia previa en ObjectiveC (a cualquier nivel) o de otro lenguaje de programación orientada a objetos (C#, Ruby, Java o similares). Como IDE desarrollo usaremos XCode 4.2 disponible para OSX Mountain Lion. Es necesario venir con OSX instalado junto con el XCode. OBJETIVOS Comprensión de la estructuración del desarrollo de aplicaciones móviles en ios mediante storyboards. Conocer las diferentes APIs de las que nos provee ios para crear nuestras apps. El compilador LLVM y las nuevas características de ObjetiveC Como afrontar el desarrollo de una aplicación desde que nace como prototipo hasta su publicación en el market o su distribución AdHoc o InHouse. Carga mayoritariamente práctica desde la primera clase. Cumplir con las expectativas de la audiencia. TEMARIO 1. ObjectiveC y nuestra primera app (~5 horas) Descripción del IDE XCode Introducción a ObjectiveC Categorías, Delegados y Protocolos en ObjetiveC Creación de la primera app haciendo uso de StoryBoards. Ciclo de vida. Modos de configuración y ejecución de aplicaciones Emulador de ios (iphone4/5 y ipad) Pequeña introducción teórica a la programación en Objective C y práctica directa con el XCode.
2. Introducción a la SDK (~2 horas) Principales componentes de una app en ios Limites y requisitos que deben cumplir las aplicación ios Principales frameworks de desarrollo y estructura de la SDK Sistema de ficheros de una App Breve toque teórico para introducir la SDK de desarrollo y conocer claramente que se puede y que no hacer a la hora de desarrollar una app en ios 3. Storyboards a fondo (~3 horas) Creación del flujo de una aplicación Segways y vistas modales Diferentes formas de navegación. Principales componentes de la UI IBActions y Outlets Los storyboards se han convertido en una herramienta muy potente en ios para la creación de las GUI de forma muy rápida y con un nivel de personalización muy alto. 4. Principales componentes de la UI (~3 horas) Uso básico de la tablas en ios. Comportamiento de un View, Scrollview. Dimensiones y limitaciones de tamaño. Uso del componente PageViewController. Componentes de selección y pickers. Componentes de formulario. 5. Tablas y componentes de UI avanzados (~2 horas) Personalización de celdas en las Tablas Edición y reordenación de tablas. Personalización de componentes. Uso del framework UIAppearance. 6. Eventos y Notificaciones (~2 horas) NotificationCenter y como gestionar los mensajes dentro de la aplicación. Configuración y ejecución de eventos a través de notificaciones. Alertas visuales y dialogos. Uso del MBProgressHUD para mostrar mensajes de feedback.
7. Acceso al hardware del dispositivo (~3 horas) Acceso a la cámara. Uso del LocationManager y el GPS. Uso de mapas y del MapKit. Introducción al modo radar en segundo plano. Uso del acelerómetro y el giroscopio. 8. Componentes multimedia (~2 horas) Reproducción de audio y sus estados. Reproducción de vídeo y sus estados en reproducción remota. Multimedia en segundo plano. 9. Programación gestual en la UI (-2 horas) Detección de diferentes Taps y sus eventos asociados. Detección de gestos y sus eventos. Uso de los mapas en las aplicaciones. 10. Conectividad (~6 horas) Gestión de conexiones síncronas. Gestión de conexiones asíncronas. Uso de la librería AFNetworking. JSon y XML parsing. Operaciones en cola. Manejar el NSOperationQueue y NSOperations. 11. Introducción a Newsstand (~ 2 horas) Explicación del frameworks. Tecnologías actuales en auge para la creación de contenidos. Ventajas del newsstand. 12. CoreAnimation y CoreGraphics (~ 2 horas) Desarrollo a un nivel más bajo de la SDK con CoreAnimation. Creación de animaciones directamente con CA Framework. CoreGraphics y los contextos gráficos en ios para el procesamiento de imágenes
13. Libres (horas restantes) Gestión y teorías de InAppPurchases Desarrollo de juegos con Cocos2D OpenGL ES 2.0 Dependiendo de las demandas de los asistentes esta última parte podemos amoldarla a diferentes temáticas. Por experiencia la gente se va muy contenta con un juego listo. PONENTE Pablo Formoso Estrada Nacido en Santiago de Compostela, Galicia. Es Licenciado en Ingeniería Informática por la Universidad Europea de Madrid. Master en dirección estratégica y gestión de la Innovación por el Instituto Universitario de Postgrado. Ya desde joven comenzó en el mundo de la informática y la programación, con 8/9 años empezó a juguetear con un Commodore64 para pasar por los 286,486, etc... y con 14 años ganó un premio en las olimpiadas gallegas de programación. A día de hoy está enfocado con todo su esfuerzo al mundo de Ruby, Rails y aplicaciones móviles, muy enfocado a ios y Android. Tras terminar sus estudios y llevar ya dos años de experiencia laboral en empresas y realizando trabajos como Freelance regresó a Galicia donde trabajó en Colabora Ingenieros durante un periodo de más de un año. A lo largo de esos años en la universidad y en los diferentes trabajos comenzó varios proyectos en Java y sobre todo en Ruby donde más adelante participaría en la Euruko 2009 de Barcelona. Socio y fundador de Softwhisper desde 2010, empresa dedicada al desarrollo de aplicaciones para dispositivos móviles (iphone, ipad, Android y Windows Phone) y aplicaciones web usando Ruby on Rails. Entre sus principales proyectos y clientes destacables: Vandal Networks, La Voz de Galicia, 20 Minutos Online, Dielectro Industrial SL, Vicom Comunicación y R Cable / Proyecto Feirón. LUGAR Y HORARIO Localización: Edificio CITIC- Centro de Investigación de las TIC, Campus de Elviña 15071 (A Coruña) Jueves y Viernes de 9:30 a 14:30, 9 y 10, 16 y 17, 23 y 24, 30 y 31 de Enero. INSCRIPCIÓN PARA INVESTIGADORES El curso será completamente gratuito para los investigadores. Las inscripciones se deberán realizar antes de FINALES del mes previo al curso vía e-mail a proyectos.idi@citic-research.org incluyendo el nombre y cargo de los asistentes, grupo al que pertenecen, e-mail y teléfono de contacto
INSCRIPCION PARA EMPRESAS Las empresas interesadas deberan abonar 250 euros (+ IVA), por cada uno de sus empleados que asista al curso. El curso será completamente gratuito para los investigadores. Las inscripciones se deberán realizar antes de FINALES del mes previo al curso vía e-mail a proyectos.idi@citic-research.org incluyendo el nombre y cargo de los asistentes, grupo al que pertenecen, e-mail y teléfono de contacto. Cuando confirmen su inscripción se les enviará un mail informándoles de las condiciones de pago. Plazas limitadas. Se priorizará por orden de inscripción y de pago de la matrícula.