¿Qué aprenderás en el Curso de iOS?

Actualmente hay una gran demanda de desarrolladores de software a nivel mundial, sobre todo de buenos desarrolladores iOS. Si quieres convertirte en un gran profesional, en este curso verás los frameworks que te permitirán crear las funcionalidades de las apps más populares. Además, estas mismas aplicaciones te servirán para crear un gran portfolio profesional.

Aquí aprenderás a través de la creación de apps completas a desarrollar con soltura aplicaciones nativas en iOS, para lo que usarás persistencia avanzada (Core Data), multitarea, gráficos, animaciones (Core Animation), geolocalización y posición del dispositivo (Core Location & Core Motion), reconocimiento de gestos de usuario y mucho más. Con este curso de desarrollo de aplicaciones para dispositivos iOS, puedes ir más allá de los primeros pasos y los conocimientos básicos y lograr el objetivo de crear aplicaciones nativas espectaculares para este sistema operativo.

¿Has dado tus primeros pasos con la programación iOS pero quieres más? ¡Con este curso teórico y práctico potenciarás tus habilidades y tu perfil laboral para especializarte en iOS avanzado!

Invierte en tu futuro

Lo que aprendas hoy, se quedará contigo para siempre. ¡Formarte es el primer paso para transformar tu vida!

Estudia donde sea

Al ser un curso online, puedes seguirlo desde cualquier parte del mundo. ¡Solo con un ordenador, tienes todo el conocimiento a tu alcance!

Impulsa tu carrera

En este curso adquirirás nuevas habilidades y herramientas que potenciarán tu perfil profesional.

Contenido del Curso de iOS

1.1. Bienvenido, Joven Padawan
2.1. ¿Qué son los Bloques?
 
2.2. Sintaxis de Bloques en Objective C
 
2.3. Demo de Iteración
 
2.4. Intro a GCD

2.5. Descarga síncrona Intro: bloquear la cola principal & MATERIAL
 
2.6. Descarga asíncrona: ¡Cielos! La gemela no acude a nuestra llamada
 
2.7. Descarga asíncrona & MATERIAL
 
2.8. El asíncronismo cambia el API de tus clases
 
2.9. Métodos que aceptan bloques como parámetros
 
2.10. Método con bloque de finalización & MATERIAL
 
2.11. Otros usos de bloques en Cocoa
 
2.12. Singletons
 
2.13. Crear un Singleton con GCD & MATERIAL
 
2.14. Arquitectura Asíncrona de Apps
 
2.15. Desafío
 
2.16. Qué hemos Aprendido & MATERIAL
 
2.17. Instalación plantilla vacía en Xcode 6 & MATERIAL
3.1. NSOperation & NSoperationQueue
 
3.2. Concurrencia II y CoreImage
 
3.3. NSOperation y NSOperationQueue
 
3.5. Recursos compartidos en programación concurrente
 
3.6. Intro a Core Image
 
3.7. Alternativas a las gemelas & MATERIAL
 
3.8. NSOperation de descarga & MATERIAL
 
3.9. CoreImage: un filtro de imágenes en una NSOperation
 
3.10. CoreImage: implementando el fitro & MATERIAL
 
3.11. Encadenar dos NSOperations seguidas mediante dependencias
 
3.12. CoreImage: encadenar dos filtros seguidos
 
3.13. Qué Hemos Aprendido & MATERIAL
4.1. Ciclo de Vida de una App
 
4.2. Ejecución en Background
 
4.3. NSURLSession: Descargas asíncronas
 
4.4. App de Ejemplo & MATERIAL
 
4.5. Descarga asíncrona & MATERIAL
 
4.6. Descarga fuera de proceso & MATERIAL
 
4.7. Demo de “Background Tasks” & MATERIAL
 
4.8. Qué Hemos Aprendido & MATERIAL
5.1. Gestos de Usuario
 
5.2. Geometría de una Vista

5.3. Angry Esteban & MATERIAL
 
5.4. Tap, Pan y Swipe & MATERIAL
 
5.5. Imágenes & MATERIAL
 
5.6. Implementar el tap & MATERIAL
 
5.7. Implementar el Pan & MATERIAL
 
5.8. Swipe
 
5.9. Swipe & MATERIAL
 
5.10. Swipe & MATERIAL b
 
5.11. Sacudida & MATERIAL
 
5.12. Reproducir Sonidos
 
5.13. Singleton para reproducir sonidos & MATERIAL
 
5.14. AGTSystemSounds & MATERIAL
 
