IndexedDB 2.0が更新されました!

2765 ワード

IndexedDBは、単純な値と構造化されたデータを格納できるブラウザに内蔵されたNoSQLの最下位実装です.ただし、Mozillaのマニュアル(IndexedDB-Web APIインタフェース|MDN)でも、このAPIを直接呼び出すのではなく、サードパーティ製パッケージのライブラリを使用することを推奨しています.Hacker Newsでは、APIが複雑で、SQL機能がないという苦情が寄せられています.これが2017年4月26日までの理由です.IndexedDB 2.0に関するインターネット全体の中国語コンテンツは0(A big flat zero)
IndexedDBは簡単なNoSQL実装であり、APIを自分でカプセル化することができ、SQL構文インタフェースをカプセル化することもできます.
余談:すべてのWebSQLの実現の背後にSQLiteがあるため、委員会はこの提案が標準化される可能性は低いと考えている.委員会の人にとって、SQLiteの説明書を基準に書くのは、本当に意味がありません.標準の価値は複数の実現を統一的に計画することにあるが、1つの実現しかないので、標準には価値がない.SQLiteが好きならWebSQLを使えばいいのに、どうせ違う実現の背後にはそれがある.
Chromeの機能ステータスログによると、2.0には以下の機能が含まれています.
  • Binary keys(正確にはArraybuffer、typed array objects、DataViewインデックス)
  • Object store(オブジェクトストレージ)
  • index renaming(インデックス名の変更)
  • getKey() on IDBObjectStore
  • getPrimaryKey() on IDBIndex

  • 全体的には古いAPIの補完であり、第1世代を理解していない場合は、第1世代のブラウザサポートが全面的で、IE 10も含まれているため、第1世代を先に使用することをお勧めします.2.0の更新はデータベースの著者たちにとってさらに喜んで、いくつかの前の頑固な病気を解決しました.IndexedDBベースのより多くの良いライブラリが出現することを期待している.モンゴやFirebaseのようなNoSQLに慣れているなら、直接使ったり、自分で簡単なパッケージを作ったりしてもいいかもしれません.(ちなみに彼のAPIは本当に鶏を炒めるのが強くて鶏を炒めるのが複雑です)
    Mozilla開発ブログの[ブログ][1]ダイジェスト
    Setters to IDBObjectStore.name and IDBIndex.name
    以前のバージョンのIndexでは、オブジェクトのストレージまたはインデックスを増減してデータ・アーキテクチャをアップグレードできますが、名前を変更することはできません.基本的に、これはあなたが永遠に正確に命名できないことを意味します.時間が経つにつれて、多くのものの内在的な意味が変化する可能性があるからです.データベース・アーキテクチャのアップグレードをより効率的に行うことができます.
    let request = indexedDB.open("messageDB", 2);
    request.onupgradeneeded = (event) => {
      let txn = event.target.transaction;
      let store = txn.objectStore("text messages");
    
      store.name = "mobile messages";
      let index = store.index("recipient");
      index.name = "recipients";
    };
    
    IDBDatabase.onclose()
    データベースのライフサイクルフックcloseが追加されました.
    let request = indexedDB.open("bookstore");
    request.onsuccess = (event) => {
      let db = event.target.result;
    
      db.onclose = (event) => {
        alert("the database: " + db.name + "was closed outside the script!");
      };
    };
    

    ... 詳細は[原文参照(En)][1]
    ブラウザのサポート
    Firefox 51,Chrome 58,Opera release 45
    締めくくり
    Chrome 58の開発公告に鑑み、IndexedDB 2.0に重点を置いて言及したことがあります.ここでは、何が何なのか、何のためなのかを簡単に説明します.目的は、この規範の背後にある論理を理解したり、ニュースとして見たりすることです.どのように使うかについては、MDNのマニュアルを参照するか、「githubでindexedDB Wrapperを検索」してください.私はまだ重度に使ったことがないので、恥をかかない.
    Ref:
    [0] What’s new in IndexedDB 2.0? ★Mozilla Hacks(原文)[[1]What’s new in IndexedDB 2.0?|Hacker News(前述のツッコミ)][1][2]Indexed Database API 2.0-Editor’s Draft,21 April 2017[1]:https://news.ycombinator.com/item?id=12793996「[1]What’s new in IndexedDB 2.0?|Hacker News(前述のツッコミ)」(https://news.ycombinator.com/item?id=12793996)