Aprende SwiftUI en 4 horas
Aprende SwiftUI en 4 horas

Curso SwiftUI desde cero y ¡en 4 horas!

Curso de SwiftUI donde aprenderás paso a paso cómo crear una app. Es para principiantes, y puedes ir a tu ritmo. Lo importante es cubrir los aspectos básicos de SwiftUI para que tengas una base y así poder crear la app que quieras.

SwiftBeta

Tabla de contenido

Aprende SwiftUI para principiantes

Aprende a usar el framework SwiftUI con este video de 4 horas. Te ayudará a empezar desde cero a crear pantallas con este framework de UI. Paso a paso iremos viendo vistas y componentes de SwiftUI que te ayudaran a crear apps para tu iPhone.

1. Cómo crear tu primera app con SwiftUI (Creamos el proyecto)

🥇 Primeros pasos con SWIFTUI en Español - [2022] Curso SwiftUI | Tutorial SwiftUI
Aprende a crear una app en iOS de una manera muy sencilla y desde cero. Este es un curso swiftui y tutorial swiftui. Xcode es la herramienta que necesitarás para programar en Swift y SwiftUI tus apps.

2. Stacks en SwiftUI

STACKS en SWIFTUI en Español
Stacks en SwiftUI 2.0 nos permiten componer vistas en nuestras apps iOS. Podemos usar VStack, HStack o ZStack.Cada uno apilará las vistas en un eje distinto.

3. Imágenes en SwiftUI

IMÁGENES en SWIFTUI en Español
Image en SwiftUI 2.0 nos sirve para añadir imágenes en nuestras apps iOS. Vamos a ver a como añadir imágenes a Xcode para después poder usar desde nuestro código.

4. Iconos y SF Symbols en SwiftUI

ICONOS y SF SYMBOLS en SwiftUI en Español
Iconos en SwiftUI 2.0 son muy fáciles de usar en nuestras apps iOS. Podemos ver todos los iconos disponibles en iOS si usamos SF Symbols 2.0. Todos son gratis y algunos son multicolor.

5. ¿Para qué sirve @State en SwiftUI?

@State en SWIFTUI en Español
State en SwiftUI 2.0 es un property wrapper que usamos para almacenar el valor de una propiedad de una vista. Cuando el valor de esta propiedad cambia, la vista se redibuja con el nuevo valor.

6. Label en SwiftUI

LABEL en SWIFTUI en Español
Label en SwiftUI 2.0 es una vista que nos permite tener un icono y un texto en el mismo componente.Antes de SwiftUI 2.0 se solía crear un HStack para meter un icono y luego el texto, pero con este componente lo tenemos todo en uno en nuestras apps iOS.

7. Text en SwiftUI

TEXT en SWIFTUI en Español
Text en SwiftUI es muy útil para mostrar texto en nuestras apps iOS. Text tiene modificadores que nos permiten personalizar el texto (color, fuente, shadows, etc).También podemos concatenar varios Text con distintos estilos y mostrar fechas dentro de Text.

8. Button en SwiftUI

BUTTON en SWIFTUI en Español
Button en SwiftUI 2.0 es una vista que ponemos en nuestra app iOS para que un usuario interactúe y realicemos alguna acción como: navegar a otra pantalla, una llamada API, validar los campos de un formulario, etc

9. TextField en SwiftUI

TEXTFIELD en SWIFTUI en Español
TextField en SwiftUI 2.0 es una vista que permite al user insertar un poco de texto. Su uso está muy extendido dentro de apps iOS como en logins o formularios.Tiene distintos modificadores como el onChange para detectar cuando se está añadiendo texto.

10. TextEditor en SwiftUI

TEXTEDITOR en SWIFTUI en Español
TextEditor en SwiftUI 2.0 permite añadir mucho texto dentro de nuestras apps iOS. TextEditor tiene un ScrollView si el contenido supera el frame de la vista. Un ejemplo de uso sería para escribir un mensaje de texto como los que enviamos en apps de mensajería.

11. DatePicker en SwiftUI

DATEPICKER en SWIFTUI en Español
DatePicker en SwiftUI 2.0 es una vista que usamos en nuestras apps de iOS para que el user pueda seleccionar una fecha o hora. DatePicker en SwiftUI tiene varios inicializadores para customizar cómo queremos usar esta vista.

12. ColorPicker en SwiftUI

COLORPICKER en SWIFTUI en Español
ColorPicker en SwiftUI 2.0 es una vista que nos permite escoger un color dentro de nuestra app iOS. Con solo una línea podemos añadir esta funcionalidad en nuestra app para que los users seleccionen colores de distintas maneras: grid, espectro o sliders.