5.15. AVAudioPlayer & MATERIAL
 
5.16. Qué Hemos Aprendido & MATERIAL
6.1. Intro a Core Animation
 
6.2. API de CoreAnimation
 
6.3. Propiedades Animables de una UIView
 
6.4. Animaciones con UIView
 
6.5. Xwing sin Animación & MATERIAL
 
6.6. Xwing con Animación Sencilla
 
6.7. Xwing con animación y opciones & MATERIAL
 
6.8. Transformada Afín
 
6.9. Demo de transformada afín & MATERIAL
 
6.10. Animación pendular con Spring y damping & MATERIAL
 
6.11. CALayers
 
6.12. Qué Hemos Aprendido & MATERIAL
7.1. Core Data
 
7.2. Cómo Diseñar una App: Everpobre
 
7.3. Introducción a Core Data
 
7.4. Arquitectura de Core Data
 
7.5. MVC & Core Data
 
7.6. KVC
 
7.7. KVO
 
7.8. NSManagedObject
 
7.9. Faults & Ciclo de Vida de un NSManagedObject
 
7.10. Destrucción & MATERIAL
8.1. Plantilla de Xcode para Core Data
 
8.2. AGTSimpleCoreDataStack & MATERIAL
 
8.3. Eramos Pocas Arrobas, y Parió la Abuela: @import & MATERIAL
 
8.4. Entidades y Relaciones
 
8.5. Introducción a la Creación de Modelo de Datos: Entidades y Atributos
 
8.6. Modelo de Everpobre: Notas y Libretas
 
8.7. Modelo de Everpobre: Entidades
 
8.8. Modelo de Everpobre: Relaciones
 
8.9. Crear una Instancia del AGTSimpleCoreDataStack
 
8.10. Crear Instancias de NSManagedObject a partir de una Entidad
 
8.11. Extra: Las tripas de un NSManagedObject & MATERIAL
 
8.12. Buena, pero Fea de Cara
 
8.13. Creación de Subclases de NSManagedObject Mediante Xcode
 
8.14. Acceso Normal a Propiedades
 
8.15. Creación Normal de Objetos
 
8.16. El Peculiar Sentido de Humor de Xcode & MATERIAL
 
8.17. moGenerator al Rescate!
 
8.18. Uso de moGenerator
 
8.19. Volvemos a Actualizar el Modelo
 
8.20. Métodos de Clase de AGTNotebook
 
8.21. Métodos de Clase de AGTNote
 
8.22. Blobs en Core Data
 
8.23. Un Blob de Imagen en las Notas & MATERIAL
 
8.24. Reglas de validación para la Photo y método de clase & MATERIAL
 
8.25. Implementación del método de clase de AGTPhoto & MATERIAL
 
8.26. Crear una Propiedad de Conveniencia para la Imagen & MATERIAL
 
8.27. Implementación de una propiedad de conveniencia para la imagen & MATERIAL
 
8.28. Gestionar la Memoria en el Modelo & MATERIAL
 
8.29. Simplificar AGTPhoto & MATERIAL
 
8.30. KVC y KVO en Core Data
 
8.31. Particularidades de NSManagedObject
 
8.32. Alternativa a Setter y Getter Personalizados con KVO & MATERIAL
 
8.33. KVO en AGTNotebook y ciclo de vida de un NSManagedObject & MATERIAL
 
8.34. KVO en AGTNote & MATERIAL
 
8.35. Refactorizado & MATERIAL
 
8.36. Cómo Guardar y Cuándo Conviene Hacerlo
 
8.37. Cómo Buscar
 
8.38. Implementar un Autoguardado a Cada N Segundos
 
8.39. Creamos datos para guardar & MATERIAL
 
8.40. Momentos adecuados para guardar & MATERIAL
 
8.41. Buscar y eliminar objetos en core data & MATERIAL
 
8.42. Crear un método de autoguardar: aplazar tareas en Cocoa & MATERIAL
 
8.43. Configurar el autoguardar & MATERIAL
 
8.44. Herramientas
 
8.45. Herramientas: Base
 
8.46. Herramientas: Core Data Editor
 
8.47. Qué Hemos Aprendido & MATERIAL
9.1. Introducción a NSFetchedResultsController AGTCoreDataTableViewController
 
9.2. Esquema de Everpobre & MATERIAL
 
9.3. AGTNotebooksViewController & MATERIAL
 
9.4. Añadir libretas & MATERIAL
 
9.5. Eliminar Libretas & MATERIAL
 
9.6. Gestión de Undo/Redo en Core Data
 
