Categoría: Programación | _PROGRAMACION


Curso: iOS 10 y Swift 3: de Cero a Experto

o

suscríbete para tener acceso ilimitado a toda la formación

Regala este curso

Comparte este curso:

Swift 3 fue lanzado el 13 de junio de 2016. Obtener un buen inicio en la última versión del Swift antes que los demás es vital para tener garantías de éxito como programador!

¿Alguna vez has querido probar a cabo la programación de apps? ¿Has tratado de aprender Swift, sólo para estar harto de los incompletos tutoriales de YouTube o las clases o documentación en inglés? ¿Has empezado a migrar código de Swift 2 a 3?

En este curso,  Swift 3 es el protagonista. En es aprenderemos la información básica que tienes que saber para iniciarte en Swift 3. Yo mismo, Juan Gabriel Gomila, soy matemático, y en el mundo de la programación de apps, me he formado de forma  autodidacta, así que sé lo que se siente al comenzar desde cero en este mundillo. Mi objetivo fundamental es que vosotros, futuros estudiantes aprendáis con garantías de éxito. Si no me crees, échale un vistazo al resto de mis cursos y observa qué opinan los estudiantes de los mismos. Su palabra vale más que cualquier justificación que te quiera dar yo mismo.

Creo que se aprende mejor haciendo cosas, por tanto el formato será de clases en vídeo, seguidas por un ejercicio para ponerte a prueba, algún que otro examen a final de cada sección e incluso combinaremos las partes más teóricas de conceptos, con aspectos más prácticos llevando a cabo desarrollo de apps totalmente funcionales. Este formato te permitirá aprender  Swift en todo su esplendor y no solamente seguir las clases como un robot.

Swift se convirtió en un lenguaje Open Source en diciembre de 2015 por lo que ahora podrás hacer tus propias apps y seguir este curso tanto en Mac, como en Windows como en Linux!

Swift, un lenguaje moderno evolucionado a partir de Objective-C

Swift es un lenguaje de programación multi-paradigma desarrollado por Apple para su uso con iOS y OS X. Diseñado para reemplazar Objective C, se inició el proyecto Swift en 2010 y la primera aplicación móvil se estrenó en junio de 2014 a la Conferencia Mundial de Desarrolladores. A pesar de su objetivo de reemplazar Objective C, Swift es capaz de trabajar junto con el lenguaje Objective-C  más anticuado durante el uso de los frameworks de Cocoa Touch y Foundation.

Swift se construye con el compilador LLVM incluido desde Xcode 6 beta, y utiliza el tiempo de ejecución de Objective-C, lo que permite utilizar Objective-C, Objective-C ++ y  Swift para funcionar dentro de un mismo programa. Durante su debut, Swift fue descrito como "Objective C sin la C" por el Vicepresidente de Ingeniería de Software Craig Federighi de Apple.

Contenido e Información general

En este curso, se te conducirá a través de la creación de Swift a nivel local, el lenguaje en su totalidad, cómo se compara con otros lenguajes comunes (incluyendo Objective C), y la forma de empezar a trabajar en nuevos proyectos. En particular la estructura del curso cubre:

Parte I : Aprender Swift 3

Enfocado a aprender las bases de Swift 3, la sintaxis, el uso de las clases y la correcta gramática del lenguaje de programación, incluyendo

  • Variables y constantes
  • Strings, Enteros, Decimales y Booleanos
  • Arrays y Diccionarios
  • Valores opcionales, requeridos y nulos
  • Operadores de decisión y de iteración
  • Programación Orientada a Objetos, Atributos, Métodos y Herencia
  • Patrones de programación y diseño lógico

Parte II : Diseño de apps 

Enfocado a aprender el diseño de aplicaciones funcionales haciendo uso de:

  • Diseño de interfaces con Storyboards y los elementos de UIKit: UILabel, UITextField, UIButton, UISlider, UIView...
  • Diseño responsive, Autolayout, Size Classes y Stock Views
  • Animaciones de elementos gráficos
  • Modelos, Vistas y Controladores
  • UIViewController, UITableViewController, UICollectionViewController, UISearchController,... 
  • Novedades en iOS 10: Messages, Stickers, Speech, SiriKit...

Parte III : Proyectos completos

