Temario del curso
Día 1:
- Conceptos de OOPS
- ¿Qué es el software?
- Habitaciones organizadas frente a habitaciones desorganizadas
- ¿Por qué el software?
- ¿Por qué iOS?
- Historia de Apple
- Historia de iOS
- El valor único de Apple (USP)
- ¿Por qué Apple es famosa?
- Diseño de experiencia de usuario (UX) frente a diseño de interfaz de usuario (UI)
- IDE
- Xcode
- Instalación de Xcode
- ¿Por qué Objective-C y ahora, ¿por qué Swift?
- Aspectos destacados de Swift
- Bases de Swift
- Variables
- Constantes
- Hello World en Swift
- Creación de etiquetas a través del código
- ImageView
- Animaciones de ImageView
- NSTimer
- Cadena de respuesta - métodos touchBegan, touchMoved, etc.
- Delegado principal de UIApplication
- Ciclo de vida de la aplicación
- Ciclo de vida de las vistas
- Cualquiera (Any)
- Opcionales
- internal, public, private
- Inicialización (init)
- Desinicialización (deinit)
- Playground
Aplicación a realizar: Juego de Puntos: https://apps.apple.com/app/the-dots-free/id850315430
Día 2:
- Animaciones UIView
- Extensiones (Extensions)
- UITableView
- Celda personalizada en UITableView
- Métodos de delegado y fuente de datos en delegados
- Cabeceras, pies de página, altura, etc. de UITableView
- Breve introducción a UICollectionView
- Deque en UITableView
- Marcador (Mark)
- Opcionales
- didSet
- willSet
- Guard
- Conceptos 2x y 3x
- Navegar de una vista a otra
- UINavigationController
- Presentar un controlador
- Storyboards
- Xibs
- Restricciones (Constraints)
- Tamaños de pantalla (Size classes)
- Protocolos - obligatorios y opcionales
- Gestión de memoria
Aplicación a realizar: Aplicación de notas: agregar, eliminar y actualizar una nota
Día 3:
- Gestos (Gestures)
- Closures
- Grupos y carpetas
- Reconocedores de gestos (Gesture recognizers)
- Análisis XML (XML Parsing)
- Serialización NSJSONSerialization
- Convertir datos a JSON
- Gestor de archivos (File Manager)
- Tuplas
- Enumeraciones (Enum)
- Bucle for-in
- Bucle while
- Servicios web (Webservices)
- URLSession
- URLRequest
- ¿Por qué el ecosistema de Apple es el mejor?
- Descripción imprimible (Printable - description)
- Hashable
- UIAlertView
- UIActivityIndicatorView
Aplicación a realizar: Obtener datos de un servidor desde una API abierta, crear una tabla y poblarla con datos y mostrar sus detalles.
Día 4:
- Carga diferida de imágenes (Lazy loading of images)
- Propiedades diferidas (Lazy properties)
- NSOperationQueue
- GCD (Grand Central Dispatch)
- Concepto de directorio y seguridad de las aplicaciones NSSearchDomain
- Controlador de pestañas (Tab Bar controller)
- Localización (Localization)
- Cadena de clave (Key Chain)
- Preferencias del usuario (User Defaults)
- Listas de propiedades (PLists)
- Gestor de archivos (FileManager)
- SQlite
- Extensiones (Extensions)
- Integración con redes sociales: crear contenido compartible propio
- UITextField
- UITextView
- UISegementControl
- UISlider
- UISwitch
- UIProgressBar
- UIPageControl
- UIStepper
- UIScrollView
- UIPicker
- UIActionSheet
- UIWebView
- Barra de búsqueda (SearchBar)
- Nuevo objetivo: Apple Watch, Extensiones, Teclado, Hoy, etc.
- NSNotifications en iOS
- Agregar bibliotecas de terceros
- Core Data
- Distribución y despliegue (Deployment and distribution)
- Ejecutar la aplicación en dispositivos reales
Aplicación a realizar: Obtener datos de un servidor desde una API abierta, crear una tabla y poblarla con datos, mostrar sus detalles y también agregar una barra de búsqueda para buscar algo.
Día 5:
- Notificaciones push - silenciosas y visibles
- Localización (Localization)
- Resumen de Objective-C
- Propiedades (Properties)
- Categorías (Categories)
- Sintaxis de funciones
- Archivos .h y .m
- Atributos de propiedades readWrite y readOnly
- Atributos de propiedades strong, weak y copy
- Atributos de propiedades atomic y non-atomic
- Cargar la aplicación a la App Store
Aplicación propia idea
Requerimientos
Debe tener al menos una experiencia en lenguajes de programación en el pasado.
Testimonios (3)
El modo de transferir el 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
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