Loading article…
Web IDLは、Webブラウザに実装することを目的としたAPI (アプリケーションプログラミングインターフェース)を記述するためのインターフェース記述言語(IDL)形式です。ECMAScriptなどの言語がこれらのインターフェースをバインドする方法を指定することにより、Webプログラミングインターフェースの相互運用性を向上させたいという要望から採用されました。[1]
説明
Web IDLは、以下の特徴を持つIDLのバリエーションです。[2]
- Web コンテキストで一般的なスクリプト オブジェクトの動作をより簡単に記述できるようにする多数の機能。
- Web IDL で記述されたインターフェースがECMAScript実行環境内の言語構造にどのように対応するかのマッピング。
ウェブ仕様は1998年以来OMG IDLを使用して指定されており、最初はDOMレベル1仕様でした。[3]しかし、OMG IDLを使用して定義されたインターフェースはJavaScriptの動作を正確に指定することができず、相互運用性に問題が生じていました。[3] [1] WebIDLは、JavaScriptで意図された動作をより明確にするデータ型とバインディング仕様を提供することで、この現状を改善しました。
Web IDL仕様の現状
Web IDL仕様の初版は、2012年4月19日に勧告候補となり、 2016年12月15日にW3C勧告となった。 [4]長年にわたり、第2版となる可能性のある編集者草案は、ほとんどの新しいWeb仕様で参照されていた。2021年10月5日、W3CとWHATWGの間の合意の更新により、編集者草案はWeb IDL Living StandardとしてWHATWGに移された。
使用法
- W3C WikiにはWeb IDLを使用するW3C仕様のリストがあり、[5]ほぼすべてのWHATWG仕様でWeb IDLが使用されています。[6]
- Chromiumプロジェクトには、 WebIDLを使用してBlinkのインターフェースを指定する方法に関するページがあります。[7]
- Mozillaはソフトウェア開発プロセスでWeb IDLを使用し、実装をWeb IDL仕様にマッピングしています。[8]
- WebKitがビルドされると、IDLファイルが解析され、インターフェースを実装にバインドするコードが作成されます。[9]
- ESオペレーティングシステムでは、すべてのシステムAPIはWeb IDLで定義されており、JavaScriptから直接呼び出すことができます。[10]
参考文献
- ^ ab Han, Xu (2008 年 9 月 7 日)。「Web IDL: DOM 仕様の W3C 言語バインディングに新しい名前が付けられました」。InfoQ。
- ^ 「Web IDL (第2版)」。ワールドワイドウェブコンソーシアム。2016年1月18日。 2016年1月24日閲覧。
- ^ ab McCormack, Cameron (2013 年 1 月 29 日)。「Web IDL: Web API の定義と JavaScript バインディングの実装」。
- ^ 「Web IDL 標準」。
- ^ 「Web IDL」。W3C Wiki 。 2017年3月28日閲覧。
- ^ 「Web Hypertext Application Technology Working Group Specifications」。WHATWG 。 2016年1月24日閲覧。
- ^ 「Blink の Web IDL」。Blinkプロジェクト ドキュメント。2013年6 月 9 日閲覧。
- ^ 「Web IDL バインディング」。Firefoxソースドキュメント。2023年8 月 3 日閲覧。
- ^ 「WebKit Web IDL」. trac.webkit.org . 2013 年6 月 9 日閲覧。
- ^ 「ESオペレーティングシステム」。2022年3月28日時点のオリジナルよりアーカイブ。
外部リンク
- Web IDL を使用する標準の一覧
- Web IDL 構文チェッカー