13. ProgressView en SwiftUI

🌀 PROGRESSVIEW en SWIFTUI en Español
ProgressView en SwiftUI 2.0 es una vista que usamos para dar feedback al usuario en apps iOS, puede ser con forma de progress bar o circular. Podemos usar cualquiera de los dos pero con el ProgressView con progreso damos más información al user de cuánto queda por acabar una tarea.
LINK en SWIFTUI en Español
Link en SwiftUI 2.0 nos permite abrir dentro de nuestra app iOS una URL directamente en nuestro navegador. También podemos usar UniversalLinks para abrir los ajustes de iOS o partes más concretas de nuestra app. Solo debemos inicializar Link con la URL que queremos abrir.

15. Toggle en SwiftUI

TOGGLE en SWIFTUI en Español
Toggle en SwiftUI 2.0 es una vista muy simple, es como un interruptor que usamos en nuestras apps iOS. Podemos añadirlo a nuestras app de una manera muy sencilla con muy poco código. Toggle es muy útil en formularios o en pantalla donde el usuario puede escoger entre dos valores: true o false.

16. Stepper en SwiftUI

STEPPER en SWIFTUI en Español
Stepper en SwiftUI 2.0 es una vista que nos permite incrementar o decrementar un valor. Podemos modificar el valor en el que queremos incrementar o decrementar simplemente enviando esta información en un parámetro del inicializador.º

17. Slider en SwiftUI

SLIDER en SWIFTUI en Español
Slider en SwiftUI 2.0 es una vista que nos permite seleccionar de entre un rango de valores en nuestras app iOS. Podemos moverlo y controlar que se está editando con el modificador onEditingChanged

18. LazyVGrid y LazyHGrid en SwiftUI

LazyVGrid y LazyHGrid en SWIFTUI en Español
LazyVGrid y LazyHGrid en SwiftUI 2.0 son dos vistas que nos permiten generar Grids en las vistas de nuestras apps iOS.Nos proporcionan mucha flexibilidad y muchas sencillez para que en muy pocas líneas de código podamos usarlas.

19. Form en SwiftUI

FORMS en SWIFTUI en Español
Form en SwiftUI 2.0 es una vista que nos ayuda a crear formularios dentro de nuestras app de una manera super sencilla.Podemos distribuir el contenido del Form en distintas secciones.

20. List en SwiftUI

LIST en SWIFTUI en Español
List en SwiftUI 3.0 es una vista que nos permite listar colecciones de datos con una vista. Por lo tanto dentro de un List habrá tantas subvistas como elementos tenga la colección.
NavigationView y NavigationLink en SWIFTUI en Español
NavigationView y NavigationLink en SwiftUI 2.0 serán muy útiles cuando tengas varias pantallas en tus apps iOS y quieras navegar entre ellas.

22. TabView en SwiftUI

TABVIEW en SWIFTUI en Español
TabView en SwiftUI 2.0 es una vista que nos permite tener una barra inferior en nuestra app para poder seleccionar distintas vistas secundarias.Cuando pulsamos una opción del TabView automáticamente se muestra la vista que pertenece a esa opción del TabView

23. ¿Cómo navegar entre vistas con fullScreenCover y sheet en SwiftUI?

FullScreenCover y Sheet en SWIFTUI en Español
FullScreenCover y Sheet en SwiftUI 2.0 son unos modificadores que nos permiten navegar a otras pantallas de nuestra app. La única diferencia entre los dos es que FullScreenCover ocupa toda la pantalla al presentar la vista y si usamos Sheet la vista no cubre toda la pantalla.

24. Alert en SwiftUI

ALERT en SWIFTUI en Español
Alert en SwiftUI 2.0 es una vista, un popup que aparece al user con un title, message y algún button. Los buttons que se añaden son para que el user interactue con esta vista y así podamos saber que opción han escogido.

25. ActionSheet en SwiftUI

ACTIONSHEET en SWIFTUI en Español
ActionSheet en SwiftUI 2.0 es una vista que aparece en la parte inferior de la pantalla con un title, message y diferentes opciones a escoger. Nos sirve para recoger acciones del user.

26. ContextMenu en SwiftUI

CONTEXTMENU en SWIFTUI en Español
ContextMenu en SwiftUI 2.0 es una vista que nos permite mostrar un menu de opciones. para mostrar este menu solo debemos mantener pulsado durante un breve periodo de tiempo encima de la vista.

27. TapGesture en SwiftUI

