Web IDLとWeb API

《 初回公開:2023/03/05 , 最終更新:未 》

Web IDL

MDNの記事をみているとJavaScriptのデータ型とは思えないデータ型を見かける。 DOMString,Uint8Array,USVString等々。

これはWebIDLというウェブアプリケーションプログラミングインターフェイスを規定するために使われるデータ型のようで、

WebAPIが特定の言語に依存しないようにWebIDLというやや定式化された構文,抽象的な言語を使って定義されている。
以下のドキュメントを読んでも文章が抽象的で中身がちんぷんかんぷん。
とりあえず、雰囲気だけはなんとなくわかったような。

現実的にはクライアントサイドで使えるWebブラウザで動作する言語はJavaScriptしかないはずなのだが。
(IEで使えるVBSという懐かしい言語もあるにはあるがいまではほとんど使われていないし)

とりあえず、あいまいなまま適当に自分流に解釈すると。

このWeb IDLで定義されているWeb APIをJavaScriptで利用するためにはWeb IDLのデータ型をJavaScriptのデータ型にあてはめる必要がある。

DOMStringとかUSVStringはWeb IDLという架空の言語で定義されているデータ型で、JavaScriptではどちらも実態はString型を指しているのだが。
これを使う用途,局面で(コンテキスト - 文脈によって)DOMStringとかUSVStringとか言い換えているようだ。

DOMString とは、「DOM における文字列」 という程度の意味の名称です。 「DOM」とついていることにさしたる意味はありません。

スカラー値列scalar value string (USVString) は、Unicodeスカラー値の文字列です。
[70]ほとんど「Unicode文字列」という意味に近いですが、 「文字」の語義を巡っては相当の混乱があります。

型付き配列Web IDLで定義されている。

Web API

そもそもWeb APIとは何なのか?

広義の意味ではSOAPやREST等のAPIも含まれるが。

JavaScriptの世界では主にクライアントサイド Web APIとかブラウザー APIを指しているようだ。

まとめ

ここで、最近 お友達になったChatGPT先生に「Web IDL」と「Web API」についてまとめてもらった。

Web IDLとWeb APIは、Web開発において重要な概念です。

Web IDLは、Web上のAPIの仕様を定義するための言語仕様です。IDLは、Interface Definition Languageの略で、Web IDLはWeb上のインタフェースを定義するための仕様のことです。Web IDLには、WebブラウザのJavaScriptエンジンや、JavaScriptを介してアクセスできるWeb APIなどが含まれます。Web IDLは、プログラマーにとって役立つドキュメントを提供するために使用されます。

Web APIは、WebブラウザやJavaScriptエンジンが提供するAPIのことです。これらのAPIは、ウェブアプリケーションを構築するために使用されます。Web APIには、Document Object Model (DOM) API、Canvas API、Web Audio API、Web Socket APIなど、多数の種類があります。

Web IDLとWeb APIは、Web開発において密接に関連しています。Web APIは、Web IDLに基づいて定義されます。Web IDLは、Web APIのプログラム上のインタフェースを提供し、Web APIを使用する開発者がそれらを適切に使用できるようにします。

Web IDLとWeb APIの正確な知識は、Web開発において非常に役立ちます。それらを理解することで、Web APIをより効果的に使用し、Webアプリケーションをより効率的に開発することができます。

ページのトップへ戻る