2010-12-15 6 views
7

私は誰かがここで私の結論を検証したり訂正したりすることができると考えています。CouchDBは実際にデスクトップアプリケーションに使用できますか?

私は小さなプロジェクトを書いています。私は複数のインストールをステップとデータ共有で維持できるように、また必要に応じてブラウザからアクセスできるようにWebサーバーと同期するノートを作成するためのデスクトップアプリケーションを作成したいと考えています。

私はCouchDBに関して騒々しい話を聞いたことがあり、desktop-couchdbの「オフライン機能」や、間欠的な通信を処理する機能を利用して、モバイル市場。これにより、私のデータストレージを提供し、同期ニーズを処理することを検討するのは興味深い選択肢かもしれないと私は思っていましたが、始める方法に関する情報を見て回った後、私の結論は

CouchDBインスタンスをパッケージ化し、デスクトップアプリケーションの一部として配布し、そのアプリケーションのコンテキストで実行してローカルストレージを提供する方法はありません。中央データベースへの同期。

ここで正しいですか?もしそうなら、そこにはこの種のことを行うテクノロジーがあるのでしょうか、私は自分のローカルストレージを使い果たしただけで、サーバ上でCouchDBを使用しているかもしれません。

+0

答えが「いいえ」ではないと少なくとも1人は判断しました:http://philwilson.org/blog/2009/04/couchdb-in-desktop-applications – RobertB

+0

しかし、デスクトップ・タッチは、Ubuntuのhttps:// launchpad.net/desktopcouch この時点では* nix-onlyであるようです。もっと興味深いドキュメントはここにあります:http://www.freedesktop.org/wiki/Specifications/desktopcouch – RobertB

答えて

5

アップデート(2012/05):あなたはMac OS X and/or iOSAndroidをターゲットにしている場合のCouchbaseから新しいTouchDBプロジェクトをチェックしてください。これらは実際にはSQLiteを(少なくとも今のところは)使用していますが、「実際の」CouchDBサーバとの間で複製することができます。最終的に成熟し始めているもう1つのクライアント側の選択肢は、PouchDBで、これはIndexedDB対応ブラウザエンジンで動作します。これらを使用するか、またはそれらを使用して同様のポートを別のデスクトッププラットフォームにインスピレーションすることは、現在、より良い方法になっています。

オリジナルの答え:ローカルストレージを提供するために、その アプリケーションのコンテキストでそれを実行している デスクトップアプリケーションの一部と としてそれを配布、 CouchDBのインスタンスをパッケージ化する方法はありません

と中央の データベースとの同期。例えばCouchDBの接頭辞の束の周りに薄いラッパーですCouchDBX.appとそのすべての依存関係を参照してください - この時点で

は、あなたの文は、アプリでのCouchDBを含めることが可能であるが、実質的に正確です。

CouchDBアプリケーションを構築する最も簡単な方法は、ユーザーがすでにa CouchDB serverを実行していると仮定することです。これは、特にCouchoneのホスティングや、OS XのCouchDBXやUbuntuのDesktopCouchのようなあらかじめ構築されたアプリケーションでは、聞こえるより簡単です。この後者は、私が正しく理解していれば、最近Ubuntuにデフォルトで組み込まれており、D-Bus経由でポートに問い合わせると自動的にCouchDBサーバーを起動させるので、特に興味深いものです。 launchdとBonjourを使って同様のことをOS X上で行うことができます。

あなたが書いているように、データをローカルフォーマットで保存し、オプションでCouchDBサービスと同期させるか、buildにしてErlang、SpiderMonkey、CouchDBをすべて一緒にバンドルする必要なときに実行されていることを確認するためのスクリプトが含まれています。これは可能ですが、明らかにどちらも理想的ではありません。デスクトップ指向アプリケーションのためのよりシンプルなソリューションを望んでいる唯一の人ではないと私は信じています!

+0

答えに感謝します。リモートのCouchDBインスタンスについて語ることができるSQLiteのローカルストアとライブラリのようなものを想像していました。ああ、おそらく将来いつか。 – mwtb

+0

実際、これは最近数ヶ月で起こっています!上記の私の答えのアップデートでTouchDBへの私のリンクをチェックしてください。 – natevw

関連する問題