Curso de Introducción al Desarrollo de Apps en IOS y Swift (Programa detallado)

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.

PROGRAMA 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

  1. Introducción a Swift
    1. Bienvenida al curso
    2.  Introducción
    3.  Instalación de Xcode 
    4.  PlayGround o Área de Juego
    5.  Strings en Swift
    6.  Operadores aritméticos y lógicos en Swift
    7.  Colecciones: Arrays, Sets, Diccionarios en Swift
    8.  Controles de Flujo en Swift
    9.  Funciones en Swift
    10.  Clases en Swift
    11. Variables opcionales y Emojis 
    12. Descarga del código fuente
    13. Hemos aprendido
  2. Ejercicios
    1. Ejercicio 1: Números primos
    2.  Ejercicio 2: Palíndromos
    3. Práctica MI APP: ¡Hazlo tú mism@!

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

  1. Introducción a Xcode
    1. Introducción
    2. El Entorno
    3. MVC en IOS
    4. Emuladores  virtuales   
    5. Componentes gráficos
    6. Outlets y Segues declarativos
    7. Segues programáticos
    8. Unwind
    9.  Descarga del código fuente
    10. Hemos aprendido
  2. Ejercicios
    1. Ejercicio 1: App Autenticación
    2.  Ejercicio 2: App Navegación circular de orden N
    3. Práctica MI APP: Tienda  Online y Autenticación

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

  1. Ciclo de vida
    1. Introducción
    2.  Ciclo de vida del ViewController
    3.   AppDelegate y el protocolo UIApplicationDelegate
    4.  Descarga de código fuente
    5.  Hemos aprendido
  2. Ejercicios
    1. Práctica MI APP: AppDelegate y ciclos de vida

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

  1. Interfaz gráfica. Autolayout, Constraints, Size Classes y StackViews
    1. Introducción
    2.  Autolayout y Constraints I
    3.  AutoLayout y Contraints II
    4.  Previsualización multidispositivo
    5.  Size Classes I
    6.  Size Classes II
    7.  Stack Views
    8. Stack Views, Autolayout y Size Classes
    9. Descarga de código fuente
    10. Hemos aprendido
  2. Ejercicios
    1. Ejercicio 1: Interfaz Calculadora Simple
    2.  Ejercicio 2: Interfaz Calculadora Responsive
    3. Práctica MI APP: Catálogo de productos

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

  1. Componentes avanzados
    1. Introducción
    2.  TableViewController
    3. Navigation Controller
    4. UI Web View
    5.    MKMapView
    6.  Descarga del código fuente
    7.  Hemos aprendido
  2. Ejercicios
    1. Ejercicio 1: App Balones Deportivos
    2.  Ejercicio 2: App Callejero
    3. Práctica MI APP: Subproductos del catálogo

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

  1. Persistencia.  CoreData.
    1. Introducción
    2.  Presentando App Notas
    3.  Insertando datos: NSManagedObject y NSManagedContext
    4.  Recuperando datos: NSFetchRequest
    5.   Modificando datos: NSManagedObject y NSManagedContext
    6. Eliminando datos: NSManagedObject, NSManagedContext y NSFetchRequest
    7.  Descarga del código fuente
    8.  Hemos aprendido
  2. Ejercicios
    1. Ejercicio 1: App Lista de la compra
    2.  Ejercicio 2: App Almacén de claves
    3. Práctica MI APP: Favoritos del catálogo

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

  1. Servicios Web
    1. Introducción
    2.  App Chat
    3. Interfaz gráfica de la app Chat
    4. Peticiones asíncronas: URLRequest y URLSession
    5. Llamadas síncronas y JSON: DispatchQueue.main.sync y JSONSerialization
    6. Temporizadores: Timer y Timer.scheduledTimer
    7. Entornos locales y remotos: MAMP y Proveedores de Hosting
    8. Descarga del código fuente
    9. Hemos aprendido
  2. Ejercicios
    1. Ejercicio 1: Instalación y configuración de un entorno local o remoto
    2.  Ejercicio 2: App Chat con edad incorporada
    3. Práctica MI APP: Noticias online

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

  1. Firebase en IOS
    1. Introducción
    2.  App Firebase
    3.  Cocoa Pods: Integrando Firebase en IOS
    4.  Nodos NoSQL y DatabaseReference
    5.  Observadores y asignación de valores en tiempo real
    6.  Descarga del código fuente
    7.  Hemos aprendido
  2. Ejercicios
    1. Ejercicio 1: Instalación de Firebase en un proyecto IOS
©2019 Instituto Superior de Software, S.A. · Politica de Privacidad ·