[解決済み] ローカルのHTML5 DB(WebSQL Storage、SQLite)をサーバーと同期する最適な方法(2ウェイ同期)【終了しました
質問
私は、ローカルデータベース(html5 webstorageを使用)を使用したモバイルWebアプリケーション(iPhoneおよびAndroid用)を開発しています。
これは完璧に機能していますが、ローカルのデータをサーバーに保存したいのです。そこで、ローカルのDBをサーバー上のDBと同期させる必要があります。同期は片道だけですが、将来的には両方の方法で同期させたいと思います(サーバー <-> ローカルDB)。
この要求は非常に一般的(またはモバイルウェブアプリでは将来的に一般的になる)なようですが、それを行うライブラリは見当たりません。
googleがモバイルウェブアプリ(例:gmail)でやっているのは知っていて、その中で WSPLプロジェクト googleのプロジェクトですが、ダウンロードできるソースがありません。
解決策が見つからなければ、ワンウェイ同期が難しくなさそうなので、そのためのライブラリを作る予定ですが、他に解決策はないのでしょうか。
どのように解決するのですか?
- という名前の小さなJSライブラリを作成しました。 WebSqlSync ローカルのWebSql DBをサーバと同期させる(クライアント <-> サーバ)ためのもの。非常に使いやすく、あなたのコードに統合することができます。
https://github.com/orbitaloop/WebSqlSync
- オープンソースプロジェクト QuickConnect HTML5のSQLite DBをサーバーDB(MySQLなど)に同期させるJSライブラリが含まれています。
http://quickconnect.pbworks.com/Using-Enterprise-Synchronization
このライブラリを使用するには、フレームワークのDataAccessObjectを使用してDBにアクセスする必要があります。DBに適用されたすべてのSQLリクエスト(もちろんselectは除く)を保存し、サーバーに送信することで動作します。削除を管理するには最適ですが、更新が多い場合は少し重いですし、サーバーも同じSQL言語を使用する必要があります...
- の別プロジェクト。 クイックコネクト は、ネイティブな SQLite 同期(iOS または Mac OS では Objective C で、Android では Java で)です。
http://www.quickconnectfamily.org/qcdbsync/ (全てのSQLリクエストの履歴も保存されていると思います。)
- そして、もう一つ有望なJSライブラリを見つけました。 パーシスタンスJS
https://github.com/zefhemel/persistencejs
"persistence.jsは、非同期のJavascriptオブジェクトリレーショナルマッパーライブラリです。ブラウザ上でもサーバ上でも使用することができます(そして、両者間でデータモデルを共有することができます)"
DBシンクモジュールがあるそうです。 persistence.synch.jsのDOC
(クライアントではHTML5 DB SQLiteまたはGoogle Gears、サーバーではMySQLで動作します)
- また インペル.inTouch . これは非常に使いやすく見えますが(phpファイルが含まれている)、クライアント側でMootoolsフレームワークを使用する必要があります。
http://impel.simulacre.org/api/Impel.inTouch
- また、Senchaには同期サービスもあります。 Sencha.io . 見た目は素晴らしいですが、Sencha Touchフレームワークに依存しています。
関連
-
[解決済み] CSSでテキストや画像の背景を透明にするには?
-
[解決済み] Node.jsを使うタイミングをどう判断するか?
-
[解決済み] Sublime Text 2を使ってHTMLコードを再フォーマットするにはどうしたらいいですか?
-
[解決済み] Bootstrap3による垂直方向の整列
-
[解決済み] input type="date "のフォーマットを変更する方法はありますか?
-
[解決済み] 静的な HTML ページにファビコンを追加する
-
[解決済み] label要素の中にinput要素を入れるべきですか?
-
[解決済み] HTML5 ローカルストレージとセッションストレージの比較
-
[解決済み] スケジュールされたジョブを設定する?
-
[解決済み] HTML5のローカルストレージのアイテムはいつ期限切れになりますか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] HTMLにおける'"'エンティティの使用法
-
[解決済み] HTMLで複数選択を許さないリストボックスを作るには?
-
[解決済み] HTMLのid属性に有効な値は何ですか?
-
[解決済み] divの中のテキストを縦に揃えるにはどうしたらいいですか?
-
[解決済み] CSSコンテンツによるHTMLエンティティの追加
-
[解決済み] input type="date "のフォーマットを変更する方法はありますか?
-
[解決済み] hr要素の色を変更する
-
[解決済み] Bootstrap 3 の sr-only とは何ですか?
-
[解決済み] 検索エンジンはAngularJSアプリケーションをどのように扱っているのか?
-
[解決済み] HTMLのdiv要素とspan要素の違いは何ですか?