9.7. Deshacer Cambios & MATERIAL
 
9.8. Deshacer Cambios con el Sensor de Proximidad & MATERIAL
 
9.9. Qué Hemos Aprendido & MATERIAL

10.1. ¿Qué son las Categorías?

10.2. Ejemplo de Categoría & MATERIAL

11.1. Tablas Avanzadas
 
11.2. Ejemplo de Celdas Personalizadas & MATERIAL
 
11.3. Celdas Personalizadas No Repetidas & MATERIAL
 
11.4. Cajones & MATERIAL
 
11.5. Scroll Infinito
 
11.6. Associated Object: Añadir variables de instancia mediante una categoría & MAT
 
11.7. Implementación de Scroll Infinito & MATERIAL
 
11.8. “Pull to refresh” & MATERIAL
 
11.9. Intro a CocoaPods
 
11.10. Uso de CocoaPods y PullToRefresh
 
11.11. Qué Hemos Aprendido & MATERIAL
12.1. Collection Views
 
12.2. NSPredicate & MATERIAL
 
12.3. NSPredicate en la práctica & MATERIAL
 
12.4. NSPredicate y tabla & MATERIAL
 
12.5. Introducción a UICollectionView
 
12.6. Anatomía de una UICollectionView
 
12.7. Anatomía de una UICollectionViewCell
 
12.8. Registrar clases o nibs: ¿qué es mejor?
 
12.9. El layout de una Collection View: cómo funciona, características y problemas
 
12.10. UICollectionViewController & MATERIAL
 
12.11. Varias secciones en una UICollectionView & MATERIAL
 
12.12. Cabeceras y pies de secciones & MATERIAL
 
12.13. Añadir elementos a una Collection View & MATERIAL
 
12.14. Celdas personalizadas & MATERIAL
 
12.15. Reutilización de celdas personalizadas & MATERIAL
 
12.16. Nuestro propio NSFetchedResultsController
 
12.17. NSFetchedResults y CollectionViews
 
12.18. AGTEntityObserver: un NSFetchResults más flexible, y terapia de pareja & MATERIAL
 
12.19. Celda personalizada para la nota & MATERIAL
 
12.20. Un controlador de collection views para nuestras notas & MATERIAL
 
12.21. Layout-de-una-UICollectionView & MATERIAL
 
12.22. Qué Hemos Aprendido & MATERIAL
13.1. Texto Editable
 
13.2. UITextField y UITextView
 
13.3. Practicando con UITextField
 
13.4. UITextView y notificaciones del teclado
 
13.5. Practicando con UITextView & MATERIAL
 
13.6. Controlador de detalle de notas & MATERIAL
 
13.7. Antes de seguir, refactorizar
 
13.8. Demo del refactoring & MATERIAL
 
13.9. Animación del teclado & MATERIAL
 
13.10. Vista accesoria al teclado & MATERIAL
 
13.11. Creación de una nueva nota & MATERIAL
 
13.12. Edición del nombre de una nota & MATERIAL
 
13.13. Un controlador de detalle implementado como una tabla & MATERIAL
 
13.14 Qué Hemos Aprendido & MATERIAL
14.1. Los Controladores de Cocoa & Controladores Modales
 
14.2. UIImagePickerViewControlador
 
14.3. Repaso de controladores modales
 
14.4. Un UIGestureRecognizer en la UIImageView & MATERIAL
 
14.5. GTPhotoViewController & MATERIAL
 
14.6. El UIImagePicker en la práctica & MATERIAL
 
14.7. Eliminar una foto & MATERIAL
 
14.8. Repaso de CoreImage: detección facial y efectos
 
14.9. Imágenes con efecto “vintage” & MATERIAL
 
14.10. Detección facial y zoom & MATERIAL
 
14.11. Uso en el iPad
 
14.12. Picos de Memoria
 
14.13. Otros controladores modales: compartir notas mediante UIActivityController
 
14.14. Demo de UIActivityController & MATERIAL
 
14.15. Desafío: Camera-
 
14.16. Qué Hemos Aprendido & MATERIAL
15.1. Core Location
 
15.2. La Costa de Angola
 
15.3. Geocodificación Inversa
 
15.4. Migraciones Light en Core Data & MATERIAL
 
15.5. Nueva entidad en el modelo: Location & MATERIAL
 
15.6. Aplicamos Mogenerator & MATERIAL
 
15.7. Actualizamos los modelos de Note y Location & MATERIAL
 
15.8. Adaptamos AGTSimpleCoreDataStack para las migraciones light & MATERIAL
 
