Curso de iOS 9 y Swift 2: de Cero a Experto

El curso más completo de iOS 9 en español. Aprende creando 17 apps y sin experiencia previa.
4.8 (40 ratings) Instead of using a simple lifetime average, Udemy calculates a
course's star rating by considering a number of different factors
such as the number of ratings, the age of ratings, and the
likelihood of fraudulent ratings.
209 students enrolled
$19
$200
90% off
Take This Course
  • Lectures 184
  • Length 29 hours
  • Skill Level All Levels
  • Languages Spanish
  • Includes Lifetime access
    30 day money back guarantee!
    Available on iOS and Android
    Certificate of Completion
Wishlisted Wishlist

How taking a course works

Discover

Find online courses made by experts from around the world.

Learn

Take your courses with you and learn anywhere, anytime.

Master

Learn and practice real-world skills and achieve your goals.

About This Course

Published 2/2016 Spanish

Course Description

Nuestro Curso de Desarrollo de Apps para iOS te enseñará las herramientas necesarias para desarrollar apps para iPhone e iPad en Swift, el nuevo lenguaje de programación de Apple utilizado para desarrollar para iOS. El curso incluye algunos algoritmos y patrones de diseño importantes así como consejos y best practices.

Al finalizar el curso, serás capaz de reproducir y entender la gran mayoría de funcionalidades de las apps más populares de iOS y profundizar en ellas para hacer tus propias apps.

Sin duda, la práctica a través de la construcción es una muy buena forma de aprender, por eso durante el curso, los estudiantes realizarán más de 20 apps cubriendo todos los aspectos esenciales del desarrollo de apps para iOS. Cada app que realices mejorará tus habilidades y dispondrás del código fuente del instructor para acceder a él, contrastarlo con el tuyo y mejorarlo.

Qué vas a aprender en este curso

  • Swift 2: Aprende el lenguaje nativo de desarrollo de apps para iOS y Mac.
  • Xcode: Aprende a manejarte por su interfaz y todos los trucos necesarios para maximizar tu tiempo.
  • Cocoa y UIKit: Conoce a fondo los frameworks básicos de desarrollo de apps, tanto a nivel lógico, funcional como a nivel visual.
  • iOS9 y XCode 7: Utiliza la última tecnología disponible de la mano de Apple.
  • Diseño de interfaces: todos los elementos de la vista necesarios para configurar tu app: UIButton, UILabel, UITextField, UIPickerView, UISlider, UIViewController...
  • Storyboard y diseño responsive: Aprende a crear impresionantes interfaces utilizando el Interface Builder a nivel gráfico de Apple. Arrastra los elementos por la pantalla y crea apps para todos los dispositivos de Apple
  • Programación básica: aprende programación desde cero, variables, bucles, condicionales, hilos...
  • Programación avanzada: patrones de programación MVC, de fachada, de factoría, delegación, NSNotificationCenter, bloques de código como parámetro, completion handlers...
  • Repositorio Bitbucket: Aprende a utilizar el control de versiones Git de Bitbucket para colaborar de forma productiva en un pequeño equipo o entre varios ordenadores.
  • Uso de tablas y colecciones: UITableViewController (como Facebook, Contactos o WhatsApp) y UICollectionViewController (como la propia app de Fotos) son las dos formas más estandarizadas de mostrar una colección de elementos en pantalla directamente sin casi necesidad de programar vistas. Además veremos como personalizar las celdas de tablas y colecciones.
  • Navegación entre diferentes pantallas: aprende a crear decenas de vistas conectadas entre ellas a través de un menú de navegación gracias a UINavigationController.
  • Uso de ficheros: utilizar las property lists, XML, JSON para almacenamiento y uso de la información en nuestra app separando así datos de la programación en código.
  • Bases de datos locales con CoreData: almacenamiento de datos utilizando XCDataModels y obteniendo resultados con NSFetchResultsController
  • Cloud computing y uso de Parse: utiliza un servidor gratuito en la nube como es Parse para guardar, almacenar, consultar, modificar y eliminar información en tiempo real sin necesidad de subir una nueva app a la App Store.
  • 30 días con 100% garantía de devolución: si no quedas satisfecho, tienes 30 días para reclamar la devolución de tu pago sin ningún problema.

