Nous commençons le développement d'une application interne dans le cadre du programme de développement iPhone Enterprise. Comme nous sommes proches de la version 3.0 de l'OS, nous reconsidérons notre projet initial d'utiliser SQLite et utilisons Core Data à la place. Voici quelques informations supplémentaires :
- Il s'agit de remplacer une ancienne application de bureau. Nous réutiliserons le back-end existant.
- Nous avons actuellement une base de données SQLite générée comme preuve de concept. Il s'agit essentiellement d'une version réduite de la base de données dorsale existante.
- Nous allons charger des données à partir d'un site distant et les stocker localement, où elles persisteront et devront être mises à jour. Nous ne les mettrons à jour que si elles ont changé, c'est-à-dire tous les mois ou tous les deux mois. Nous utiliserons très probablement XML ou JSON pour transférer les données.
- Deux développeurs travaillent sur ce projet et nous avons tous deux de solides compétences en SQL, mais aucun n'a utilisé Core Data.
Mes questions sont les suivantes : quel est l'avantage de Core Data par rapport à SQLite, quel serait l'avantage dans ce cas spécifique et est-ce que les avantages justifient l'apprentissage d'un nouveau cadre au lieu d'utiliser les solides compétences SQL existantes ?
EDIT : Je viens de remarquer cette question : Core Data vs SQLite 3 . Je suppose que mes questions sont donc les suivantes :
- Si je dois vérifier si un élément spécifique existe ou a été mis à jour, ce qui est facile en utilisant SQL, est-ce que Core Data a encore un sens ? Puis-je charger le premier objet d'un graphique et vérifier le numéro de version sans charger tout le graphique ?
- Si nous connaissons déjà SQL, les avantages de Core Data pour ce seul projet justifient-ils que nous l'apprenions ?