2014-11-14 37 views
2

我剛開始學習和開發Mac OSX應用程序,我想設計一個使用數據庫的應用程序。Mac OSX開發常見的單用戶數據庫是什麼?

我並不反對像MySQL這樣的東西,但我正在尋找一些可以是單一用戶並可以直接存儲在設備上的東西,因此不需要互聯網訪問。我不想訴諸寫/讀文件。

我最近找到的是SQLite,我在Android開發中很熟悉,但我的問題是:大多數OSX開發人員使用的是什麼?

我想以一種不以意見爲導向的方式提出這個問題,因爲我知道那裏有無數的DBMS。與OSX一起使用時,是否有一款產品領先?

+2

CoreData作爲SQLite上的對象持久層非常常見。你還會發現有相當數量的人直接使用SQLite。 –

+0

絕對SQLite。 – rickerbh

+0

這對iOS是否也適用? (我會承擔) – AdamMc331

回答

3

,更高層次:

核心數據都可以在iOS和OSX。

Realm是Core Data的一種流行替代方案。一些功能包括:

  • 快速
  • 內存高效
  • 它的安全和易於跨多個線程使用(核心數據可能會非常棘手這裏)。

與核心數據一樣,它使用活動記錄模式,其中持久性方法在模型對象本身上定義(與使用單獨接口的DAO模式不同)。

下抽象:

FMDB是一個很好的Objective-C API,坐在在純C API到SQLite的。

+0

如果我長期想要遷移到多用戶數據庫,核心數據是一個很好的選擇嗎? – AdamMc331

+0

有更多CoreData經驗的人可能會不同意,但我認爲不會,你會尋找一種方法,讓你完全控制表結構,同時擁有富有表現力的OO模型。爲此,我喜歡使用DAO模式的FMDB,其中DAO從關係數據庫轉換到/來自關係數據庫。如果更改模型和/或表結構,則可以修改DAO實現以反映此情況。 (這是一個DAO的例子:https://github.com/typhoon-framework/Typhoon-Swift-Example/blob/master/PocketForecast/Dao/CityDao.swift) –

相關問題