Estamos comenzando a desarrollar una aplicación interna en el programa para desarrolladores de iPhone Enterprise. Como está cerca de OS 3.0, reconsideramos nuestro diseño original de usar SQLite y usar Core Data en su lugar. Aquí hay algo más de información:Datos principales frente a SQLite para desarrolladores con experiencia en SQL
- Hay una aplicación de escritorio heredada que está reemplazando. Reutilizaremos el back-end existente.
- Actualmente tenemos una base de datos SQLite generada como una prueba de concepto. Esta es básicamente una versión reducida de la base de datos back-end existente.
- Cargaremos datos de un sitio remoto y lo almacenaremos localmente, donde persistirá y será necesario que lo esté. Solo lo actualizamos si ha cambiado, que será cada mes o dos. Lo más probable es que usemos XML o JSON para transferir los datos.
- Existen dos desarrolladores en este proyecto y ambos tenemos sólidas habilidades SQL, pero ninguna de ellas ha utilizado Core Data.
Mis preguntas son: ¿cuál es el beneficio de Core Data en SQLite, cuál sería el beneficio en esta instancia específica y los beneficios justifican aprender un nuevo marco en lugar de usar las habilidades SQL existentes?
EDIT: Acabo de notar esta pregunta: Core Data vs SQLite 3. Supongo que mis preguntas son por lo tanto:
- Si tengo que verificar si existe un elemento específico o si tiene una actualización, lo cual es fácil con SQL, ¿los Datos Básicos aún tienen sentido? ¿Puedo cargar el primer objeto en un gráfico y verificar el número de versión sin cargar todo el gráfico?
- Si ya conocemos SQL, ¿las ventajas de Core Data para este proyecto justifican que lo aprendamos?
Grandes respuestas, gracias. Estoy tomando toda esta información en nuestra próxima discusión de diseño. – Don
Al igual que una actualización, fuimos con Core Data; Estoy muy contento de haberlo hecho. Solo las habilidades para fallar han hecho que valga la pena, pero además hay muchas ventajas. Animaría a cualquiera, sin importar el nivel de habilidad de SQL, a elegir Datos básicos. La curva de aprendizaje es poco profunda y los beneficios como fallas, exclusividad, KVO/KVC y conversión de objeto de tienda son muchos. – Don