つよつよエンジニアを目指して、定期的に公式ドキュメントを読み漁るシリーズ。
今回は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も利用できる。
使う場合はユーザの許可が必要。
- サーバー送信イベント
サーバ側からのプッシュ送信をイベントおよびデータとして受信できる。
※通常はデータを受け取るためにはクライアントからのリクエストが必要。
- サービスワーカー API
サービスワーカーを利用して、別スレッドでバックグランドの処理やプッシュメッセージへの対応を行う。
サービスワーカーはウェブワーカーの一種で、ブラウザとサーバ間でプロキシサーバのように振る舞う。
リクエストに介入して、サーバーのモック動作をさせることもできる。
- CSS カウンタースタイル
リストに対してカスタムした番号を表示させることができる。
01. 02. 03 ...
A)B)C)...
など、デモはこちら
- ストレージ API
ブラウザにデータを保存する。
- ストレージアクセス API
クロスオリジンのコンテンツが、ファーストパーティストレージにアクセスできるようにする(Experimental)
- センサー API 群
端末のセンサー群を、一貫した形でwebから扱えるように、共通の設計でつくられたインターフェースの集合。
- 通知 API
ウェブからシステム通知を行う。 - DOM
Document Object Model は、ウェブ文書のためのプログラミングインターフェイス。
人が見るためのページ表示と、プログラムによる操作を両立させる仕組み。
- バックグラウンド同期 API
デバイスがオフラインのとき通信タスクを延期し、オンラインになったときにバックグラウンド通信を行う。
- バックグラウンドフェッチ API
動画や音声ファイル、ソフトウェアのような、時間のかかるダウンロードをうまく処理するためのメソッドを提供する。
- バッジ API
文書のファビコンやアプリのアイコンにバッジを設定する。
- パフォーマンス API
決められたイベント数やレンダリング時間を測定する等。
- ビュー遷移 API
異なるwebサイトのビュー感のアニメーション遷移を簡単に作成する。
- フェッチ API
ネットワーク越しの通信を含む、リソース取得のためのインターフェイス。
XMLHttpRequestをより強力かつ柔軟に置き換えたもの。
- プッシュ通知 API
ウェブアプリケーションがサーバーからプッシュ通知 を受信できるようにする。
ただし、CSRF/XSRF 問題に注意して実装する必要がある。
- プレゼンテーション API
パワポのプレゼンのようなケースで、デバイスを大型スクリーンに繋いだ時に効率よく表示ができるようにする。(Experimental)
- 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仕様書英語索引」と「インターフェース」の部分が残っていますが、続きを書くかは未定です。