TaffyDB-AJAXアプリケーション用のDBMS



あなたがアプリケーションまたはインターフェースのAJAX開発者であれば、これはあなたにとって有用であることがわかります。 クライアント側でかなり大量のデータを構造化された形式で保存する必要がある場合、これはどのように行うのが最適ですか? もちろん、通常の配列はあなたを助けることができ(データ型またはむしろ、埋め込まれたArrayオブジェクト)、データ配列とその基本的な操作を管理するための基本的な機能さえ提供しますが、これは非常に、例えば、低レベルのソリューションであり、機能の一部は依存するかもしれません特定のブラウザーでのJSエンジンの実装。 さらに、格納されたデータを使用して何かを行うには、かなり多くの独自のコードを記述する必要があり、最終的にはコードが、把握が困難な呼び出し、関数、変数の山になります。



はい、これから抜け出す方法があります。 特に、(理論上)最適なソリューションは、特別なプラグインを使用してブラウザーの機能を拡張することです。たとえば、 Google Gearsには本格的なDBMS(SQLite)があり、JavaScriptコードで直接すべての機能を自由に使用できます(最も価値のある、 myは、大量のデータを保存することに加えて、全文検索です)。 HTML 5仕様にも同様のツールがあり、Mozilla Firefoxの最新バージョンでは、データベースはクライアントストアとして組み込まれ、 Adobe AIRも組み込みのSQLiteデータベースを使用します。 しかし、何らかの理由でこれらすべての喜びが利用できない場合、またはそれらの使用が制限されており、追加のアドオンなしで、便利なストレージとここでデータを操作する必要がある場合はどうなりますか? もちろん、抜け道があります!





これらはすべてTaffy DBプロジェクトに実装されています。これは、ほぼ完全なデータベースを完全にJavaScriptで実装する小さな(正直なところ、非常に小さく、約10 Kb)ライブラリです。 私が思うに、あらゆる種類のデータ(JSONの形式で送信されるオブジェクトを含む)を格納するために既に理解できるように意図されており、CRUDパラダイム( ウィキペディアでより多く )を提供し、ライブラリを特殊なデータベースとして分類し、データの検索、フィルタリング、ソートの機能。 Taffy DBは、データコレクションで利用可能な操作のリストを大幅に拡張し、データの挿入、選択、更新、削除を簡素化し、さまざまな形式(一度に複数のフィールドを含むSQL DESC / ASCの従来)、さまざまな式を使用したデータ選択をサポートします(通常のSQLクエリのように)、同等性、多かれ少なかれ、パターンとの類似性、特定のマスクの行の開始/終了などが与えられます。 すべての操作は、JSONオブジェクトとして(または、JSON表記で記述されたJavaScriptオブジェクトの形式で指定されますが、あなたは理解しています)。



ライブラリは、 DojoExtJSPrototypejQueryなどを含むすべての一般的なフレームワークと互換性がありますが、他のライブラリを使用せずに完全に独立していると記載されています。 ちなみに、Dojoには似たような機能を持っているように見えるモジュールがあります(結合されていませんが) -SQLクエリおよびコレクションとリストの形式でデータを保存するために、私のお気に入りのExtJSには非常に優れたMixedCollectionオブジェクトがあります。 ExtJSを使用すると、アプリケーションでデータを操作するのがはるかに簡単になりますが、それらはすべて標準のArrayオブジェクトの大幅な拡張ですが、Taffy DB機能(「ほぼDB」)には到達しません。



そして、ここに興味深い視点が迫っています。 Google Gears / HTML5 Storagesおよび他のテクノロジーがオフラインストレージを提供する場合、ページを閉じてブラウザーをリロードした後でもデータを保存できる場合、これらのオブジェクトはアプリケーションの実行中にのみオブジェクトを保存できます。 しかし、最上部に同じTaffyまたはExtJS.MixedCollectionのAPI全体を提供するレイヤーを記述すると、そのすべてが最終的にDojo.storages(Flash StoragesまたはGoogleGearsを使用することを推奨)のいずれかで機能します。または任意のプラグインで直接。 もちろん、これらのアドオンがなくても作業を提供します。 多くのアプリケーションにとって、これは非常に便利であり、本格的なWebアプリケーションの作成を可能にします。



プロジェクトでTaffy DBを使用してみてください。そのパワー、シンプルさ、スピードに感謝するでしょう。 私はすでに使用しています、そしてあなたは?



PS私はいくつかの修正を加えて私のブログから資料を転載することにしました。 オリジナルはこちらです。



All Articles