Temario del curso
Conceptos básicos de programación
- Conceptos de POO (Programación Orientada a Objetos)
- ¿Qué es un software?
- Concepto de espacios organizados versus desorganizados en programación
- ¿Por qué software?
¿Por qué Apple y iOS?
- ¿Por qué iOS?
- Historia de Apple
- Historia de iOS
- Propuesta de valor única (USP) de Apple
- ¿Por qué es famosa Apple?
- UX frente a UI
Entorno de desarrollo
- Requisitos del entorno de desarrollo
- Xcode y el SDK de iOS
- Registro de desarrollador en Apple
- Causas comunes de rechazo de aplicaciones
- Guías de interfaz humana
Proyectos iOS en Xcode
- Visión general de Xcode
- Creación de un proyecto iOS
- Ejecución en simulador y en dispositivos reales
Fundamentos de Swift
- ¿Por qué Objective-C y ahora Swift?
- Aspectos destacados de Swift
- Variables
- Constantes
- Hola mundo en Swift
- Creación de UILabel mediante código
Animación y carga de imágenes
- UIImageView
- Animaciones básicas de UIView y UIImageView
- Playground
- Carga diferida (lazy loading) de imágenes
- Propiedades diferidas (lazy)
Clases y pantallas en Swift
- Creación de clases en Swift
- Gestión de memoria
- Referencias fuertes y débiles
- Tipos de constructores y destructores en Swift
- Protocolos, Hashable y Printable
- Herencia
- Creación de pantallas
- Implementación de controladores de vista (View Controllers)
- Playground
Ciclo de vida y cadena de respondedores
- Ciclo de vida de la vista
- Ciclo de vida de la aplicación
- Cadena de respondedores: métodos touchBegan, touchMoved, etc.
- NSTimer
Diseño adaptativo
- Storyboards frente a XiB
- Soporte para múltiples dispositivos
- Tamaño de iconos y orientación del dispositivo
- Construcción de interfaces de usuario mediante código
- Salidas (Outlets) y acciones
- Protocolos: obligatorios y opcionales
- Gestión de memoria
Notificaciones y localización
- Notificaciones push: silenciosas y visibles
- Localización
Visión general de Objective-C
- Propiedades
- Categorías
- Sintaxis de funciones
- Atributos de propiedad readWrite y readOnly
Integración de redes sociales en iOS:
- Integración con Facebook
- Integración con Twitter
- Integración de correo electrónico
- Integración de aplicaciones de terceros
Componentes de interfaz de usuario (UI) en iOS:
- UITextField
- UITextView
- UISegmentedControl
- UISlider
- UISwitch
- UIProgressBar
- UIPageControl
- UIStepper
- UIScrollView
- UIPickerView
- UIActionSheet
- UIWebView
- SearchBar
Otros componentes básicos y complementarios en iOS:
- Grupos y carpetas
- Clausuras (Closures)
- Tuplas
- URL Session
- URLRequest
- UIAlertView
- UIActivityIndicatorView
- Ámbitos: internal, public, private
- Guard
- Opcionales (Optionals)
Hilos (Threading) en iOS:
- GCD (Grand Central Dispatch)
- NSOperationQueue
- Hilo principal e hilos en segundo plano
Interacción del usuario
- Botones y manejadores
- Reconocimiento de gestos de desplazamiento (pan)
- Reconocimiento de gestos de toque (tap)
- Tablas personalizadas (Custom Table View)
- Fundamentos de las colecciones (Collection View)
Aplicaciones con múltiples pantallas
- Navegación mediante tablas
- Aplicaciones con pestañas
- Controladores de navegación
- Presentación de controladores y diferentes animaciones al presentar o impulsar controladores
Servicios de ubicación
- Posición y altitud
- Dirección de la brújula
Acceso y almacenamiento en el dispositivo
- Almacenamiento de archivos
- Acceso a la biblioteca de música
- CoreData y SQLite en iOS
- Cadena de claves (Keychain)
- Preferencias del usuario (User Defaults)
- PLists
- NSSearchDomain
- Concepto de directorio y seguridad de aplicaciones en NSSearchDomain
Framework de reconocimiento de voz
- De voz a texto
- De texto a voz
Framework Multipeer
- Envío de datos entre dispositivos
- Conexión de múltiples dispositivos
Redes
- Acceso a redes
- Serialización y deserialización de JSON
- Servicios web REST
- Fundamentos de análisis XML (XML Parsing)
Publicación de aplicaciones en App Store
- iTunes Connect
- Portal de desarrollador: perfiles de aprovisionamiento
- Despliegue y distribución
- Ejecución de aplicaciones en dispositivos reales
- Carga de aplicaciones en App Store
Aplicaciones prácticas
- Juego Dots: https://itunes.apple.com/app/the-dots-free/id850315430
- Aplicación de notas: Notes App
- Aplicación de contactos
- Obtención de datos desde un servidor mediante una API abierta, creación de una tabla para mostrarlos, visualización de detalles, barra de búsqueda para consultas y uso de CoreData para guardar datos de forma offline
- Aplicación basada en una idea propia
Requerimientos
Es indispensable haber tenido experiencia previa con al menos un lenguaje de programación.
Testimonios (2)
La forma de transferir conocimiento y el conocimiento del formador.
Jakub Rekas - Bitcomp Sp. z o.o.
Curso - Machine Learning on iOS
Traducción Automática
He's an experienced trainer with a real life experience in the topic he was teaching. That led the course to cover the most important topics which interests any developer working in the field, and small details would be easily overseen if he was not working in this platform. Moreover, he was giving the course using the latest versions of is and Swift (10 \ 3) and that is a huge advantage to be adapting such new technology in short time.
Abdullah Alaradi - Thiqah Business Services
Curso - iPhone and iPad Development in Swift for iOS 8 and Xcode 6
Traducción Automática