マイブログ リスト

2025年3月25日火曜日

公式ドキュメントを読もう!~WebAPI(ブラウザAPI)編~

 つよつよエンジニアを目指して、定期的に公式ドキュメントを読み漁るシリーズ。

今回は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
     端末が画面を暗くしたりロックしたりするのを防ぐ

  • 画面キャプチャ 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
     ウェブからシステム通知を行う。
  • 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仕様書英語索引」と「インターフェース」の部分が残っていますが、続きを書くかは未定です。


0 件のコメント:

コメントを投稿