iPad /タブレットデバイス用のオフラインHTML5Webアプリを作成する必要があります。このアプリでは、ユーザーがサーバーからデータセット(データのテーブル)をダウンロードしてデバイスに保存できます。その後、ユーザーはサーバーから切断し、デバイス上でローカルにデータを表示/編集できます。これは、セルラーカバレッジがなく、データを収集/更新する必要がある遠隔地で作業する人々向けです。彼らがオフィスに戻ったとき、彼らはデータをサーバーに同期/アップロードすることができます。HTML5である必要がある理由は、プラットフォームに依存しないためです。つまり、HTML5をサポートする最新のWebブラウザーがあれば、iOS、Androidなどで実行できます。
これで、HTML5ローカルストレージ(データ用)とHTML5オフラインアプリケーションキャッシュ(pages / css / js / images用)を使用してシステムを構築しました。これは、小さなデータセット(表示、編集、保存が可能)で適切に機能します。オフライン中およびオンライン中のロード/同期)。次に、10,000行のデータにスケールアップする必要があります。動作しますが、かなり遅く、Intelクアッドコア8GBマシンにロードしている間、ブラウザが10秒間ハングします。
そのため、ローカルストレージよりも優れた代替手段をいくつか研究してきました。
1)WebSQL:SQL言語を使用してデータをクエリしたり、結合などを実行したりできます。問題は、非推奨になり、サポートされなくなったため、何かを構築するために時間を費やしたくないということです。
2)IndexedDB:オブジェクトストアを使用します(技術的には、ローカルストレージAPIを使用してオブジェクトを既に保存し、JSONを使用して保存しています)。SQL liteバックエンドでインデックスを使用するため、より高速になる可能性があります。データベースの作成、データベースへの追加、データベースからの読み取り、データベースの反復処理などの単純なタスクを実行するための定型コードはたくさんあります。のような単純なクエリを実行したいのですselect(xyc, abc).where(abc = 123).limit(20)
が、代わりに多くのJavaScriptコードを記述して実行する必要があります。テーブル間の結合を行うための独自のコードをどのように作成しますか?
私は人生をより簡単にするかもしれない1つのjQueryプラグインを見つけました。IndexedDBを使用する際の苦痛を和らげる他のライブラリや他のライブラリはありますか?
どうもありがとう!