Las opiniones de los estudiantes hablan por si solas - 5 estrellas de valoración

  • Raziel Tovar - Excelente curso! Me parece que Juan sabe como explicar de forma muy sencilla lo que antes me parecía muy complejo. Lo recomiendo bastante!
  • María del Mar Cardona - Lo que yo buscaba! Un curso fabuloso, especialmente para mí que aunque sé algo de java me hacía mucha ilusión adentrarme en la programación para iOS que sin duda es muy atractiva! Lo recomiendo al 100% a toda la gente que quiera aprender a hacer apps.
  • Miguel Ángel Ferri - Excelente curso para empezar a desarrollar tu app desde cero Tengo muchos años de experiencia en el desarrollo de juegos y aplicaciones web y escritorio, elegí este curso para introducirme en el desarrollo de aplicaciones para IOS y me ha parecido muy bien explicado, con un lenguaje fácil y comprensible para cualquier persona. En definitiva 100% recomendable para toda aquella persona, con o sin experiencia, que quiera empezar a desarrollar para IOS.

Apúntate ahora y únete a más de 2.000 alumnos en este Curso de Desarrollo de Apps.

What are the requirements?

  • Un Mac con Mac OS X Snow Leopard o posterior instalado
  • No se necesita experiencia previa en programación
  • Muchas ganas y motivación para aprender!

What am I going to get from this course?

  • Crear sus propias apps en Swift 2 para iOS
  • Utilizar y extender el uso de los frameworks básicos como UIKit o Cocoa
  • Aplicar los principios básicos de diseño de interfaces para dispositivos móviles
  • Conocer los conceptos acerca de la orientación a objetos con casos prácticos
  • Ampliar los conocimientos sobre patrones de diseño, MVC y Orientación a Objetos y prepararse para profundizar más en el mundo de la programación
  • Uso de tablas y colecciones
  • Uso de bases de datos y ficheros como property lists o Core Data para almacenamiento de información
  • Uso de Parse, un servidor en la nube gratuito

What is the target audience?

  • Este curso es ideal para los iniciados en el mundo de la programación iOS en Swift. No necesitas experiencia previa
  • Principiantes o expertos que ya conozcan Objective-C y quieran migrar a Swift
  • Programadores que desean profundizar acerca de la orientación a objetos
  • Programadores que vengan de otros lenguajes de programación o frameworks
  • Programadores web que desean expandirse a las plataformas móviles
  • Emprendedores que quieran aprender a hacer su propia app para ahorrarse el coste que supone externalizarlo
  • Trabajadores de empresas que desean ampliar sus conocimientos y optar a ascensos y mejores posiciones en su lugar de trabajo.
  • Empresas que desean formar a sus empleados para que sean más competentes con la última versión del sistema operativo móvil de Apple.

What you get with this course?

Not for you? No problem.
30 day money back guarantee.

Forever yours.
Lifetime access.

Learn on the go.
Desktop, iOS and Android.

Get rewarded.
Certificate of completion.

Curriculum

Section 1: ¡Empezamos el curso!
Tu instructor: Juan Gabriel Gomila
Preview
01:39
Bienvenido al curso
Article
05:31
  • Lo primero que necesitaremos para poder hacer apps para iOS es un Mac. Vamos a ver cómo podemos conseguir uno sin que sea un sobre coste para nosotros en la web de Apple
  • Una vez que tenemos un Mac, necesitamos descargar Xcode desde la Mac App Store.
Cómo hacer el curso si tengo Windows - Mac In Cloud
Preview
08:33
Cambios en Swift 2.2 y Xcode 7.3
09:33
1 question

Vamos a repasar los conceptos básicos de este curso

Section 2: Conoce tu entorno de trabajo
10:05

Vamos a crear una app desde cero. Para ello Xcode nos ayudará con un selector de apps basado en plantillas típicas. Así mismo lo podremos configurar poniendo un nombre idóneo, la empresa de desarrollo,…

