Wir beginnen mit der Entwicklung einer eigenen App im Rahmen des iPhone Enterprise Entwicklerprogramms. Da wir kurz vor OS 3.0 stehen, überdenken wir unseren ursprünglichen Plan, SQLite zu verwenden, und setzen stattdessen Core Data ein. Hier sind einige weitere Informationen:
- Es gibt eine alte Desktop-Anwendung, die dadurch ersetzt wird. Wir werden das bestehende Backend wiederverwenden.
- Wir haben derzeit eine SQLite-Datenbank als Proof of Concept erstellt. Dies ist im Grunde eine abgespeckte Version der bestehenden Backend-Datenbank.
- Wir werden Daten von einem entfernten Standort laden und sie lokal speichern, wo sie bestehen bleiben und gespeichert werden müssen. Wir aktualisieren sie nur, wenn sie sich geändert haben, was alle ein bis zwei Monate der Fall sein wird. Wir werden höchstwahrscheinlich XML oder JSON verwenden, um die Daten zu übertragen.
- An diesem Projekt sind zwei Entwickler beteiligt, die beide über gute SQL-Kenntnisse verfügen, aber keiner von ihnen hat Core Data verwendet.
Meine Fragen lauten: Was ist der Vorteil von Core Data gegenüber SQLite, was wäre der Vorteil in diesem speziellen Fall, und rechtfertigen die Vorteile das Erlernen eines neuen Frameworks anstelle der Nutzung vorhandener starker SQL-Kenntnisse?
EDIT: Diese Frage ist mir gerade aufgefallen: Core Data gegenüber SQLite 3 . Ich schätze, meine Fragen sind daher:
- Wenn ich prüfen muss, ob ein bestimmtes Element entweder existiert oder aktualisiert wurde, was mit SQL leicht möglich ist, ist Core Data dann noch sinnvoll? Kann ich das erste Objekt in einem Diagramm laden und die Versionsnummer überprüfen, ohne das gesamte Diagramm zu laden?
- Wenn wir bereits SQL kennen, rechtfertigen dann die Vorteile von Core Data für dieses eine Projekt, dass wir es lernen?