2009-08-31 4 views
2

Je cherche à développer une petite application sur Mac OSX et il faudra utiliser une base de données. Quelqu'un peut-il en recommander un pour le Mac? Ce sera mon premier développement de Mac donc c'est vraiment une question de débutant.Quelles sont les bonnes options de base de données à utiliser pour le développement d'applications sur Mac OSX?

Pour vous aider, je suis intéressé par les aspects suivants:

  • est-il adapté aux petites applications? (Important)
  • Convient-il aux applications plus importantes? Quelle taille une application pourrait-elle supporter?
  • L'application va stocker des données localement, mais dans le futur, elle peut finir par partager un schéma avec quelque chose sur le réseau/dans le cloud.
  • Y a-t-il de bonnes bibliothèques/ORM pour l'utiliser?
  • Y a-t-il des fonctionnalités intéressantes qui peuvent ne pas être évidentes pour un débutant?
  • Pourquoi aimez-vous l'utiliser?
  • Est-ce une base de données relationnelle? Ou autre chose?
  • Mon application devra morceaux de version de « contenu » à un moment donné

S'il vous plaît ne hésitez pas à ajouter quoi que ce soit d'autre que je devrais considérer. Je suis également heureux que vous pensiez hors des sentiers battus afin que les bases de données OO ou les approches semblables à Git soient cool.

Merci pour votre aide ...

Répondre

13

Vous devriez examiner Core Data - il est fondamentalement un ORM construit avec un back-end SQLite, et il est inclus avec OS X Tiger et en avant.

Il n'est donc pas nécessaire de réinventer la roue.

Lire Core Data Programming Guide sur Apple.

+0

Je dois appuyer ceci! Core Data est vraiment facile à utiliser et très puissant. Il s'intègre très bien avec XCode aussi. C'est écrit et testé par Apple, alors utilisez-le! :) – Ariejan

1

Eh bien, certains DB relationnelle sera probablement adapter votre facture tout à fait bien.

Pour commencer, vous devriez vérifier SQLite, c'est une base de données SQL qui est faite pour l'intégration.

De cette façon, vous pouvez utiliser le SQL standard (ou un ORM de votre choix) dès le départ, et vous pouvez migrer sans difficulté vers une base de données SQL "plus grande" si vous en avez besoin plus tard.

Pour répondre à vos points:

  • est-il adapté aux petites applications? (Important) oui, particulièrement utile pour une utilisation avec un faible en-tête
  • Convient-il aux applications plus importantes? Quelle taille une application pourrait-elle supporter? dépend de vos besoins précis, mais vous pouvez toujours migrer vers un autre db plus tard
  • L'application va stocker des données localement, mais dans le futur, elle peut finir par partager un schéma avec quelque chose sur le réseau/dans le cloud. SQLite va stocker des données localement, un autre db pourrait être utilisé pour le stockage réseau
  • Y at-il de bonnes bibliothèques/ORM pour l'utiliser? au moins Hibernate le prend en charge explicitement, d'autres ORM devraient fonctionner comme il est un SQL db
  • Y a-t-il des fonctionnalités intéressantes qui peuvent ne pas être évidentes pour un débutant? -
  • Pourquoi aimez-vous l'utiliser? faible surcharge, rapide, facile à configurer, mais un dbms SQL
  • Est-ce une base de données relationnelle? Ou autre chose?relationnelle
  • Mon application devra morceaux de version de « contenu » à un moment donné pas de soutien particulier, mais le plus souvent traité à l'intérieur du schéma de toute façon
+0

Cette réponse est trompeuse; il manque sur le composant critique. La toute première solution de persistance qui devrait être considérée est Core Data. Il répond directement à tous les besoins, à l'exception de l'exigence «stocker des données dans le nuage». Cependant, c'est tellement vague qu'une base de données client/serveur ne pourrait probablement pas être la réponse de toute façon. – bbum

+0

Merci, ne savait pas sur les données de base. – sleske

+0

Ne prenez pas cela dans le mauvais sens, mais ma curiosité soulève la question, comment pourriez-vous ne pas savoir sur les données de base? – Jacob

Questions connexes