Mozilla Flux

Mozilla関係の情報に特化したブログです。

Mozilla、Microsoft、Operaが拡張機能のコアAPIの標準化を提案

Mozilla、Microsoft、Operaの三社は、2016年5月2日(米国時間)、W3CのBrowser Extension Community Groupのメーリングリストにおいて、ブラウザの拡張機能におけるコアAPIやマニフェスト、パッケージを標準化することを共同で提案した。今後はGitHubで仕様を公開するとともに、Twitterアカウントでも情報を発信していくようである。

今回の共同提案に至る経緯を補足する記事として、Dev.Opera — For a Better Extensions Ecosystemがある。Operaは、2013年7月時点で、ベンダー中立的なブラウザアドオン用パッケージフォーマットである「NEX」を提唱しており、将来的にはフォーマットの策定作業を標準化団体において行っていくとしていたが、ようやくその努力が実った形だ*1

現時点で、以下のようなコアAPIが提案されているが、上記Dev.Operaの記事においても明言されているように、コアAPIの標準化後もブラウザベンダーが独自のAPIを追加することは許容されている。MozillaのWebExtensionsも標準APIの拡張版と位置づけられることになる。

  • browserAction
  • contextMenu
  • extension
  • i18n
  • pageAction
  • runtime
  • tabs
  • webNavigation
  • webRequest
  • windows

共同提案に記載はないものの、コアAPIがChromeの拡張機能APIをベースにしていることは明らかだ。そもそもOperaはChromiumベースだし、MozillaのWebExtensions APIやMicrosoft Edgeの拡張機能APIもChromeの拡張機能を念頭に置いて設計されている。また、上記Dev.Operaの記事には、他のブラウザベンダーにも提案に加わってもらいたい旨の記載がある。おそらく今回の共同提案の第1の狙いは、Googleを取り込むことにあるのだろう。そしてGoogleを取り込めれば、Appleを包囲できる。言い換えれば、三社はGoogleとAppleという「二大国」が恣意的に拡張機能APIを変更して囲い込むのを防ぐため、いわば「国際法」でコントロールする方向に持っていこうとしているのだ*2

拡張機能がパッケージごと標準化されるならば、開発者の負担が減るだけでなく、ユーザーも大きなメリットを享受できる。拡張機能をインストールする際、どのブラウザに対応したものかを気にする必要がなくなるからだ。この点に関し上記Dev.Operaの記事は、将来的に拡張機能が特定のブラウザ向けAPIを検出して動作を切り替える仕組みになる可能性があると指摘する。つまり、コアを共通にしつつ派生部分を切り替えることで、1つの拡張機能がクロスブラウザで動作するというのが、三社が描く将来像なのである。

*1:今回の共同提案をまとめるまでにも、数か月に及ぶ協議があったらしい。

*2:この件に限らず、Mozillaは国際関係論でいうソフト・パワーの強化を目指しているのかもしれない。Firefoxを自立の価値と強く結びつけたのもその布石か。