13:16

Ahora que tenemos Xcode descargado, vamos a abrirlo por primera vez y nos vamos a enfrentar a los diferentes apartados de su interfaz. Conviene saber moverse por él pues es un poco complicado al inicio. La zona de navegación nos mostrará todos los archivos de que conste nuestra app; el editor será la zona de trabajo donde programaremos y realizaremos interfaces gráficas; mientras que la zona del inspector será donde vayamos mirando

3 questions

Vamos a ver si has captado lo esencial para poder empezar a crear apps!

Section 3: Proyecto 1: Botones, etiquetas y textos
01:59

Para conseguir un eBook totalmente gratis debes poner una valoración a este curso. Tampoco te olvides visitar la web del curso y suscribirte a la newsletter.

14:49

El primer elemento para crear apps y mostrar información en pantalla es la etiqueta, llamada UILabel. Vamos a añadir una etiqueta de texto a la app para empezar a interactuar con los elementos de la pantalla.

15:26

Para añadir un botón en pantalla, simplemente hay que arrastrarlo donde queramos! Nada más fácil Ya que estamos aprenderemos la diferencia entre IBOutlet y UIActions.

13:51

Vamos a añadir una caja de texto para que el usuario pueda añadir información y trasmitirla a la app. También intentaremos que los usuarios vean el texto que han introducido en pantalla. Más importante aún será aprender el uso del patrón de delegación, totalmente necesario para ocultar el teclado de la pantalla..

08:43

Vamos a añadir una imagen y una UIImageView a nuestra app. Las UIImageViews tienen dos modos de representación muy diferentes: scale to fill nos deformará la imagen para ocupar el 100% del espacio disponible; aspect fit nos la reducirá para que quepa en la zona indicada, mientras que aspect fill nos la agrandará, acortando incluso los bordes si hace falta.

03:18

Esta primera práctica consiste en aprender a llevar a cabo dos acciones muy simples: pedir el nombre al usuario y saludarle en pantalla por un lado; pedir la edad del usuario y transformar su edad a años de perro.

04:30

Solución al primer reto planteado

Descarga la app inicial - Hola Swift
Article
06:28

Solución al segundo reto planteado.

Descarga la app ¿Cuantos años perrunos tienes?
Article
6 questions

Vamos a repasar los elementos clave de esta sección

Section 4: Proyecto 2: Programación básica en Swift
Una nueva forma de jugar, el Playground
07:40
Variables enteras, decimales y booleanas
17:21
Conversor de kilómetros a millas
15:28
La navegación entre vistas
14:38
Practica 2: El conversor de divisas - La vista
13:25
El conversor de divisas - La programación
15:16
2 questions

Vamos a repasar los conceptos básicos de programación

Section 5: Proyecto 3: Colecciones y operadores de decisión
Formas de guardar la información: el uso de los diccionarios en Swift
11:32
Formas de guardar la información: el uso de los arrays
08:52
Operadores de decisión: If y Else
18:28
Recreando el acceso con usuario y contraseña
08:34
Práctica 3: ¿Cuantos dedos tengo?
02:36
Práctica 3: Diseño de la UI
05:39
Práctica 3: La programación de la app
14:30
1 question

Vamos a repasar los operadores de decisión

¿Que te parece este curso?
02:16
Section 6: Proyecto 4: Los operadores de iteración
06:15

En esta clase veremos los operadores de iteración, el for y el while

15:23

El bucle for o ciclo for es una estructura de control en la que la PC nos muestra el como programar si es que nosotros queremos programar un robot B-bot , en este se puede indicar el modo en la que se puede indicar el número mínimo de iteraciones. Está disponible en casi todos los lenguajes de programación imperativos.

11:19

El Bucle while o bucle mientras es una estructura de la mayoría de los lenguajes de programación estructurados cuyo propósito es repetir un bloque de código mientras una condición se mantenga verdadera.

03:24

