Categoría: Business & Tech | Tecnología
361 lecciones - 16h 12min | Creado por: Juan Gabriel Gomila Salas
iOS 10 y Swift 3: de Cero a Experto
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-CSwift 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 generalEn 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 3Enfocado a aprender las bases de Swift 3, la sintaxis, el uso de las clases y la correcta gramática del lenguaje de programación, incluyendoVariables y constantesStrings, Enteros, Decimales y BooleanosArrays y DiccionariosValores opcionales, requeridos y nulosOperadores de decisión y de iteraciónProgramación Orientada a Objetos, Atributos, Métodos y HerenciaPatrones de programación y diseño lógicoParte 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 ViewsAnimaciones de elementos gráficosModelos, Vistas y ControladoresUIViewController, UITableViewController, UICollectionViewController, UISearchController,... Novedades en iOS 10: Messages, Stickers, Speech, SiriKit...Parte III : Proyectos completosEnfocado 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 previaPara 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 éxitoDiseñadores o desarrolladores web que deseen iniciarse en el mundo del desarrollo app y móvil
Suscríbete para tener acceso ilimitado a toda la formación
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
Parte II : Diseño de apps
Enfocado a aprender el diseño de aplicaciones funcionales haciendo uso de:
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:
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?
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
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
Xcode 8 ya disponible y cómo corregir errores de las betas (y de los vídeos) 21min
Enteros y Strings
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
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
Descarga el código fuente de la App 1
Matemáticas, Floats y Doubles
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
Operadores de decisión y booleanos
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
App 2: De Millas a Kilómetros
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
Descarga el código fuente de la App 2
Comentarios e impresiones por consola
Comentarios 09min
Ejercicio de comentarios
Imprimir por consola 05min
Ejercicios de imprimir por consola
Crear una app desde cero 15min
Los switchs
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
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
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
Optionals
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
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
Descarga el código fuente de la App 4
Los operadores de iteración y bucles
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
Funciones y métodos
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
App 5: Stickers y App Stores
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
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
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
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
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
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
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
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
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
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
Características:
¿Te gusta este curso de Business & Tech?
Descubre nuestra playlist de Business & Tech
Temas:
Javier Martín Robles | Business & Tech
Olga Navarro Martínez | Business & Tech
María Velasco | Business & Tech
Aprende lo que necesitas ahora
Al suscribirte estás aceptando los términos y condiciones.
¿Ya tienes cuenta en Akademus? Inicia sesión
Completar registro
Aprende ya lo que necesitas de Negocios, Marketing, Tecnología e Internet
Complete sus datos
Inicia sesión
¿Has olvidado tu contraseña?
Si no tienes cuenta, regístrate
Restablece tu contraseña
Introduce el email asociado a tu cuenta Akademus y te enviaremos una nueva contraseña.
Suscríbete
Compra este curso por 9,99
Compra esta playlist por [PRECIO]
Escoge el plan que mejor se adapte a tus necesidades:
ESTÁNDAR
19,90€ / mes
Incluye:
PREMIUM
24,90€ / mes
LIVE PLAN
7,90€ / mes
Suscríbete desde 19,90€/mes
¿Qué quieres aprender?
Aplicar Cupón