Web API - nagutabby/senior-thesis GitHub Wiki
Web API
PWAが端末にアクセスするためのAPI、イベント、インターフェイス
Media Capture and Streams API
端末のカメラとマイクにアクセス
Contact Picker API
端末に保存されている連絡先を選択
File System Access API
端末のネイティブファイルシステムにアクセス
Vibration API
端末を振動させる
Web Bluetooth API
Bluetooth Low Energy(BLE)端末に接続して、端末から値を読み取ったり、端末に値を書き込んだりする
Payment Request API
端末に保存されているクレジットカードなどの情報を使用してWeb上で支払いを行う
DeviceMotionEvent
端末の位置と方向の変化の速度に関する情報を提供
SpeechSynthesis
テキストコンテンツを読み上げる
SpeechRecognition
音声を認識
Geolocation API
端末の位置情報をWebアプリと共有
Web Share API
端末に標準で用意されているシェアの仕組みを使用してテキスト、URL、ファイルを共有
Barcode Detection API
画像に含まれるバーコードやQRコードを検出
MediaStream Recording API
端末のカメラを使用した録画や、端末のマイクを使用した録音を行う
Web NFC API
NFCタグから値を読み取ったり、NFCタグに値を書き込んだりする
Screen Wake Lock API
端末が画面を暗くしたり画面をロックしたりするのを防ぐ
TouchEvent
1つ以上の接触点の接触状態の変化に関する情報を提供
Push APIとNotifications API
Push APIがサーバーから通知用のメッセージを受け取り、Notifications APIが端末に通知用のメッセージを送る
Web Authentication API
生体認証やセキュリティキーを使用してパスワードなしで認証
Shape Detection API
画像に含まれる顔やテキストを検出
Media Session API
端末のロック画面にメディア再生のためのコントロールを表示
DeviceOrientationEvent
端末の物理的な向きに関する情報を提供
Network Information API
端末の接続に関する情報を提供
Background Sync API
Webアプリがオフラインのときにタスクを延期し、ネットワーク接続が復元されたときにタスクを実行
ChromeとFirefoxが対応しているAPI
Audio Output Devices API
- 音声を出力するデバイスをどれにするかをユーザーに尋ねる
Background Tasks API
- ユーザーエージェントによって自動的に実行されるタスクをキューに登録
Beacon API
- クライアント側でのイベントやセッションデータなどの統計情報をサーバーに送信
Broadcast Channel API
- 同じオリジンの閲覧コンテキスト(ウィンドウ、タブ、フレーム、iframe)やワーカー間で通信できる
CSS Counter Styles
- 順序付きの箇条書きの連番(マーカー)や章番号などのカウンタースタイルを設定
CSS Font Loading API(Experimental)
- フォントリソースを動的にロード
Canvas API
- JavaScriptとHTMLのcanvas要素によってグラフィックを描く
Channel Messaging API
- 同じ文書に添付された、異なる閲覧コンテキストで実行される2つの別々のスクリプトが直接通信して、双方向のチャンネルを介して相互にメッセージをやり取りする
Clipboard API
- クリップボードを使用
Compression Streams API
- gzipやdeflateを使用してストリームデータを圧縮したり展開したりする
Console API
- 開発者がデバッグ作業を行えるようにする
Credential Management API
- Webサイトが、ユーザー、連携アカウント、公開鍵の資格情報を取得したり保存したりできるようにする
Device orientation events
- 端末の向きや動きを検出できるようにする
Encoding API
- 様々な文字コードを扱う
Encrypted Media Extensions API
- デジタル著作権管理(DRM)システムの一部であるコンテンツ暗号解除モジュール(CDM)にアクセス
Fetch API
- リソースを取得するためのインターフェイスを提供
- XMLHttpRequestより強力で柔軟な操作ができる
File API
- Webアプリがファイルとそのコンテンツにアクセスできるようにする
File System Access API
- ファイルの読み込み、書き込み、管理ができるようにする
File and Directory Entries API
- ファイルに階層的にアクセスできるローカルファイルシステムをシミュレート
Fullscreen API
- 特定の要素を全画面モードで表示
Gamepad API
- ゲームパッドやゲームのコントローラーにアクセスして、それらの信号に応答
Geolocation API
- 端末の位置情報をWebアプリに提供
Geometry interfaces
- 3Dや2Dグラフィックスを操作するためのインターフェイスを提供
HTML DOM API
- DOMを介してHTML要素にアクセスしたり、HTMLを制御したりする
HTML Drag and Drop API
- Webブラウザでドラッグ & ドロップ機能を使用する
History API
- Webブラウザのセッション履歴にアクセス
Media Stream Image Capture API
- カメラで写真を撮影したり映像をストリーミングしたりする
IndexedDB API
- ファイルやblobを含む大量の構造化データをクライアント側で保存する
Media Capabilities API
- ユーザーエージェントが特定のメディアのデコードやエンコードをサポートしているかどうかを確認
Media Capture and Streams API
- WebRTCに関連したAPI
- ストリームを操作するためのインターフェイスとメソッド、データを非同期に使用する際の成功とエラーのコールバック、データの処理中に発行されるイベントを提供
Intersection Observer API
- ある要素がその祖先要素や文書の最上位のビューポートと交差する変化を非同期で監視
Media Session API
- メディア通知をカスタマイズする
Media Source Extensions API
- プラグインを使用せずにストリーミングメディアを利用できるようにする
Media Stream Recording API
- MediaStreamオブジェクトやHTMLMediaElementオブジェクトによって生成されたデータを取得
Page Visibility API
- 現在ページが見えているかどうかを調べる
- 文書の表示、非表示のイベントを監視
Performance API
- Webアプリのパフォーマンスを測定する
Permissions API
- APIの現在のパーミッションの状態を確認
Pointer events
ポインティング機器に対して発生するDOMイベントのモデルを作成
Pointer Lock API
- マウスの変化量に基づいた入力方法を提供
Push API
- Webアプリがサーバーからメッセージ(プッシュ通知)を受信できるようにする
- Service workerが動作している必要がある
Resize Observer API
- 要素のサイズ変化を監視
- 要素のサイズが変化するたびにオブザーバーに報告できる
Screen Orientation API
- 画面の向きに関する情報を取得
Selection API
- ユーザーが選択している部分にアクセスしたり、その部分を操作したりする
Server sent events
- クライアントからのリクエストなしに、サーバーからWebページにメッセージを送信
Service Worker API
- Service workerをダウンロード、インストール、有効化する
Storage API
- どのくらいのスペースを使用できるかを調べる
- すでにどのくらいのスペースを使用しているかを調べる
Storage Access API
- 他のオリジンのコンテンツがオリジンのストレージにアクセスできるようにする
Streams API
- ネットワーク経由で受信したデータのストリームにプログラムでアクセス
Touch events
- 端末やトラックパッド上の指やスタイラスの動きを解釈
UI Event API
- マウス入力やキーボード入力などのユーザーインタラクションを処理する
URL API
- URLを操作する
Vibration API
- バイブレーションハードウェアにアクセス
Visual Viewport API
- ウィンドウのVisual Viewportのプロパティを変更
Web Animations API
- JavaScriptでアニメーションを付ける
Web Audio API
- 音声を扱うためのシステムを提供
Web Authentication API
- 安全な二要素認証を実現
Web components
- 再利用可能なカスタム要素を作成
Web Crypto API
- 暗号化プリミティブを使用
Web Locks API
- 非同期でリソースをロックしたり、そのロックを解除したりする
Web MIDI API
- Musical Instrument Digital Inerface(MIDI)デバイスに接続して操作
Notifications API
- ユーザーに表示するシステム通知を制御
Web Share API
- テキスト、リンク、ファイルなどのコンテンツを任意の共有ターゲットに共有
Web Speech API
- 音声データをWebアプリに組み入れる
Web Storage API
- Cookieより直感的な方法でキーと値のペアをWebブラウザに保存
Web Workers API
- Webアプリのスクリプトの処理をバックグラウンドで実行
WebGL
インタラクティブな3Dや2Dのグラフィックをレンダリング
WebRTC API
- Web Real-Time Communicationの略称
- Webブラウザ間で直接、任意のデータを交換したり音声/映像ストリームを送受信したりできるようにする
WebTransport API
- HTTP/3 Transportを使用してクライアントとサーバーの間でデータを送受信
- WebSocketの後継
WebVTT
- Web Video Text Tracks formatの略称
- track要素を使用して字幕やキャプションなどの時間指定のテキストトラックを表示
WebSocket API
- クライアントとサーバーの間で対話的な通信セッションを開く
Background Fetch API
- 動画、音声、ソフトウェアのような、ダウンロードに時間がかかる(大容量の)コンテンツを効率良く処理
Webブラウザの対応状況
- Chrome: ✅
- Firefox: ❌
Background Synchronization API
- 安定したネットワーク接続が確立された後で、Service Workerが処理を実行できるようにする
Webブラウザの対応状況
- Chrome: ✅
- Firefox: ❌
Barcode Detection API
- 線形および二次元のバーコードを画像内から検出
Webブラウザの対応状況
- Chrome: ❌
- Firefox: ❌
Battery Status API
- システムのバッテリー充電レベルに関する情報を提供したり、バッテリーレベルや充電状態が変化したときに発生するイベントによる通知を可能にする
Webブラウザの対応状況
- Chrome: ✅
- Firefox: ❌
Web Bluetooth API
- Bluetooth Low Energyの周辺機器に接続して操作
Webブラウザの対応状況
- Chrome: ✅
- Firefox: ❌
CSS Custom Highlight API(Experimental)
- ドキュメント上の任意のテキスト範囲にスタイルを適用
Webブラウザの対応状況
- Chrome: ✅
- Firefox: ❌
CSS Painting API
- JavaScriptを使用してコンテンツを描画
Webブラウザの対応状況
- Chrome: ✅
- Firefox: ❌
CSS Properties and Values API
- 型、デフォルト値、値の継承の有無の情報を持つCSSカスタムプロパティを登録
Webブラウザの対応状況
- Chrome: ✅
- Firefox: ❌
CSS Typed Object Model API
- JavaScriptオブジェクトを使用してCSSのプロパティを操作
Webブラウザの対応状況
- Chrome: ✅
- Firefox: ❌
Contact Picker API
- 連絡先の一覧を表示して、その一覧から選択された項目の詳細をWebサイトやWebアプリで共有
Webブラウザの対応状況
- Chrome: ❌
- Firefox: ❌
Content Index API
- オフラインで利用できるコンテンツをWebブラウザに登録
Webブラウザの対応状況
- Chrome: ❌
- Firefox: ❌
Cookie Store API
- Cookieを管理するための非同期APIを提供
- CookieをService Workerから参照できるようにする
Webブラウザの対応状況
- Chrome: ✅
- Firefox: ❌
EyeDropper API
- スポイトツールを作るための仕組みを提供
Webブラウザの対応状況
- Chrome: ✅
- Firefox: ❌
Federated Credential Management API
- サードパーティのCookieやリダイレクトを使用せずに、Web上でIDフェデレーションサービスを利用できるようにするための仕組みを提供
Webブラウザの対応状況
- Chrome: ✅
- Firefox: ❌
HTML Sanitizer API
- 信頼できないHTML文字列、Documentオブジェクト、DocumentFragmentオブジェクトを安全にドキュメントのDOMに挿入するためのサニタイズ処理を行う
Webブラウザの対応状況
- Chrome: ✅
- Firefox: ❌
Idle Detection API
- アクティブ、アイドル、ロックなどのユーザーのアイドル状態を検出したり、その状態が変化したときに通知したりする
Webブラウザの対応状況
- Chrome: ✅
- Firefox: ❌
Ink API
- ポインターイベントを使用して滑らかなペンストロークを描く
Webブラウザの対応状況
- Chrome: ✅
- Firefox: ❌
Keyboard API
- 物理キーボードを操作
Webブラウザの対応状況
- Chrome: ✅
- Firefox: ❌
Launch Handler API
- PWAの起動方法を指定
Webブラウザの対応状況
- Chrome: ✅
- Firefox: ❌
Local Font Access API
- ローカルにインストールされているフォントデータにアクセス
Webブラウザの対応状況
- Chrome: ✅
- Firefox: ❌
Navigation API
Webブラウザのナビゲーションアクションを開始したり、中断したり、管理したりする
Webブラウザの対応状況
- Chrome: ✅
- Firefox: ❌
Network Information API
- システムのネットワーク接続に関する情報を提供
Webブラウザの対応状況
- Chrome: ✅
- Firefox: ❌
Payment Handler API
- 別のサイトにリダイレクトせずに支払いを処理
Webブラウザの対応状況
- Chrome: ✅
- Firefox: ❌
Payment Request API
- ユーザーに決済方法を選択させ、その情報を販売者が利用できるようにする
Webブラウザの対応状況
- Chrome: ✅
- Firefox: ❌
Web Periodic Background Synchronization API
- Service Worker上で定期的にネットワーク通信ができる状況で実行されるタスクを登録
Webブラウザの対応状況
- Chrome: ✅
- Firefox: ❌
Picture in Picture API
- 他のウィンドウの上に常に浮かぶ動画ウィンドウを作成
Webブラウザの対応状況
- Chrome: ✅
- Firefox: ❌
Popover API
- ポップオーバーコンテンツを表示
Webブラウザの対応状況
- Chrome: ✅
- Firefox: ❌
Presentation API
- プレゼンテーションに適した形式でコンテンツを表示
Webブラウザの対応状況
- Chrome: ✅
- Firefox: ❌
Prioritized Task Scheduling API
- Webアプリのすべてのタスクに優先順位を付ける
Webブラウザの対応状況
- Chrome: ✅
- Firefox: ❌
Reporting API
- Webブラウザの一連のイベントをデータとして取得
Webブラウザの対応状況
- Chrome: ✅
- Firefox: ❌
Screen Capture API
ユーザーが画面やウィンドウを選択して、それをメディアストリームとして取得
Webブラウザの対応状況
- Chrome: ✅
- Firefox: ❌
Screen Wake Lock API
- Webアプリの実行を継続する必要がある場合に、端末が画面を暗くしたりロックしたりするのを防ぐ
Webブラウザの対応状況
- Chrome: ✅
- Firefox: ❌
Sensor APIs
- 端末のセンサーにアクセス
Webブラウザの対応状況
- Chrome: ✅
- Firefox: ❌
Trusted Types API
- DOM操作において、関数により検査された文字列のみを許可することでXSSを防ぐ
Webブラウザの対応状況
- Chrome: ✅
- Firefox: ❌
URL Pattern API
- URLパターンマッチャーの作成に使用される構文を定義
Webブラウザの対応状況
- Chrome: ✅
- Firefox: ❌
User-Agent Client Hints API
- 明示的で監査可能な方法でUser-Agentデータにアクセス
Webブラウザの対応状況
- Chrome: ✅
- Firefox: ❌
View Transitions API
- アニメーションによる異なるDOM状態の間の遷移を簡単に作成
Webブラウザの対応状況
- Chrome: ✅
- Firefox: ❌
VirtualKeyboard API
- 仮想キーボードが表示されたり消えたりするときにWebアプリのレイアウトを制御
Webブラウザの対応状況
- Chrome: ✅
- Firefox: ❌
Web NFC API
- NFCによるデータ交換をNFC Data Exchange Format(NDEF)メッセージで行う
Webブラウザの対応状況
- Chrome: ❌
- Firefox: ❌
WebCodecs API
- Webブラウザにすでに存在するコーデックを使用して音声や動画をエンコードしたりデコードしたりする
Webブラウザの対応状況
- Chrome: ✅
- Firefox: ❌
WebGPU API
- GPUを使用
- WebGLの後継
Webブラウザの対応状況
- Chrome: ✅
- Firefox: ❌
WebHID API
- Human Interface Device(HID)と接続して人間から入力を受け取ったり、人間に出力を提示したりする
Webブラウザの対応状況
- Chrome: ✅
- Firefox: ❌
WebOTP API
- WebブラウザでOne Time Password(OTP)を表示
Webブラウザの対応状況
- Chrome: ✅
- Firefox: ❌
WebUSB API
- USB(Universal Serial Bus)をより安全で簡単に使えるようにする
Webブラウザの対応状況
- Chrome: ✅
- Firefox: ❌
WebXR Device API
- 仮想現実(Virtual Reality, VR)や拡張現実(Augmented Reality, AR)を使用した3Dシーンのレンダリングに対応するために、端末の位置や姿勢、現実の風景などをJavaScriptで取得
Webブラウザの対応状況
- Chrome: ✅
- Firefox: ❌
Window Controls Overlay API
PCでWebアプリを表示した際に、Webアプリのクライアント領域を拡張することで、Webアプリをデスクトップネイティブアプリのように見せる
Webブラウザの対応状況
- Chrome: ✅
- Firefox: ❌