wandres.dev
ONTOLOGÍA · El mapa del desarrollo iOS

La ontología del desarrollo iOS

El mapa mental de una app Apple: SwiftUI y el modelo declarativo, los datos y la persistencia, la arquitectura, las capacidades del sistema, el rendimiento y la App Store.

⏱ 12 min

Escribir una app para iPhone es fácil; escribir una que aguante tres años, cinco desarrolladores y un millón de usuarios es otra cosa. Entre esos dos extremos está todo lo que este track recorre: el modelo declarativo de SwiftUI y sus trampas, dónde viven los datos, cómo se estructura una app para que no se pudra, qué capacidades del sistema puedes aprovechar, y el camino nada trivial que va desde tu simulador hasta la App Store. Este mapa te da la visión aérea antes de empezar.

🎯 Al terminar esta lección sabrás
  • Ver el mapa mental completo del desarrollo de apps Apple.
  • Entender el modelo declarativo y dónde vive el estado.
  • Situar los datos, la arquitectura y las capacidades del sistema.
  • Reconocer el camino completo hasta la App Store y más allá.

El territorio, de un vistazo

mindmap
root((iOS))
  SwiftUI
    Vistas y layout
    Estado
    Navegacion
    Animaciones
    Graficos
  Datos
    SwiftData
    Core Data
    Redes
    CloudKit
  Arquitectura
    Patrones
    Modularizar
    Testing
    Inyeccion
  Sistema
    Notificaciones
    Widgets
    App Intents
    Privacidad
  Produccion
    Rendimiento
    Instruments
    TestFlight
    App Store
    StoreKit
  Plataformas
    iPad y Mac
    watchOS
    visionOS
    UIKit

Las ideas clave

🎨

Declarar, no manipular

En SwiftUI no mueves vistas: describes cómo debe verse la interfaz para un estado dado, y el framework calcula la diferencia. El trabajo pasa de manipular la UI a modelar bien el estado.

🗄️

Los datos mandan sobre la UI

SwiftData, Core Data o la red: la pregunta importante no es qué framework usas, sino cuál es la fuente de verdad y cómo se propaga un cambio hasta la pantalla.

🧩

El sistema es parte de la app

Una app moderna no vive solo en su ventana: widgets, App Intents, notificaciones y atajos la extienden por todo el sistema. Diseñar para eso desde el principio cambia la arquitectura.

🚢

Publicar es la mitad del trabajo

Certificados, revisión, TestFlight, privacidad, monetización y actualizaciones. La parte que nadie enseña es justamente la que separa un proyecto de un producto.

Por qué importa

En SwiftUI, casi todo bug de UI es un bug de estado

Cuando una vista de SwiftUI no se actualiza, o se actualiza de más, o parpadea al navegar, el reflejo de casi todo el mundo es buscar el modificador mágico que lo arregle. Casi siempre es el sitio equivocado donde mirar. El modelo declarativo tiene una consecuencia radical: la interfaz es una función pura del estado, así que si la pantalla está mal, el estado está mal —o la identidad de la vista lo está—. Ese es el cambio mental más grande al venir de UIKit, donde la vista tenía su propia memoria y tú la sincronizabas a mano. Aquí no hay nada que sincronizar: hay una única descripción, y la pregunta correcta siempre es de dónde sale el dato que la alimenta, quién puede cambiarlo y si SwiftUI considera que esta vista es “la misma” que la de antes. Por eso este track dedica niveles enteros al sistema de estado, a la identidad de vistas y al algoritmo de layout, en vez de coleccionar recetas. Quien interioriza que la UI es una proyección deja de pelear con el framework y empieza a diseñar apps donde el comportamiento se deduce del modelo. Y esa disciplina es exactamente la misma que estudias en la categoría de Reactividad: aquí solo cambia el vocabulario.

El camino

  • Niveles 1–4 · Fundamentos — SwiftUI esencial y avanzado, SwiftData, y el panorama completo de la idea a la App Store.
  • Niveles 5–11 · SwiftUI a fondo — layout, listas, navegación, formularios, animaciones, gráficos y el sistema de estado.
  • Niveles 12–15 · Datos y trabajo — persistencia alternativa, redes, multimedia y concurrencia en la interfaz.
  • Niveles 16–20 · Ingeniería — arquitectura, modularización, testing, accesibilidad y localización.
  • Niveles 21–23 · El sistema — notificaciones, widgets y App Intents, CloudKit y sincronización.
  • Niveles 24–34 · Producción y plataformas — rendimiento, Instruments, privacidad, distribución, monetización, CI/CD, iPad/Mac/visionOS, UIKit y síntesis.
⚔️ Sitúate en el mapa
  1. Abre una app que uses a diario y enumera cuántas capacidades del sistema aprovecha: widget, notificaciones, atajos, compartir.
  2. Piensa en la última vez que una vista no se actualizó como esperabas: ¿el problema estaba en la vista o en de dónde salía el dato?
  3. Si vienes de UIKit: anota qué costumbres tendrás que abandonar (guardar referencias a vistas, sincronizar a mano).
  4. Comprométete con la idea central: la interfaz es una proyección del estado, nunca al revés.