Temario del curso
1 - Introducción a Swift
Objetivo
Usaremos Playground, la herramienta de Xcode para aprender a manejarse en el lenguaje de IOS y enseñaremos la nueva sintaxis que trae, incluyendo novedades como las variables opcionales y obligatorias. Una vez comprendido el alcance del nuevo lenguaje Swift estaremos preparados para comenzar a desarrollar nuestras primeras apps.
Contenido
Introducción a Swift
Bienvenida al curso
Introducción
Instalación de Xcode
PlayGround o Área de Juego
Strings en Swift
Operadores aritméticos y lógicos en Swift
Colecciones: Arrays, Sets, Diccionarios en Swift
Controles de Flujo en Swift
Funciones en Swift
Clases en Swift
Variables opcionales y Emojis
Descarga del código fuente
Hemos aprendido
Ejercicios
Ejercicio 1: Números primos
Lo necesario para comenzar
Pasos a seguir
Ejercicio 2: Palíndromos
Lo necesario para comenzar
Pasos a seguir
Práctica MI APP: ¡Hazlo tú mism@!
Lo necesario para comenzar
Pasos a seguir
2 - Introducción a Xcode
Objetivo
Mostraremos cómo manejarnos con Xcode (versión superior o igual a Xcode 8), explicando con detalle para qué se utiliza cada panel y en qué punto se hará necesario, incluyendo los emuladores y cómo aprovecharlos.
Contenido
Introducción a Xcode
Introducción
El Entorno
MVC en IOS
Emuladores virtuales
Componentes gráficos
Outlets y Segues declarativos
Segues programáticos
Unwind
Descarga del código fuente
Hemos aprendido
Ejercicios
Ejercicio 1: App Autenticación
Lo necesario para comenzar
Pasos a seguir
Ejercicio 2: App Navegación circular de orden N
Lo necesario para comenzar
Pasos a seguir
Práctica MI APP: Tienda Online y Autenticación
Lo necesario para comenzar
Pasos a seguir
3 - Ciclo de vida
Objetivo
Este módulo está orientado a conocer el ciclo de vida de la app. Es decir, qué métodos se desencadenan cuando arranca una app, cuando termina, al quedar en pausa o al reanudarse. En esta unidad se adquieren conocimientos mínimos que mejorará nuestra calidad de desarrollo.
Contenido
Ciclo de vida
Introducción
Ciclo de vida del ViewController
AppDelegate y el protocolo UIApplicationDelegate
Descarga de código fuente
Hemos aprendido
Ejercicios
Práctica MI APP: AppDelegate y ciclos de vida
Lo necesario para comenzar
Pasos a seguir
4 - Principios de diseño responsive. Autolayout, Constraints y Size Classes
Objetivo
Módulo reservado a explicar cómo obtener diseños gráficos responsive para todos los dispositivos móviles, haciendo uso autolayout, contraints y size classes, las herramientas gráficas que nos permitirán establecer los pilares visuales de nuestras apps.
Contenido
Interfaz gráfica. Autolayout, Constraints, Size Classes y StackViews
Introducción
Autolayout y Constraints I
AutoLayout y Contraints II
Previsualización multidispositivo
Size Classes I
Size Classes II
Stack Views
Stack Views, Autolayout y Size Classes
Descarga de código fuente
Hemos aprendido
Ejercicios
Ejercicio 1: Interfaz Calculadora Simple
Lo necesario para comenzar
Pasos a seguir
Ejercicio 2: Interfaz Calculadora Responsive
Lo necesario para comenzar
Pasos a seguir
Práctica MI APP: Catálogo de productos
Lo necesario para comenzar
Pasos a seguir
5 - Componentes avanzados
Objetivo
Veremos cómo utilizar correctamente TableView, TableView Controller y otros componentes como Web View, UIMap y más componentes, además de los componentes básicos.
Contenido
Componentes avanzados
Introducción
TableViewController
Versión estática
Generando UITableViewController
Dinamizando el modelo de datos e insertando un icono a cada Table View Cell
Eliminando y agregando celdas al TableViewController
Navigation Controller
UI Web View
MKMapView
Descarga del código fuente
Hemos aprendido
Ejercicios
Ejercicio 1: App Balones Deportivos
Lo necesario para comenzar
Pasos a seguir
Ejercicio 2: App Callejero
Lo necesario para comenzar
Pasos a seguir
Práctica MI APP: Subproductos del catálogo
Lo necesario para comenzar
Pasos a seguir
6 - Persistencia. CoreData
Objetivo
Aprenderemos a cómo generar persistencia local en nuestras apps, olvidándonos de SQL Lite y estudiando Core Data, la nueva manera de generar entidades para almacenar cuantos datos necesitemos en el dispositivo.
Contenido
Persistencia. CoreData.
Introducción
Presentando App Notas
Interfaz gráfica de la App Notas
UIAlertController y UIAlertAction
Insertando datos: NSManagedObject y NSManagedContext
Recuperando datos: NSFetchRequest
Modificando datos: NSManagedObject y NSManagedContext
Eliminando datos: NSManagedObject, NSManagedContext y NSFetchRequest
Descarga del código fuente
Hemos aprendido
Ejercicios
Ejercicio 1: App Lista de la compra
Lo necesario para comenzar
Pasos a seguir
Ejercicio 2: App Almacén de claves
Lo necesario para comenzar
Pasos a seguir
Práctica MI APP: Favoritos del catálogo
Lo necesario para comenzar
Pasos a seguir
7 - Servicios Web
Objetivo
Se aprenderá a consumir servicios web remotos, como aquellos basados en APIs RESTful, de manera que nuestra app estará interconectada con Internet para hacerla totalmente dinámica.
Contenido
Servicios Web
Introducción
App Chat
Interfaz gráfica de la app Chat
Peticiones asíncronas: URLRequest y URLSession
Llamadas síncronas y JSON: DispatchQueue.main.sync y JSONSerialization
Temporizadores: Timer y Timer.scheduledTimer
Entornos locales y remotos: MAMP y Proveedores de Hosting
Descarga del código fuente
Hemos aprendido
Ejercicios
Ejercicio 1: Instalación y configuración de un entorno local o remoto
Lo necesario para comenzar
Pasos a seguir
Ejercicio 2: App Chat con edad incorporada
Lo necesario para comenzar
Pasos a seguir
Práctica MI APP: Noticias online
Lo necesario para comenzar
Pasos a seguir
8 - Firebase en IOS
Objetivo
Se estudiarán cuestiones avanzadas como es la integración de Firebase, la solución de almacenamiento cloud de Google, lo que permitirá escalar las funcionalidades de nuestra app sin importarnos el rendimiento en lado servidor.
Contenido
Firebase en IOS
Introducción
App Firebase
Cocoa Pods: Integrando Firebase en IOS
Nodos NoSQL y DatabaseReference
Observadores y asignación de valores en tiempo real
Descarga del código fuente
Hemos aprendido
Ejercicios
Ejercicio 1: Instalación de Firebase en un proyecto IOS
Lo necesario para comenzar
Pasos a seguir
Documentos del curso
Enfoque

