Je travaille sur ma deuxième application iPhone et je suis curieux de connaître Core Data. Le temps consacré au projet est limité, de même que mon temps total.
Je suis le seul développeur et j'ai le sentiment que Core Data serait utile, mais je ne peux pas expliquer clairement pourquoi.
S'il vous plaît excuser l'obscurcissement suivant .. l'application doit récupérer une liste de foos à partir d'un serveur central. Les utilisateurs peuvent ensuite ajouter une barre, à partir d'une liste de barres, aux foos, puis ajouter un baz à partir d'une liste de bazes (!?), puis ajouter une photo et une description facultatives à la baz.
Une fois que l'utilisateur est satisfait de son travail, il appuie ensuite sur un bouton de synchronisation pour télécharger ses données sur le serveur central.
Comme vous pouvez le constater, il s’agit d’une simple application d’exploration pilotée par les données, mais je ne suis toujours pas sûre de pouvoir justifier l’utilisation de Core Data avec des contraintes de temps.
Si mon patron pense que nous devrions utiliser Core Data, quels points de balle puis-je lui tirer dessus? Les grenades logiques sont également appréciées.
Les données de base aideront principalement aux aspects auxiliaires de l’application, comme la persistance des données, la présentation, etc. Quelques points essentiels pour votre patron:
Certes, la courbe d’apprentissage est peut-être un peu raide, mais les exemples d’Apple sont parfaits pour commencer, et la documentation Core Data est très complète et utile. Une fois que vous avez défini les données de base, ce sera un jeu d'enfant de créer votre application.
Pour tirer parti de CoreData, vous devez connaître un nombre suffisant de technologies, de concepts et de modèles Cocoa. La courbe d'apprentissage n'est pas vraiment raide si vous connaissez ces choses. Si cela semble raide, j’éviterais de le rendre critique pour votre projet, puis d’apprendre pendant les temps morts, et finalement de l’utiliser une fois que vous êtes à l’aise. Ce n'est certainement pas une technologie de débutant; vous aurez besoin d'une bonne base de programmation, y compris de technologies et de concepts spécifiques à Cocoa. Beaucoup de gens le voient et pensent que ce sera facile pour eux, parce qu'ils le pourraient, pourrait en obtenir beaucoup gratuitement. C'est comme un générateur de code, quasiment inutile pour quelqu'un qui l'utilise pour faire cela (produire du code), plutôt que de l'utiliser de manière habile en réponse à l'ensemble des problèmes.
En ce qui concerne la courbe d'apprentissage, je ne pense pas que ce soit aussi grave que vous le pensez. À l'aide des exemples de classes et du modèle de projet CoreData par défaut d'Apple, j'ai pu installer une application CoreData (assez simple, mais non triviale) opérationnelle en un seul après-midi. vraiment une bonne compréhension de ce que toutes les pièces mobiles étaient (tout en développant le reste de l'application, donc pas de temps perdu en bricolage).
CoreData fonctionne très ... logiquement, je suppose, et c'est incroyablement pratique. Cela vous évite beaucoup de frais généraux et je sais que cela m'a certainement fait gagner beaucoup de temps à l'écriture de cette application. Le court investissement initial dans l’apprentissage de la nouvelle technologie en valait la peine à long terme, maintenant que j’ai un outil aussi puissant dans mon étui.
Je suis toujours dans la plage de connaissances X-Code 101, mais la première application que j'ai créée sur mes propres données de base utilisées (après avoir lu un bon tutoriel).
Un grand nombre de logiciels standard sont déjà écrits dans le modèle d'application vide, mais l'interaction réelle entre le programmeur et les fonctionnalités de la base de données est minimale et directe.
Essayez, c'est plus facile que vous ne le pensez.
Un objet géré Core Data peut avoir toutes ses données sauvegardées dans une base de données et est référencé uniquement en tant qu'ID en mémoire. Ainsi, Core Data peut économiser beaucoup de mémoire, en particulier lorsque vous avez beaucoup de données de modèle. Une fois que vous utilisez Core Data, vous n'avez même plus besoin de vous inquiéter des problèmes de mémoire de données de modèle.
Vous disposez de deux options différentes pour un magasin local persistant, mais vous devez quand même en utiliser une, alors pourquoi ne pas utiliser Core Data?
En ce qui concerne la courbe d'apprentissage, il y a des applications dans les exemples qui vous aideront ici. C'est assez simple une fois que vous parcourez les échantillons.
-t
Les autres réponses ici expliquent bien pourquoi vous pouvez utiliser des données de base, mais comme sa courbe d’apprentissage semble être une préoccupation commune, il serait peut-être utile pour ceux qui trébuchent sur cette question de savoir qu’il existe une alternative avec un courbe d'apprentissage "moins raide": Royaume .
Voici un bref article sur Quora expliquant pourquoi vous pourriez envisager de créer un royaume sur des données de base: https://www.quora.com/Why-would-you-use-Realm-over-Core-Data