Temario del curso
Conceptos Básicos de Programación
- Conceptos de OOP (Programación Orientada a Objetos)
- ¿Qué es un software?
- Concepto de cuartos organizados frente a no organizados en programación
- Por qué el Software
¿Por qué Apple y iOS?
- ¿Por qué iOS?
- Historia de Apple
- Historia de iOS
- El USP (Propuesta Única de Ventas) de Apple
- Lo que hace famoso a Apple
- UX frente a UI
Ambiente de Desarrollo
- Requisitos del ambiente de desarrollo
- Xcode y el SDK de iOS
- Registro en Apple Developer
- Razones por las que se rechazan aplicaciones
- Directrices de Interfaz Humana
Proyectos Xcode iOS
- Visión general de Xcode
- Creación de un proyecto iOS
- Ejecución en el simulador y dispositivos reales
Bases de Swift
- ¿Por qué Objective-C y ahora por qué Swift?
- Factores sorprendentes de Swift
- Variables
- Constantes
- Hello World en Swift
- Creación de UILabel con código
Animación de Imágenes y Carga de Imágenes
- UIImageView
- Animaciones básicas de UIView y UIImageView
- Playground
- Carga perezosa de imágenes
- Propiedades perezosas
Clases de Swift y Escenas
- 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
- Heredación
- Creación de Escenas
- Implementación de View Controllers
- Playground
Ciclo de Vida y Cadena de Respuesta
- Ciclo de vida de la vista
- Ciclo de vida de la aplicación
- Cadena de respuesta - 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
- Creación de una interfaz de usuario con código
- Outlets y Actions
- Protocolos - requeridos y opcionales
- Gestión de memoria
Notificaciones y Localización
- Notificación Push - Silenciosa y Visible
- Localización
Visión General de Objective-C
- Propiedades
- Categorías
- Sintaxis de funciones
- Atributos de propiedades readWrite y readOnly
Integración con Redes Sociales en iOS:
- Integración con Facebook
- Integración con Twitter
- Integración de correo electrónico
- Integración de una aplicación de terceros
Componentes UI en iOS:
- UITextField
- UITextView
- UISegmentedControl
- UISlider
- UISwitch
- UIPageControl
- UIStepper
- UIScrollView
- UIPicker
- UIActionSheet
- UIWebView
- SearchBar
Otros Componentes Básicos y Otros en iOS:
- Grupos y carpetas
- Closures
- Tuplas
- Sesión de URL
- URLRequest
- UIAlertView
- UIActivityIndicatorView
- internal, public, private
- Guard
- Optionals
Hilos en iOS:
- GCD (Grand Central Dispatch)
- NSOperationQueue
- Hilo principal y hilos de fondo
Interacción del Usuario
- Botones y controladores
- Detección de gestos de deslizamiento
- Detección de gestos de toque
- Tabla personalizada
- Bases de Collection View
Aplicaciones de Pantallas Múltiples
- Navegación en tablas
- Aplicaciones con pestañas
- Controladores de navegación
- Presentación de un controlador y diferentes animaciones al presentar y empujar controladores
Servicios de Ubicación
- Posición y altitud
- Dirección del norte magnético
Acceso al Dispositivo y Almacenamiento
- Almacenamiento de archivos
- Acceso a la biblioteca de música
- CoreData y SQLite en iOS
- Cadena de claves (Key Chain)
- User Defaults
- PLists
- NSSearchDomain
- Concepto de directorio y seguridad de aplicaciones NSSearchDomain
Marco de Discurso
- Voz a texto
- Texto a voz
Marco Multidispositivo
- Envío de datos entre dispositivos
- Conexión múltiple de dispositivos
Redes
- Acceso a la red
- Serilización y deserialización de JSON
- Servicios web REST
- Bases de análisis XML
Carga de Aplicación en App Store
- ITunes Connect
- Puerto del Desarrollador - Perfiles de aprovisionamiento
- Implementación y distribución
- Ejecución de la aplicación en dispositivos reales
- Carga de la aplicación a App Store
Aplicaciones
- Juego Dots: https://itunes.apple.com/app/the-dots-free/id850315430
- Aplicación de Notas
- Aplicación de Contactos
- Obtención de datos desde un servidor mediante una API abierta, creación de una tabla y población de datos, muestra de detalles y barra de búsqueda para buscar algo, uso de Core Data para guardar datos offline
- Aplicación de tu propia idea
Requerimientos
Debes tener experiencia en al menos un lenguaje de programación.
Testimonios (3)
The way of transferring knowledge and the knowledge of the trainer.
Jakub Rekas - Bitcomp Sp. z o.o.
Curso - Machine Learning on iOS
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
Antonio gave is much background information, best practices and showed us useful tools to speed up our development process.
Philipp Hunger
Curso - Cross-platform mobile development with PhoneGap/Apache Cordova
Traducción Automática