Cuándo seguir con Core Data
SwiftData es el futuro, pero Core Data sigue vivo por buenas razones. Cuándo elegir cada uno y cómo conviven en el mismo almacén.
SwiftData es la elección por defecto para proyectos nuevos, pero afirmar “Core Data está muerto” sería un error. Core Data, con más de una década de madurez, todavía gana en escenarios concretos. Un buen desarrollador sabe cuándo cada uno.
- Los límites reales de SwiftData.
- Los casos donde Core Data sigue ganando.
- Cómo conviven ambos en el mismo almacén.
- La recomendación práctica.
Los límites de SwiftData
iOS 17+ mínimo
SwiftData no existe antes de iOS 17. Si tu app debe soportar iOS 15 o 16, no es opción.
Migraciones pesadas
Solo cubre migraciones ligeras y algunas personalizadas. Transformaciones muy complejas se le quedan grandes.
Grafos enormes
Carga los datos de forma más ansiosa (eager) que Core Data; con grafos de objetos muy grandes, el rendimiento puede resentirse.
Control fino
Core Data expone más palancas de bajo nivel (fetch batching, faulting manual) que SwiftData abstrae.
Cuándo Core Data sigue ganando
- Necesitas soportar iOS 15/16 además de versiones nuevas.
- Prevés migraciones de esquema complejas y frecuentes.
- Manejas decenas de miles de objetos con requisitos estrictos de rendimiento y memoria.
- Ya tienes una base de código Core Data grande y estable que funciona.
Conviven en el mismo almacén
Lo importante: SwiftData está construido sobre Core Data. Comparten el mismo formato de almacenamiento, así que pueden coexistir en la misma app y sobre la misma base de datos. Puedes empezar con SwiftData y, si un módulo concreto necesita el poder de Core Data, usarlo ahí sin migrar todo.
La regla sensata para 2026: proyecto nuevo que puede exigir iOS 17+ → SwiftData sin dudar, por su simplicidad y su integración con SwiftUI. Reserva Core Data para los casos que SwiftData aún no cubre bien (compatibilidad con iOS antiguo, migraciones pesadas, grafos gigantes) o para código existente que ya lo usa. No es “lo viejo contra lo nuevo”: son dos herramientas del mismo cajón, y elegir bien según el problema —no según la moda— es lo que distingue a un ingeniero de alguien que solo sigue tendencias. La mayoría de las apps que construirás caen del lado de SwiftData; conocer el otro lado te da criterio.
- Escribe, para un proyecto imaginario, dos razones para usar SwiftData y dos para Core Data.
- Comprueba cuál es la versión mínima de iOS que necesitas soportar en tu app.
- Investiga cómo se accede al
NSManagedObjectContextsubyacente desde SwiftData (interoperabilidad). - Decide, con argumentos, cuál usarías para tu próxima app.