Enfocado a combinar todo lo aprendido durante el curso para hacer proyectos grandes, totalmente funcionales con el código fuente disponible para ser usado o incluso vendido en la App Store:

  • Mis Recetas, un recetario completo para crear, modificar, guardar recetas, compartirlas en redes sociales...
  • Los días de gloria, una app que incluye la opción de importar fotos de la librería y documentarlas con texto oral y transcripciones como si se tratara de un álbum de fotos.
  • Lugares, una app completa de lugares, ubicación geográfica, compartir en redes, guardar en base de datos, en la nube con iCloud, con buscadores, localizada para diferentes idiomas...


El curso está diseñado para proporcionar una visión completa de Swift, para que puedas  experimentar de forma inmediata. Al finalizar,  entenderás cualquier fragmento de código Swift y será capaz de desarrollar diversas aplicaciones personalizadas tanto a nivel visual como de programación. También obtendrá experiencia de trabajo con nuevo archivo .playground de Xcode que permite la escritura de código mucho más rápido y dinámico. 

El material del curso se actualiza periódicamente para incluir todas las actualizaciones más recientes e información. No olvides que solo por registrarte tienes acceso de por vida al curso, lo cual te da motivos más que de sobra para venir de vez en cuando y ver qué hay de nuevo en Swift.

¿A quién está dirigido?

  • El curso empieza desde cero con Swift y la programación de Apple, así que no se requiere experiencia previa
  • Para gente que tenga experiencia con Swift 2 o Objective-C, las primeras clases se podrán saltar rápidamente y empezar directamente con la programación de Apps.
  • Emprendedores o Start Ups con idea de una app o negocio que quieran aprender a crearla y plasmarla con garantías de éxito
  • Diseñadores o desarrolladores web que deseen iniciarse en el mundo del desarrollo app y móvil

Contenidos y requisitos del curso

Introducción 10min

Tu instructor: Juan Gabriel Gomila 02min

Cómo hacer el curso si tengo Windows - Mac In Cloud 09min

Descargar Xcode 8 Beta 07min

Descargar Xcode 8 desde la Mac App Store 03min

Cambios en las betas de Xcode 8

Variables y constantes

Contenidos del tema 01min

Mi primer playground 05min

Variables 08min

Ejercicio de variables

Las variables cambian 06min

Ejercicio de cambio de valor en las variables

Las constantes 05min

Ejercicio de constantes

¿Qué hemos aprendido? 02min

Cambios en Swift 3

Contenidos del tema 01min

ABI Stabilization 03min

Los operadores de C: ++ y -- 03min

Los nuevos bucles for 03min

Parámetros en las funciones 03min

Enumerados 03min

Acortar nombres de métodos y funciones 06min

Desaparecen las clases de Next Step 06min

Extensiones de clases 04min

Cambios en las clases de Core Graphics 06min

Los métodos de la clase String 07min

La herramienta para migraciones automáticas de Xcode 8 05min

¿Qué hemos aprendido? 02min

Xcode 8 ya disponible y cómo corregir errores de las betas (y de los vídeos) 21min

Enteros y Strings

Contenidos del tema 01min

La clase String 03min

Ejercicios con Strings

Emojis 04min

Ejercicios con Emojis

Los números enteros 04min

Ejercicio con Enteros

String interpolation 03min

Ejercicios de enteros y strings

¿Qué hemos aprendido? 01min

App 1: Hola Mundo

Contenidos del tema 01min

Crear el primer proyecto 04min

Un tour por Xcode 12min

El uso de los UIButtons 13min

El uso de UIAlertController y UIAlertAction 12min

El uso de las UILabels 12min

El uso de los UITextFields 14min

El uso de UIImageView 08min

Mejoras de nuestra app 03min

Los errores más típicos cuando creáis una app 10min

Reto 1: Hola mundo

¿Qué hemos aprendido? 02min

Descarga el código fuente de la App 1

Matemáticas, Floats y Doubles

Contenidos del tema 01min

Aritmética elemental 07min

Ejercicios de aritmética

Números decimales, floats y doubles 08min

Ejercicios con decimales

Castings 06min

Ejercicios de castings

Matemáticas avanzadas, el framework de Foundation 07min

Ejercicio de matemáticas

¿Qué hemos aprendido? 02min

Operadores de decisión y booleanos

Contenidos del tema 01min

El tipo de datos booleano 03min

Ejercicio de booleanos

La sentencia de decisión if 05min

Ejercicios con if

Comparaciones con decisiones 05min

Ejercicio de comparación

La sentencia de decisión else 04min

Ejercicio con else

Los operadores and y or 13min

Ejercicios con and y or