En matemáticas, particularmente en matemática clásica elemental, un número primo es aquel número natural mayor que unoque admite únicamente dos divisores diferentes: el mismo número y el 1.A diferencia de los números primos, los números compuestos son naturales que pueden factorizarse.

Los números primos menores que 100 son los siguientes: 2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89 y 97.

12:36

Vamos a realizar el diseño de la UI de la app de los números primos.

15:38

Vamos a finalizar la app de los números primos con la programación de la criba de Eratóstenes y introduciendo un concepto clave: el de Optional Binding.

05:06

Vamos a repasar brevemente los contenidos tratados en esta primera parte básica.

06:55

Dejamos aquí una lista de propuestas para practicar lo que hemos ido aprendiendo a lo largo de las primeras clases. Ahí van una serie de retos. Disfrútalos!!

3 questions

Vamos a repasar los últimos contenidos vistos

Section 7: Proyecto 5: El reloj de cocina
17:19

Vamos a ver las UINavigationBar y las UIToolbar como elementos clave para la navegación entre pantallas.

13:51

Los temporizadores son muy importantes para ejecutar tareas de forma periódica sin mucha complicación en su cálculo.

02:04

Vamos a crear un temporizador, un reloj de cocina, un cronómetro, o cualquier app que imagines y que necesite de un reloj.

11:56

Vamos a resolver el reto de crear un temporizador, un reloj de cocina, un cronómetro, o cualquier app que imagines y que necesite de un reloj.

Descarga la app de El temporizador de cocina
Article
La navegación
2 questions
Section 8: Proyecto 6: Las tablas
28:28

La vista de tabla (UITableView) es el componente central en muchas aplicaciones. Es un elemento con muchas opciones, es importante que aprendamos a utilizarlas correctamente. En twosquare la vamos a utilizar para mostrar la lista de checkins.

Las clases que intervienen a la hora de representar una tabla son:

  • UITableView : La tabla en sí
  • UITableViewCell : Cada una de las celdas de una tabla

Viendo la implementación que nos creó por defecto Xcode, vemos que hay muchos métodos propios de un controlador de tabla. Estos métodos en realidad son de los protocolos UITableViewDelegate y UITableViewDataSource. El delegate tiene información de cómo se tiene que comportar la tabla, por ejemplo el tamaño de las celdas, el método que se ejecuta cuando se selecciona una celda, etc. Por otro lado, el datasource tiene información del contenido que tiene que mostrar la tabla, por ejemplo el número de celdas, el número de secciones, el contenido de las celdas, etc. Revisa la documentación de las dos clases para que veas los métodos que tienen.

Observando la documentación vemos que los únicos métodos que son requeridos son:

  • tableView:cellForRowAtIndexPath : Devuelve la celda configurada.
  • tableView:numberOfRowsInSection : Devuelve el número de celdas que hay en cada sección. Por defecto hay una única sección.

Ya que estos métodos son los únicos requeridos, vamos a implementarlos.


http://juangabrielgomila.com/cursos-online/ios9-swift/3-3.TableViews.zip

02:08

Pongamos en práctica todo lo aprendido con las tablas: vamos a crear la app de las Tablas de Multiplicar.

10:27

Para crear la app de las tablas de multiplicar nos hace falta introducir un nuevo elemento de UI: los sliders.

11:39

Vamos allá con la programación de la lógica de la app de las tablas de multiplicar.

Descarga la app de las tablas de multiplicar
Article
Section 9: Proyecto 7: Persistencia de datos
14:19

Cada aplicación tiene un sistema de almacenamiento por defecto para cada usuario llamado User Default System (Desde ahora UDS), el cual está compuesto por una base de datos en la que, a través de unos parámetros y métodos, podemos almacenar y recuperar ciertos valores, que suelen ser pequeñas cantidades de datos que usamos comúnmente en nuestra aplicación. A estos valores por defecto se les llama: preferencias del usuario. Por ejemplo, podríamos querer permitirle a los usuarios elegir cuán periódicamente sincronizar ciertos datos con iCloud, este valor de tiempo lo podemos almacenar en el UDS y recuperarlo al inicio de la aplicación.

