wandres.dev
Apps para el ecosistema Apple

Domina iOS
hasta nivel dios

Desarrollo iOS completo: SwiftUI y su modelo declarativo, SwiftData y persistencia, arquitectura, capacidades del sistema, rendimiento y publicar en la App Store.

La ruta

35 niveles, de novato a dios

Cada nivel construye sobre el anterior. Sin saltos, sin huecos.

Ontología Nivel 0 · El mapa del desarrollo iOS

La visión aérea: SwiftUI y el modelo declarativo, los datos, la arquitectura de una app, las capacidades del sistema y el camino a la App Store.

Mapa mentaliOS

SwiftUI esencial Nivel 1 · vistas y estado

Construir interfaces declarativas: vistas, layout, modificadores, estado con @State y @Binding, listas y navegación.

Vistas@StateNavegación

SwiftUI avanzado Nivel 2 · @Observable y animaciones

Llevar SwiftUI al límite: @Observable, environment, animaciones, gestos, dibujo y las APIs nuevas de iOS 26.

@ObservableAnimacionesiOS 26

SwiftData Nivel 3 · persistencia moderna

Persistencia con SwiftData: @Model, @Query, relaciones, herencia de modelos, migraciones y sincronización con CloudKit.

@Model@QueryCloudKit

De la idea a la App Store Nivel 4 · el panorama completo

El recorrido entero de una app: arquitectura, inyección de dependencias, testing, accesibilidad, localización y publicación.

ArquitecturaTestingApp Store

El sistema de layout Nivel 5 · cómo mide SwiftUI

El algoritmo de layout: la negociación padre-hijo, prioridades, `frame`, `alignmentGuide` y escribir un `Layout` propio.

layoutframeLayout

Listas y colecciones Nivel 6 · rendimiento y edición

Listas a fondo: `List` vs `LazyVStack`, secciones, swipe actions, edición, refresco y el coste real del scroll.

ListLazyscroll

Navegación Nivel 7 · NavigationStack y rutas

La navegación moderna: `NavigationStack`, rutas tipadas, `NavigationSplitView`, deep links y restaurar la sesión.

NavigationStackdeep link

Formularios y entrada Nivel 8 · texto, foco y validación

Entrada de datos: `TextField`, foco programático, teclado, validación en vivo y formularios accesibles.

TextFieldfocovalidación

Animaciones a fondo Nivel 9 · transiciones y física

Animaciones avanzadas: `withAnimation`, transiciones personalizadas, `matchedGeometryEffect`, `PhaseAnimator` y springs.

animacióntransiciónspring

Dibujo y gráficos Nivel 10 · Canvas, Shape, Charts

Gráficos en SwiftUI: `Shape` y `Path`, `Canvas`, Metal shaders, y Swift Charts para visualización de datos.

CanvasShapeCharts

Estado en SwiftUI Nivel 11 · la fuente de la verdad

El sistema de estado: `@State`, `@Binding`, `@Environment`, `@Observable`; identidad de vistas y por qué a veces no se actualiza.

estadoidentidadbinding

Persistencia alternativa Nivel 12 · Core Data, archivos, Keychain

Más allá de SwiftData: cuándo Core Data sigue mandando, guardar archivos, `UserDefaults` y secretos en el Keychain.

Core DataKeychainarchivos

Redes en apps Nivel 13 · APIs y sincronización

Consumir APIs: `URLSession` con async/await, `Codable`, reintentos, cache, subidas y descargas en segundo plano.

URLSessionCodablebackground

Imágenes y multimedia Nivel 14 · fotos, audio, vídeo

Medios en una app: `AsyncImage`, PhotosPicker, la cámara, reproducir audio y vídeo con AVFoundation.

AsyncImageAVFoundationcámara

Concurrencia en la UI Nivel 15 · MainActor y tareas

Async en la interfaz: `.task`, cancelación al desaparecer la vista, `@MainActor`, y no bloquear nunca el hilo principal.

taskMainActorcancelar

Arquitectura de apps Nivel 16 · patrones y capas

Estructurar una app real: MV vs MVVM vs TCA, capas de dominio y datos, y las fronteras que aguantan el crecimiento.

