Chrome開発チームがSQLiteチームとWebAssembly版SQLiteを開発中。Webブラウザ上からのファイル書き込みで永続化も可能。Web SQL APIの代替として

今回は「Chrome開発チームがSQLiteチームとWebAssembly版SQLiteを開発中。Webブラウザ上からのファイル書き込みで永続化も可能。Web SQL APIの代替として」についてご紹介します。

関連ワード (操作、記事、非推奨等) についても参考にしながら、ぜひ本記事について議論していってくださいね。

本記事は、Publickey様で掲載されている内容を参考にしておりますので、より詳しく内容を知りたい方は、ページ下の元記事リンクより参照ください。


Google Chromeの開発チームは、すでに非推奨となっているWeb標準のWeb SQL Database APIをChromeから削除、その代替機能としてSQLite開発チームと協力してWebAssembly版のSQLiteを開発し、提供する予定であることを明らかにしました。

Chrome is deprecating and eventually removing Web SQL! Read @tomayac’s post that details all the steps for getting there.

[We are here] Chrome 105 shows a deprecation warning in the DevTools Issues panel when you use Web SQL in non-secure contexts.https://t.co/Zu6MGofb76

— Chrome Developers (@ChromiumDev) August 31, 2022

Web SQL Database APIはその名称から分かるとおり、WebアプリケーションがSQLを通じてローカルなリレーショナルデータベースを操作できるAPIです。その実装はChromeがまだWebKitをベースに開発されていた2009年に行われ、その後2013年にWebKitからフォークして新たなChromeのベースとなったBlinkでも維持されてきました。

ただし現実にはさまざまな理由でWeb SQL Database APIが活用されることはほとんどなく、現在ではIndexedDBなどほかの機能を利用することが推奨されています。

そして今年1月にリリースされたChrome 97ではサードパーティからのWeb SQL Database API利用について非推奨となり、今後のリリースでは時期未定ながらこのAPIの削除が予定されています。

WebAssembly版SQLiteの提供で代替へ

と同時に、Chromeの開発チームは、ただ単にWeb SQL Database APIを削除するのではなく、代替機能としてSQLite開発チームと協力してWebAssembly版のSQLiteを開発し提供することを発表しました。

下記は「Deprecating and removing Web SQL」からの引用です。

We’re therefore working with the SQLite community on a replacement for Web SQL based on SQLite implemented in WebAssembly (Wasm), which will be released in the near future. For developers looking for a drop-in replacement, we’re investigating if a shim script can be provided.

というわけで、私たちはSQLiteコミュニティと協力してSQLiteのWebAssembly版をベースとしたWeb SQLの代替を開発しており、近い将来リリースする予定だ。ドロップインで置き換えられることを望む開発者のために、shimスクリプトを提供できるかどうかも調査しているところだ。

Web SQL Database APIは実質的にSQLiteをベースとしたAPIですので、WebAssembly版のSQLiteによる代替は適切な選択だといえるでしょう。

また、すでにSQLiteのWebAssembly実装はVMwareのWasm Labsによる実験的実装が存在するため、実現可能性も十分にあることが実証されています。

参照:PHPとSQLiteをWebAssembly化し、Webブラウザ上でWordPressを実行可能にしたデモをVMwareが公開

ただしこの実験的実装ではデータベースをメモリ上に構築した仮想的なファイルシステムで行っているため、Webブラウザを閉じてしまえばデータは消えます。これではデータベースを使う意味がほとんどありません。

WebAssembly版SQLiteからローカルファイルへ書き込んで永続化も

そこでChrome開発チームがWebAssembly版SQLiteで採用する予定なのがFile System Access API(旧Native File System API)です。

参考:Chrome 78ベータに「Native File System API」搭載。Webブラウザからローカルファイルを読み書き可能に

File System Access APIは、Webブラウザからローカルのファイルシステムを読み書き可能にするAPIです。これを使うことでWebAssembly版SQLiteからローカルファイルシステムにデータベースを書き込んで永続化することが可能になります。

このWebAssembly版SQLiteが実現すれば、Webアプリケーションでもリレーショナルデータベースを活用した高機能なアプリケーションの可能性が急速に広がっていくのではないでしょうか。

WebAssemblyを使うことで、Webブラウザに対してさまざまな機能拡張ができる例をこれまでも記事で紹介してきました(関連記事参照)。SQLiteのWebAssembly実装は、その先端的事例の1つとして注目されることになるはずです。登場を心待ちにしたいと思います。

関連記事

  • PHPとSQLiteをWebAssembly化し、Webブラウザ上でWordPressを実行可能にしたデモをVMwareが公開
  • WebAssembly化したPostgreSQLをWebブラウザ上で実際に動かして学ぶ「Postgres playground」をCrunchy Dataが公開
  • 「PyScript」はJavaScriptのようにPythonコードをHTML内に記述して実行可能、Anacondaがオープンソースで公開
  • WebAssembly/WASIに対応した「Ruby 3.2 Preview 1」公開。WebブラウザでRubyが動く世界がやってくる

COMMENTS


Recommended

TITLE
CATEGORY
DATE
ドコモの「ahamo」、登録手続きに不具合 一定の条件下で完了画面が表示されず
企業・業界動向
2021-03-29 22:33
マイクロソフト、2月7日にイベント開催へ–「ChatGPT」と「Bing」関連か
IT関連
2023-02-08 08:56
ランサムウェア被害の大阪急性期・総合医療センター、シスコのセキュリティ対策を導入
IT関連
2023-11-23 02:55
Lucid MotorsはEV工場拡張計画で市場デビュー
モビリティ
2021-07-28 06:21
ヤフー、副業求人サービス開始、まずはβ版 先行登録者は9万人超
キャリア・しごと
2021-05-12 02:52
センサーを使わないスポーツコーチングMustardが野球以外のゴルフやサッカーなども対象に
IT関連
2022-01-20 11:46
Twitterの定額制サービスは「Twitter Blue」で月額2.99ドル、とマンチュン氏
アプリ・Web
2021-05-17 11:03
AIの影響が特に大きい仕事の特徴とは–米調査
IT関連
2023-08-08 09:31
異色の投資家アーラン・ハミルトン氏はスタートアップの雇用ルートを変えようとしている
IT関連
2022-02-23 04:34
マイクロソフトが初心者向け生成AI学習教材公開/ソフトウェアに関わる人が知っておきたい法則10個/GitHubはMac miniを分解している、ほか。2024年1月の人気記事
編集後記
2024-02-02 23:36
みずほ銀行のシステム障害、ほぼ復旧 定期預金のデータ更新作業が原因 1日午後にも説明へ
セキュリティ
2021-03-02 09:24
支援を求めるExxonMobilを横目にスタートアップ企業は炭素回収に取り組む
EnviroTech
2021-05-10 23:08
カウンセリングなど対人援助のオンライン相談室を開設できる「ソラハル Client First」のソラハルが1500万円調達
ヘルステック
2021-07-22 02:39
理光商事、「奉行クラウド」と「kintone」自動連携で業務効率向上
IT関連
2022-05-28 03:02