Objetivo
Al finalizar la formación te manejarás correctamente en Xcode, el entorno de desarrollo de Apple para crear apps móviles. Además, sabrás cómo diseñar una app en IOS para todos los dispositivos móviles, Iphone e Ipad, de forma responsive. Sacarás fruto de Core Data para lograr persistencia local. También conocerás cómo consumir servicios web propios y de terceros haciendo uso de componentes avanzados para obtener geolocalización en mapas y disponer el contenido e información de la app de forma estructurada, con capacidad para embeber recursos web. Como bonus extra, analizarás cómo comunicarte con el servicio cloud de Firebase, mezclando tecnologías de Apple y Google. Con este caudal de conocimientos, tendrás el objetivo de ser un IOS developer en la palma de la mano.
Dirigido a:
Se requiere que el alumno desee aprender a programar apps, como requisito imprescindible. Además, es necesario y requisito conocer al menos un lenguaje de programación (no influye cuál) y/o haber programado en algún tipo de plataforma para sacar el máximo provecho a Swift.
También está dirigido a aquellos desarrolladores Android que siempre han deseado conocer la plataforma alternativa y nunca han tenido tiempo de formarse en ella.
Por último, también está dirigido a desarrolladores Apple que programaron siempre con Objetive-C y deseen reciclarse con Swift.
Requisitos:
Conexión a Internet y disponer de un MAC con un sistema operativo que admita al menos Xcode 8 y Swift 3. Alternativamente, si no se dispone de un Mac, existe una opción probada y testada en www.macincloud.com, que permite a un precio muy económico alquilar un MAC oncloud y acceder a él por RDP o acceso remoto. Esta solución tiene algunas limitaciones técnicas respecto a un equipo MAC físico.
Conocer al menos un lenguaje de programación y estructuras de control básicas y conocimientos mínimos asociados.