¿Qué hemos aprendido? 02min

App 2: De Millas a Kilómetros

Contenidos del tema 01min

Creando la vista 10min

Unir la vista y el controlador 11min

La conversión de millas a kilómetros, castings 07min

Mostrando los resultados por pantalla 08min

Refactorización, cómo limpiar nuestro código 08min

Las limitaciones de nuestra app 07min

Reto 2.1: Mejoremos la app con los conocimientos que tenemos

Reto 2.2: Nuevas apps y propuestas

¿Qué hemos aprendido? 02min

Descarga el código fuente de la App 2

Comentarios e impresiones por consola

Contenidos del tema 01min

Comentarios 09min

Ejercicio de comentarios

Imprimir por consola 05min

Ejercicios de imprimir por consola

Crear una app desde cero 15min

¿Qué hemos aprendido? 01min

Los switchs

Contenidos del tema 01min

Los Switchs 07min

Ejercicios con Switchs

Los defaults en un Switch 08min

Ejercicios con Switch y Defaults

Múltiples opciones e intervalos en un mismo case de un Switch 08min

Ejercicios con múltiples cases de un switch

¿Qué hemos aprendido? 01min

App 3: ¿Qué tiempo hace?

Contenidos del tema 03min

Los Storyboards universales 06min

Diseñando una vista 10min

El concepto de autolayout 13min

Libertad del autolayout con imágenes 09min

El asistente de previsualización 13min

Añadiendo las etiquetas de texto 07min

Las Size Classes, diferentes configuraciones para diferentes dispositivos 20min

Size classes para el tamaño de las fuentes 14min

Reto 3: Size Classes y Autolayouts

¿Qué hemos aprendido? 03min

Descarga el código fuente de la App 3

Los arrays y diccionarios

Contenidos del tema 01min

Los arrays 07min

Ejercicios de arrays

Añadir objetos a un array 04min

Ejercicios para añadir objetos a arrays

Acceder y modificar elementos de un array 06min

Ejercicios sobre acceso y modificación de elementos de un array

Inserción y borrado de elementos de arrays 05min

Ejercicios de inserción y borrado de elementos de arrays

Consultar existencia y posición en un array 06min

Ejercicios de consulta sobre arrays

Más cosas sobre arrays 05min

Llevamos medio tema, a seguir! 02min

Diccionarios 14min

Ejercicios con diccionarios

Métodos con Diccionarios 18min

Ejercicios de métodos con diccionarios

¿Qué hemos aprendido? 01min

Optionals

Contenidos del tema 01min

El nil 05min

Ejercicios de nil

Optionals vs Required 16min

Ejercicios de optionals y required

Optional bindings explicados 03min

App 2: arreglando los errores de nuestro conversor de unidades 07min

¿Qué hemos aprendido? 01min

App 4: La tienda de JB

Contenidos del tema 02min

Las Stack Views, una herramienta de diseño muy útil 07min

El diseño de la launch screen 10min

Stack Views de etiquetas 09min

Stack Views de imágenes 07min

Stack Views de botones 05min

Mezclando las Size Classes con las Stack Views 09min

¿Qué hemos aprendido? 03min

Descarga el código fuente de la App 4

Los operadores de iteración y bucles

Contenidos del tema 02min

El bucle for 06min

Ejercicios de bucle for

El bucle while 08min

Ejercicios de bucle while

Bucles para recorrer arrays 08min

Ejercicios de recorridos de arrays

Bucles para recorrer diccionarios 11min

Ejercicios de recorrer diccionarios

¿Qué hemos aprendido? 01min

Funciones y métodos

Contenidos del tema 01min

Las funciones 06min

Ejercicios de funciones

Los parámetros de entrada de una función 05min

Ejercicios de funciones con parámetro

Los valores de retorno de una función 14min

Ejercicios de funciones con valor de retorno

Las tuplas como valor de retorno 15min

Ejercicios con tuplas

¿Qué hemos aprendido? 02min

App 5: Stickers y App Stores

Contenidos del tema 03min

El framework de Messages 03min

La licencia de desarrollo de Apple 04min

El pack de Stickers 09min

La documentación de los nuevos frameworks 04min

Cómo hacer screenshots de la app 05min

El logo de la app (Make App Icon) 11min

Itunes Connect y la página de la app 06min

El proceso de subida y validación de la app 04min

¿Qué hemos aprendido? 01min

Descarga el código fuente de la App 5