15.9. La celda de Nota observa el modelo & MATERIAL
 
15.10. Depuración en Core Data: examinar el estado del contexto & MATERIAL
 
15.11. Creación de predicados correctos y eficientes & MATERIAL
 
15.12. Migraciones Hard
 
15.13. Qué Hemos Aprendido & MATERIAL
16.1. Intro a MapKit
 
16.2.Conceptos de MapKit
 
16.3. iMazingerZ y su Annotation Object & MATERIAL
 
16.4. Cambio de región del mapa de iMazinger & MATERIAL
 
16.5. Distintos tipos de mapas & MATERIAL
 
16.6. AnnotationView & Callout & MATERIAL
 
16.7. Map Snapshot & MATERIAL
 
16.8. Nuevo modelo y entidad en Everpobre & MATERIAL

16.9. Llamamos a Mogenerator & MATERIAL
 
16.10. Refactorizamos AGTMapSnapshot & MATERIAL
 
16.11. Refactorizamos AGTLocation & MATERIAL
 
16.12. Refactorizamos la vista de detalle de nota & MATERIAL
 
16.13. Añadimos un gesture recognizer a la vista del snapshot & MATERIAL
 
16.14. Vista de detalle para una location con una MapView & MATERIAL
 
16.15. Implementamos MKAnnotation en AGTLocation & MATERIAL
 
16.16. Ajustamos región y tipo de Mapa & MATERIAL
17.1. Depuración en el dispositivo
 
17.2. Uso de Instruments
 
17.3. Problemas con la orientación de las imágenes de la cámara
 
17.4. Uso excesivo de memoria & MATERIAL
 
17.5. Reducimos el tamaño de las imágenes y arreglamos su orientación & MATERIAL
 
17.6. Resize de imagen en segundo plano & MATERIAL
 
17.7. Optimizar Core Data & MATERIAL

18.1. Práctica repaso opcional – Programación iOS Avanzada

19.1. Obtén tu certificado

¿Qué proyecto o práctica se realizará en este curso?

A lo largo del curso se harán ejercicios prácticos para aplicar lo aprendido en Git, GitHub y SourceTree.

Tu profesor:

Fernando Rodríguez

Fernando es desarrollador, instructor y geek asumido, además de un experto en la enseñanza de máxima calidad en programación y desarrollo para dispositivos iOS, Cocoa Touch y Objective C. Su dominio de cada tema, didáctica y sentido del humor le han llevado a ser uno de los más renombrados profesores de iOS a nivel mundial.

Es Chef de Formación de KeepCoding, Profesor Asociado de la U-tad y autor invitado de revistas como iPhoneWorld o Applesfera.com. También es ponente habitual en conferencias dentro y fuera de España (iOSDevUK, CodeMotion, BCNDevCon, etc.) y uno de los afortunados que suele conseguir tickets para los WWDC de Apple en San Francisco.

Cofundador y Chief Learning Officer de KeepCoding

Fernando Rodríguez

Cofundador y Chief Learning Officer de KeepCoding
Ingeniero de software especializado en nuevas tecnologías, calidad del producto, computación en la nube y aprendizaje continuo. Ha trabajado con Kubernetes, desarrollando aplicaciones y gestionando clústeres en producción a nivel global. También ha liderado la migración de aplicaciones legacy a contenedores, e implementado integración y despliegue continuo con ArgoCD. Además, ha sido ponente en eventos como Kubernetes Community Days y CommitConf.

FAQS

¿Cuál es la metodología de las clases?

Las clases de este curso son grabadas por un profesor experto. En este curso puedes preguntar tus dudas y las solucionaremos a la mayor brevedad posible. 

¡Nada! Al ser clases grabadas podrás verlas y repasarlas cuando quieras, desde cualquier sitio. ¡El horario lo pones tú!

¡Claro! Al ser un curso online, puedes realizarlo desde la comodidad de tu casa.

¡Sí! Si tienes cualquier duda, puedes realizar tu pregunta y en poco tiempo el profesor responderá tu pregunta. Si no llegas a obtenerla, puedes escribir a [email protected] e intentaremos responderte lo más pronto posible.

Si superas el curso, recibes nuestro Certificado KeepCoding de Finalización. 

Manejo básico de la consola de comandos de Linux/Windows (recomendable).

¿Te interesa seguir aprendiendo?

Aprende desde los fundamentos hasta obtener un nivel avanzado con nuestro bootcamp especializado.

¿Todavía tienes dudas? Prueba el Bootcamp 1 semana gratis