arquitecturaMVVMcapas

Modularización Nivel 17 · paquetes y fronteras

Dividir la app en módulos SPM: tiempos de compilación, previews aislados, y el grafo de dependencias sano.

SPMmódulospreviews

Testing de apps Nivel 18 · unidad, UI y snapshots

Testear una app iOS: lógica con Swift Testing, tests de UI con XCUITest, snapshot testing y qué merece la pena.

XCUITestsnapshottesting

Accesibilidad Nivel 19 · apps para todos

Accesibilidad de verdad: VoiceOver, Dynamic Type, contraste, reducción de movimiento, y auditar con el inspector.

VoiceOverDynamic Typea11y

Localización Nivel 20 · idiomas y regiones

Internacionalizar: String Catalogs, plurales, formatos de fecha y número, texto de derecha a izquierda y probar en varios idiomas.

i18ncatalogsRTL

Notificaciones Nivel 21 · locales y push

Notificaciones: permisos, locales, push con APNs, contenido enriquecido, y las extensiones de servicio y contenido.

pushAPNspermisos

Widgets y App Intents Nivel 22 · fuera de la app

Extender la app al sistema: WidgetKit, Live Activities, App Intents, atajos de Siri y controles interactivos.

WidgetKitApp IntentsSiri

CloudKit y sincronización Nivel 23 · datos entre dispositivos

Sincronizar: CloudKit con SwiftData, conflictos, compartir registros entre usuarios y trabajar sin conexión.

CloudKitsyncoffline

Rendimiento de apps Nivel 24 · arranque, memoria, batería

Que la app vuele: tiempo de arranque, uso de memoria, consumo de batería, scroll a 120fps y el coste de cada decisión.

launchmemoriafps

Instruments Nivel 25 · medir de verdad

Depurar y perfilar: Instruments (Time Profiler, Allocations, Leaks), el debugger de vistas, y encontrar la causa real.

Instrumentsprofilerleaks

Seguridad y privacidad Nivel 26 · permisos y datos

Proteger al usuario: permisos y sus descripciones, App Tracking Transparency, manifiestos de privacidad, cifrado y Keychain.

privacidadpermisoscifrado

Distribución Nivel 27 · TestFlight y App Store

Publicar: certificados y perfiles, App Store Connect, TestFlight, la revisión de Apple y los rechazos más comunes.

TestFlightApp Storerevisión

Monetización Nivel 28 · StoreKit 2

Ganar dinero: compras dentro de la app y suscripciones con StoreKit 2, verificar transacciones y probar con sandbox.

StoreKitsuscripciónIAP

Analítica y crashes Nivel 29 · saber qué pasa

Observabilidad: métricas de MetricKit, informes de fallo, analítica respetuosa con la privacidad, y cerrar el bucle con el usuario.

MetricKitcrashanalítica

CI/CD para iOS Nivel 30 · automatizar el ciclo

Automatizar: Xcode Cloud o GitHub Actions, firmar en CI, subir a TestFlight sola, y los tests en cada pull request.

Xcode CloudCIfastlane

Más allá del iPhone Nivel 31 · iPad, Mac, watch, visionOS

Una base de código, muchas pantallas: adaptar a iPad, llevar a Mac con Catalyst o nativo, watchOS y visionOS.

iPadmacOSvisionOS

UIKit Nivel 32 · lo que sigue vivo

UIKit en 2026: cuándo sigue siendo necesario, el ciclo de vida de un controlador, y qué conceptos conviene conocer.

UIKitcontrollerlegado

Interoperar UIKit Nivel 33 · los dos mundos

Mezclar frameworks: `UIViewRepresentable`, `UIHostingController`, y migrar una app de UIKit a SwiftUI pantalla a pantalla.

RepresentableHostingmigrar

Nivel Dios: síntesis Nivel 34 · construir y sostener

La síntesis: arquitectar una app completa, sostenerla en el tiempo, y hacia dónde va el desarrollo en el ecosistema Apple.

síntesisarquitecturaPhD
171lecciones
35niveles
0→∞de cero a dios

¿Listo para dominar iOS?

Empieza por los fundamentos y sube nivel a nivel hasta el dominio total.

Comenzar el camino →