Programación orientada a objetos

Los contenidos del tema 04min

Crear una clase 05min

Las propiedades de una clase

El truco de las computed properties

Las imágenes en el modelo de datos. El diseño de la vista

La factoría de coches, un garaje de lujo

Animaciones y transiciones

Los métodos de las clases

¿Qué hemos aprendido? 04min

Proyecto 1: Mis recetas de cocina

Contenidos del proyecto

Introducción a los UITableViewController y a los patrones de delegación

Las Recetas, el modelo de datos de la app 17min

El protocolo UITableViewDataSource y sus métodos

UITableViewCell con imágenes

Otra forma de añadir tablas con extensiones UIViewController,UITableViewDelegate

Celdas personalizadas, subclases de UITableViewCell

Un truco de diseño: imágenes circulares

Reto: diseña tus propias celdas

Interactuar con las tablas: recetas favoritas

MVC: Modelo, Vista, Controlador

Deslizar una fila para borrar una receta de la tabla

Más acciones al deslizar las celdas, compartir en redes sociales.

Navegación y segues

Navegación y segues

Mejorando la vista detallada, el truco de la image view escalada

La información completa de la receta

Reto: Rellenar toda la información de la receta

La apariencia de la tabla y de la barra de navegación

Los tipos dinámicos y las celdas auto ajustables

Valorar nuestra receta

Diálogos animados y transformaciones a fines de vistas 15min

Unwind segues y transferencia de información 11min

Reto: una última refactorización de orientiación a objetos 11min

Fin del proyecto 11min

Descarga el proyecto 1

Control de versiones y repositorios Github y Bitbucket

Los controles de versiones y repositorios Git 04min

Github, Bitbucket y Source Tree 06min

Los commits y el repositorio en local 14min

Los pull, push y subidas a repositorios remotos 13min

Control de versiones en Xcode 04min

App 6: El framework de Speech Recognizer

Contenidos del tema 01min

La text view para poner el texto 07min

Cómo añadir un framework a un proyecto con Swift 04min

El uso de SFSpeechRecognizer 17min

Pedir permiso a los usuarios y probar en un dispositivo de verdad 08min

Configurar la grabación de audio 20min

La lógica de grabación de audio 17min

1, 2, 3... Grabando, Grabando 06min

Reto: timers y grabaciones de audio

¿Qué hemos aprendido? 01min

Descarga el código fuente de la App 6

Proyecto 2: The Glory Days

Contenidos del proyecto 02min

Cuidado con el FileManager.default! 14min

El diseño de la vista de petición de permisos 14min

Un nuevo controlador UICollectionView 16min

Los controladores, IBActions y IBOutlets 16min

La petición de los permisos 22min

Instanciar el controlador de los permisos vía código 11min

Importar los recuerdos del usuario 20min

UIImagePickerController 11min

Cambios en Image Picker Controller 19min

Guardar el fichero de la imagen y su thumbnail 19min

Mostrar los recuerdos del usuario en pantalla 21min

UILongPressGestureRecognizer: cómo detectar pulsaciones largas 17min

La grabación del audio con AVAudioRecorder 20min

Convertir la voz a texto 10min

Reproducir el audio e imprimir el texto convertido 18min

El Spotlight de Apple 19min

El buscador de nuestra App con CSSearchQuery 27min

Fin del proyecto 03min

Descarga el proyecto 2

App 7: Extensiones para Messages

Contenidos del tema 01min

La extensión de los Mensajes 07min

El ciclo de vida y la estructura de las extensiones 10min

Crear nuestra propia app de mensajería 07min

Reto: enviar un audio desde el dispositivo 04min

Personalizar la interfaz y el layout de la estensión de mensajes 10min

¿Qué hemos aprendido? 02min

Descarga el código fuente de la App 7

Trucos de veterano

Ocultar el teclado al pulsar intro 06min

Ocultar el teclado al pulsar en la pantalla 07min

Un textview con placeholder 12min

Proyecto 3: Lugares del mundo

Contenidos del proyecto (¡refactoriza para aprovechar tu tiempo!) 03min

Refactorizar la app de recetas a la app de lugares

Añadir lugares del mundo

Reto: el teléfono y la página web de los lugares del mundo 10min

Mapas con MapKit

Geocoder y geolocalización

Reto: Chinchetas personalizadas en nuestros mapas

Añadir un nuevo lugar - UITableView con celdas estáticas 25min

La librería de fotos con UIImagePickerController 11min