Podemos clasificar las preferencias de usuario en 2 categorías: las que cambian frecuentemente y las que no. En esta oportunidad trabajaremos con las que cambian frecuentemente, la otra categoría la veremos en artículos posteriores ya que requiere un poco más de profundidad.

La clase NSUserDefaults nos permite interactuar con el UDS, proveyendo diversos métodos para guardar y recuperar datos desde esta base de datos por defecto.

Algunas características de esta clase

  • Solo existe una única instancia de esta clase por aplicación.
  • Una ventaja es el almacenamiento en caché de la información. Un sistema como éste implicaría abrir la base de datos constantemente, en concreto cada vez que el usuario pida información. Para evitar esta constante apertura, la clase almacena los datos en caché. El método synchronize es invocado periódicamente y se encarga de escribir los datos nuevos en caché y de actualizar los ya existentes, y esto lo hace de forma transparente al usuario. No obstante si no deseas esperar a la sincronización automática, puedes usar este método para actualizar los datos inmediatamente, teniendo cuidado de llamarlo sólo cuando hayas hecho alguna modificación. Así nos evitamos una sobrecarga de conexiones con la base de datos.
  • Otro punto importante a tener en cuenta es que todos los valores retornados desde la base de datos son inmutables (es decir, que no se pueden modificar), incluso aunque guardaras un valor mutable (por ejemplo una instancia de NSMutableString), al retornarlo al usuario sería inmutable.

http://juangabrielgomila.com/cursos-online/ios9-swift/3-5.NSUserDefaults.zip

11:01

Uno de los problemas que suele ser más frecuente haciendo apps es el de esconder el teclado. Vamos a ver cómo hacerlo con dos métodos muy útiles. Descarga el proyecto desde aquí: http://juangabrielgomila.com/cursos-online/ios9-swift/3-6.Uso%20del%20teclado.zip

5 questions

Vamos a repasar los contenidos con las tablas

Proyecto 7: La app de tareas (To Do Lists)
03:05
To Do Lists - Las vistas
17:37
To Do Lists - El modelo de datos (MVC)
23:22
To Do Lists - El pegamento del Modelo y las Vistas: El Controlador
13:01
To Do Lists - Cómo persistir las clases propias: NSCoder y NSKeyArchiver
22:11
To Do Lists - Mejoras visuales a las tablas: colores y subtítulos
05:19
To Do Lists: Cómo eliminar datos de las tablas
06:43
To Do Lists: Cómo reordenar datos de las tablas
08:14
To Do Lists: Cómo editar datos de las tablas
16:46
To Do Lists: Propuesta de mejora para la app
02:10
To Do Lists: Ejemplo de mejora
04:40
Color Notes Plus
04:25
Descarga la app de To Do Lists
Article
2 questions

Vamos a repasar los últimos contenidos

Section 10: Proyecto 8: Descargando datos de internet
Como descargar datos de internet
15:41
El problema del App Transport Security en iOS 9
06:01
Parsear NSData a NSString
05:24
El uso de Web View
08:30
Un Web View de verdad
04:00
Descarga el proyecto de práctica de la conectividad
Article
17:22

En esta clase veremos funciones avanzadas de los strings como búsqueda, indexación, filtrado, sustitución,... Bájate el playground directamente desde aquí: http://juangabrielgomila.com/cursos-online/ios9-swift/4-2.StringsPlayground.playground.zip

Proyecto 8: ¿Qué tiempo hace?
03:19
¿Qué tiempo hace? - Gráficos Open Source en Pixabay
Preview
05:17
¿Qué tiempo hace? - Diseño de la interfaz
10:41
11:09

Descarga el logo de la app aquí. http://juangabrielgomila.com/cursos-online/ios9-swift/4-3.logoElTiempo.png.zip

¿Qué tiempo hace? - La Splash Screen
11:00
¿Qué tiempo hace? - La llamada a la web de Weather Forecast
11:15
¿Qué tiempo hace? - Parsing de los resultados
13:07
Descarga la app de Weather Forecast
Article
2 questions

Vamos a repasar conceptos sobre la conectividad e internet