TAPGESTURE en SWIFTUI en Español
TapGesture en SwiftUI 2.0 nos sirve para ejecutar alguna acción cuando un user pulse la vista. Podemos pasarle el número de veces que el user debe pulsar la vista antes de que se realice la acción que tenemos en el modificador .onEnded

28. DragGesture en SwiftUI

DRAGGESTURE en SWIFTUI en Español
DragGesture en SwiftUI 2.0 nos sirve para ejecutar alguna acción cuando un user arrastra una vista. Podemos usar distintos modificadores como .onChanged o .onEnded para realizar las acciones que queramos.

29. Diferencias entre Property Wrapper @State y @Binding

@STATE vs @BINDING en SwiftUI en Español
La diferencia entre State y Binding es quién muta la propiedad.Usa @Binding cuando tengas que mutar una propiedad @State que te llegue de otra vista.Usa @State cuando tengas que mutar una propiedad @State dentro de la misma vista.

30. Diferencias entre Property Wrapper @ObservedObject y @StateObject

@ObservedObject y @StateObject en SWIFTUI en Español
ObservedObject y StateObject son dos property wrappers que usamos igual que State y Binding. Pero en lugar de estar dentro de las vistas, creamos una clase aparte. Esta clase conforma el protocolo ObservableObject y usa @Published en propiedades donde queremos escuchar cambios y así redibujar vistas

31. Property Wrapper EnvironmentObject

@EnvirontmentObject en SWIFTUI en Español
EnvironmentObject es otro Property Wrapper en SwiftUI que usamos para proporcionar desde alguna vista padre una clase que podrá ser usada en toda su jerarquía de vistas. Es muy sencillo, es decir, metemos en el environment una clase instanciada y esta clase podrá ser usada en todas sus subvistas.

32. Property Wrapper AppStorage

@APPSTORAGE en SWIFTUI en Español
AppStorage en SwiftUI es otro Property Wrapper y lo usamos para persistir información. Este Property Wrapper usa por debajo la clase UserDefaults para almacenar información en una base de datos

33. Property Wrapper SceneStorage

@SCENESTORAGE en SWIFTUI en Español
SceneStorage en SwiftUI 2.0 es otro Property Wrapper para guardar el estado de nuestras pantallas. Nos sirve para recuperar el estado de nuestras pantallas si la app ha sido cerrada y dar sensación de continuidad al user, sin tener que volver a añadir toda la información que había.

34. AsyncImage en SwiftUI

AsyncImage en SwiftUI en Español
AsyncImage en SwiftUI es una vista que permite mostrar una imagen solo pasando una URL.Para poder usar AsyncImage en SwiftUI necesitamos tener instalado Xcode 13 y usar iOS 15.

35. SwipeActions y refreshable en SwiftUI

SwipeActions y Refreshable en SwiftUI en Español
swipeActions en SwiftUI y refreshable en SwiftUI son dos modificadores que usamos para poder lanzar acciones. swipeActions en SwiftUI lo usamos para añadir acciones en nuestras celdas.refreshable en SwiftUI lo usamos para realizar una acción en nuestra List.

36. GeometryReader en SwiftUI

GeometryReader en SwiftUI en Español
GeometryReader en SwiftUI es un contenedor de vistas como VStack, List, Form, etc pero con la diferencia que podemos acceder al GeometryProxy, un parámetro que nos servirá para crear custom layouts en las subvistas y añadir animaciones.

37. ViewModifier en SwiftUI

ViewModifier en SwiftUI en Español
ViewModifier en SwiftUI es un protocolo que nos sirve para crear nuestros propios modificadores. Los modificadores en SwiftUI son muy útiles ya que nos permiten encapsular código y reutilizarlo por toda nuestra applicación iOS.

38. PreferenceKey en SwiftUI

PreferenceKey en SwiftUI en Español
PreferenceKey en SwiftUI lo usamos para poder enviar información a través de la jerarquía de vistas. En lugar de enviar esta información hacía las subvistas, la enviamos hacía arriba. Hacía la vista padre o anteriores.Por ejemplo, cuando queremos modificar el título del NavigationView.

Aquí puedes encontrar el código de todos los videos del curso de SwiftUI

GitHub - SwiftBeta/Curso-SwiftUI-Introduccion: 🎨 Todo el código de los 40 videos de Swift Introducción
🎨 Todo el código de los 40 videos de Swift Introducción - GitHub - SwiftBeta/Curso-SwiftUI-Introduccion: 🎨 Todo el código de los 40 videos de Swift Introducción

Si quieres seguir aprendiendo sobre SwiftUI, Swift, Xcode, o cualquier tema relacionado con el ecosistema Apple