Autolayout a través de código 10min

Reto: capturar la información del lugar a crear 19min

Añadir el nuevo lugar creado a la vista principal de la app 06min

Introducción a Core Data 06min

Añadir y configurar Core Data en un proyecto existente 05min

Managed Object Model 06min

Subclases de NSManagedObjectModel 13min

Guardar un objeto en Core Data 08min

NSFetchRequest para cargar datos desde Core Data 07min

El truco de NSFetchedResultsController y sus delegados 20min

Eliminar un lugar de Core Data 06min

Actualizar un objeto de Core Data 05min

Un regalo para los frikis del SQL 06min

La barra de búsqueda UISearchController 26min

Reto: añadir los lugares originales de la app

Ejercicio: llamar y enviar SMS 07min

Hacer una llamada con una URL 06min

Enviar un mensaje con MFMessageComposerViewController 06min

Visitar el sitio web del lugar 04min

¿Qué tal llevas el proyecto? 02min

App 8 : El tutorial

Contenidos de la App 02min

Automator, cómo automatizar tareas pesadas 14min

UIPageViewController y UIPageViewContent 14min

Los métodos de UIPageViewDataSource 18min

Activar el mostrado del tutorial 08min

UIPageIndicator personalizado 04min

Los botones Siguiente y Finalizar

UserDefaults y las variables de usuario persistentes 09min

¿Qué hemos aprendido? 03min

App 9: Apps en pestañas

Contenidos de la app 05min

El UITab BarController

Personalizar las pestañas de la app 10min

El truco de dividir el Storyboard 06min

Diseñando la vista Acerca de Nosotros 24min

Cargar contenido con UIApplication.shared() 07min

Cargar contenido web con UIWebView 15min

Cargar contenido web con SFSafariViewController 08min

¿Qué hemos aprendido? 03min

App 10: El uso de iCloud con CloudKit

iCloud y CloudKit 02min

Habilitar y gestionar iCloud 17min

Obtener datos de iCloud con la API Convenience 21min

Hilos principales y secundarios: la clase OperationQueue 06min

Obtener datos de iCloud con la API Operacional 14min

El uso del indicador de actividad, UIActivityIndicator 06min

Carga lenta de imágenes (lazy load) 11min

La caché 11min

Tirar para refrescar 08min

Paginación gracias CKQueryCursor 06min

Guardar datos en iCloud 31min

Reto: mejoras a la pestaña Descubre! 06min

Un posible resultado final 02min

¿Qué hemos aprendido? 02min

Descarga el proyecto 3 al completo

Proyecto Final: Mi propia red social - Tinsnappook

Contenidos del proyecto, acerca de las redes sociales

El proyecto inicial de Parse

Crear y configurar una instancia del servidor de Parse con Amazon Web Services 22min

Seguridad ante todo: cambiar la AppID y ClientKey del proyecto de Parse 16min

Guardar y recuperar un objeto del servidor de Parse 12min

Las imágenes de la red social

Una launch screen y un logo bonitos

Diseño de la vista de registro 17min

La lógica del registro de usuario 21min

La lógica del login de usuario 05min

La lógica del recuperar contraseña (no disponible en Parse Server) 10min

El gran SWRevealViewController 24min

Reto: las secciones de tu propia red social

La lista de usuarios de nuestra red social 20min

Eliminarme de mis propios amigos 03min

Amigos y seguidores

Tirar para refrescar

Diseño de la vista del post 16min

La selección de fotos 10min

Hacer un post en nuestra red social 15min

Ver el feed de un usuario 23min

Ver el feed (parte 2) 30min

Factorías de usuarios

NotificationCenter para hablar entre clases 14min

El diseño del perfil del usuario 17min

Los datos del usuario 16min

Actualizar el perfil de usuario 37min

Nuestros primeros usuarios (cómo crear bots)! 19min

La lista de mis amigos 13min

Solo para mis amigos 06min

Descubrir a nuevos amigos a lo Tinder 24min

Transformaciones afines 21min

Rellenar el perfil público de los usuarios 24min

El perfil público de mis amigos 20min

La geoposición encubierta: PFGeopoint 26min

¿Dónde están mis amigos? 21min

Enviar una imagen a un amigo 11min

Recibir una imagen de mis amigos 25min

Reto final: El sistema de mensajería entre amigos 06min

361 lecciones - 16h 12min | Creado por: Juan Gabriel Gomila Salas

Temas relacionados: