つよつよエンジニアを目指して、定期的に公式ドキュメントを読み漁るシリーズ。
今回はFirefoxでおなじみのmozillaから「Web API|MDN」を読んでみました。
プロジェクトの関係でweb開発に触ることになりまして、HTML、CSS、JavaScriptの部分はある程度分かっているつもりなのですが、ブラウザを介してデバイス機能をつかうようなあたりは良く分かっていないので、このページを読もうと思った次第です。
WebAPIというと、ネットを介してリクエストとレスポンスを送受信するものがイメージされると思いますが、ここのページではブラウザAPIを扱っています。
そもそも、クライアントサイド JavaScript での APIは主に2つに分けることができ、
・ブラウザAPI
ブラウザに組み込まれたJSで、デバイスの情報を取得したり命令を出したりできる。
・サードパーティAPI
ブラウザには組み込まれておらず、通信して情報を取得する。
となるそうです。
一般には後者の方を指して、WebAPIと呼んでいるイメージですが、
今回のは前者みたいです。(ならこのページはブラウザAPIと表示すべきでは???)
→詳細はコチラ
ーーー
というわけで、Web API (もといブラウザAPI)のリファレンス一覧を軽く読んでみたので、各項目を簡単に紹介していきます。
- 位置情報 API
端末の位置情報を取得する。
IPロケーションやWi-Fiの低精度なデータと、GPSも利用できる。
使う場合はユーザの許可が必要。
- IndexedDB
ブラウザ側でRDBを保存し利用できる。
- ウィンドウ制御 API
デバイスの複数画面を認識して、画面毎の制御を行う。(Experimental)
- ウィンドウ制御オーバーレイ API
タイトルバーの領域にコンテンツを表示する(Experimental) - ウェブ音声 API
音声認識・音声合成を行う(声→文字、文字→声) - ウェブ共有 API
ファイルなどを、OSの共有システムに渡す。 - ウェブシリアル API
USBなどシリアルポートとのやり取りを行う(Experimental) - ウェブ定期バックグラウンド同期 API
定期処理を登録する。(Experimental)
デバイスがWi-Fi接続している間にデータを更新するなどの活用ができる。 - WebVTT API
動画や音声の再生時間に伴ってテキストを表示する。(youtubeの字幕のイメージ) - ウェブ MIDI API
接続されたMIDIデバイスへの入出力を行う。
- 画面起動ロック API
端末が画面を暗くしたりロックしたりするのを防ぐ - 画面キャプチャ API
画面をメディアストリームとしてキャプチャする。
画面録画や、画面共有に利用する。 - 画面方向 API
デバイスの向き(Screen Orientation)を取得する。 - 決済ハンドラー API
配送先住所・決済手段などを自動入力しやすくするための規格。 - 決済リクエスト API
規格化された決済フォーム機能を提供する。 - 権限 API
permissionの状態を照会・取り消しする。(要求は将来機能)
(位置情報APIや通知APIを利用する場合、権限が必要になる) - 交差オブザーバー API
指定した要素が画面内に入っているか検知する。
画面スクロール時の遅延処理や、広告が表示されたかどうかを集計する。
- サーバー送信イベント
サーバ側からのプッシュ送信をイベントおよびデータとして受信できる。
※通常はデータを受け取るためにはクライアントからのリクエストが必要。 - サービスワーカー API
サービスワーカーを利用して、別スレッドでバックグランドの処理やプッシュメッセージへの対応を行う。
サービスワーカーはウェブワーカーの一種で、ブラウザとサーバ間でプロキシサーバのように振る舞う。
リクエストに介入して、サーバーのモック動作をさせることもできる。 - CSS カウンタースタイル
リストに対してカスタムした番号を表示させることができる。
01. 02. 03 ...
A)B)C)...
など、デモはこちら - ストレージ API
ブラウザにデータを保存する。 - ストレージアクセス API
クロスオリジンのコンテンツが、ファーストパーティストレージにアクセスできるようにする(Experimental) - センサー API 群
端末のセンサー群を、一貫した形でwebから扱えるように、共通の設計でつくられたインターフェースの集合。
- ネットワーク情報 API
システムのネットワーク情報('wifi' や 'cellular') を取得できる。
- バックグラウンド同期 API
デバイスがオフラインのとき通信タスクを延期し、オンラインになったときにバックグラウンド通信を行う。 - バックグラウンドフェッチ API
動画や音声ファイル、ソフトウェアのような、時間のかかるダウンロードをうまく処理するためのメソッドを提供する。 - バッジ API
文書のファビコンやアプリのアイコンにバッジを設定する。 - パフォーマンス API
決められたイベント数やレンダリング時間を測定する等。 - ビュー遷移 API
異なるwebサイトのビュー感のアニメーション遷移を簡単に作成する。 - フェッチ API
ネットワーク越しの通信を含む、リソース取得のためのインターフェイス。
XMLHttpRequestをより強力かつ柔軟に置き換えたもの。 - プッシュ通知 API
ウェブアプリケーションがサーバーからプッシュ通知 を受信できるようにする。
ただし、CSRF/XSRF 問題に注意して実装する必要がある。 - プレゼンテーション API
パワポのプレゼンのようなケースで、デバイスを大型スクリーンに繋いだ時に効率よく表示ができるようにする。(Experimental)
- メディアキャプチャとストリーム API
音声や映像のデータのストリーミングへの対応を提供する WebRTC に関連した API
- URL API
URLを構文解析して、素早くアクセスできる。let addr = new URL("https://developer.mozilla.org/ja/docs/Web/API/URL_API");let host = addr.host;let path = addr.pathname;
一旦以上!
これでも「API仕様書日本語索引」の部分だけにしています。
知らないうちに色々なapiを使っていたんだなあ、としみじみ思いました。
知らないうちに色々なapiを使っていたんだなあ、としみじみ思いました。
まだ、「API仕様書英語索引」と「インターフェース」の部分が残っていますが、続きを書くかは未定です。
0 件のコメント:
コメントを投稿