Section 11: Proyecto 9: APIs externas

Students Who Viewed This Course Also Viewed

  • Loading
  • Loading
  • Loading

Instructor Biography

D. Juan Gabriel Gomila Salas, Licenciado en Matemáticas, Data Scientist & Game Designer

Juan Gabriel Gomila “Stay hungry, stay foolish“ - ¡Siempre he creído que el cielo es el límite en todos los aspectos!

Como Licenciado en Matemáticas, he estado en contacto con gran variedad de escenarios y casos atípicos, donde se plantea una situación y debe resolverse de una forma óptima y eficiente.


Mi CV:

Artículos y publicaciones:

Decenas de artículos y publicaciones relacionadas con el mundo de las matemáticas, el tratamiento de imágenes junto con la revista internacional IPOL, las lógica detrás de las máquinas tragaperras, el diseño lógico de videojuegos y el análisis de datos. Conoce más acerca de estos y otros temas en mi web personal o en la web de mi estudio Frogames.

Docencia Universitaria:

Desde 2015 soy profesor en dos asignaturas de matemáticas del Grado de Telemática impartido por la Universidad de las Islas Baleares y en el HND de Desarrollo de Videojuegos impartido por la Escuela de Diseño de las Islas Baleares. Así mismo, los cursos en Udemy me ayudan a mejorar para convertirme en un instructor no solamente presencial y en grupos reducidos de alumnos si no también haciendo uso de las nuevas tecnologías y a grupos más homogéneos de alumnos.

Desarrollo de Videojuegos en PlaySpace SL:

Desde 2012, trabajo en la empresa de desarrollo de videojuegos española PlaySpace SL, desarrollando juegos clásicos de mesa y social casino como el Parchís, Bingo, Juegos de Cartas o máquinas de Slots. Empecé llevando a cabo las funciones de Game Designer y Data Scientist, definiendo las nuevas funcionalidades a partir de los datos existentes y mejorando el contenido a cada etapa. Desde 2014 dirigiendo el producto como Product Manager y Game Producer coordinando las labores de lanzamiento de nuevos juegos y funcionalidades.

Desarrollo de Apps:

Cuento con experiencia laboral en crear y lanzar de 30 apps y videojuegos lanzados por mi estudio Frogames y en más de 5 proyectos con empresas reconocidas internacionalmente incluyendo Audición Plena, Medical Alert, Plaiout o Pillapartida entre otros. En este aspecto soy publisher de aplicaciones en diferentes países y mercados online incluidos los de Google Play, Amazon Store y Apple App Store. En la web corporativa de Frogames y en mi propio blog encontrarás mi portfolio de proyectos lanzados para que valores su calidad y estilo.

Online Marketing / SEO:

Tengo experiencia en la creación de KPIs y realización de predicciones a medio y largo plazo basada en los datos clave de un negocio. Así mismo, tengo experiencia en optimizar tanto el SEO como el ASO de los artículos y apps que elaboro para conseguir el mayor número de descargas orgánicas sin invertir dinero en marketing. Así mismo, he coordinado varias campañas de Google Adwords y Facebook Ads para acelerar las descargas y visitas de los productos que he lanzado, como estos mismos cursos en Udemy.

Si quieres más información gratuita sobre este tema, en el blog de mi página web tienes varios artículos acerca de esta y otras temáticas interesantes relacionadas con el mundo del marketing.

Desarrollo Web:

He elaborado las páginas webs de mi propio estudio y blog creando plantillas Wordpress en HTML 5 haciendo uso de Bootstrap 5.

Data Mining y Business Intelligence

Con la experiencia en el análisis de datos en PlaySpace, me he especializado en bases de datos relacionales con MySQL y los algoritmos de Slice & Dice para tratar y organizar los datos en dashboards con sentido y usables para sacar conclusiones acertadas en los proyectos que he trabajado. En el blog de mi web personal encontrarás más artículos relacionados con el Data Mining y Business Intelligence con el que he trabajado en el area de los videojuegos y apps móviles.



Ready to start learning?
Take This Course