Chrome機能拡張を侮ってはいけない、今時はwebExtensionで複数ブラウザ対応

2017/04/23

Chrome Extension テクノロジー 日記

t f B! P L
世界的にGoogleChromeブラウザがシェア1位になったという事実により、改めてGoogle社の凄さを思い知ったワケですが、 これまでは、Windowsという圧倒的に広まっているOSにデフォルト搭載されているInternetExplorerを使わない人のほうが少ない現状だったのを、後から参入で、且つレッドオーシャンのブラウザ市場のシェア1位ってすごくないですか? それも1位になったタイミングって、そんなに年数立ってないって、すごくない?

今どきのブラウザ機能拡張の利便性

ツールバー

機能拡張って、古くはIEの画面上部にインストールする形式のツールバーっていうのがYahoo社のものを筆頭に非常に流行りましたが、誰もが便利だと思ってインストールしていたんじゃないでしょうか? ちなみに、色んな会社が無料で配布していたので、沢山インストールする人も多く、下の図のような衝撃の光景いなったことがある人もいるんじゃないでしょうか?

アドオン

そして、ツールバーで、各社がアクセスデータを取りまくっていた時期に、新たなブラウザとしてFirefoxが参入してきました。 機能拡張を「アドオン」という名称で一世風靡できたのは、「FireBug」という、まさに開発者向けツールが搭載されていたからでしょう。 だって、これまでのWEBページ開発って、JSなどのプログラム内にデバッグコードを仕込んで、画面に表示させたり、アラートを出したり、かなりのローテクと手間のかかる作業を、コンソール画面といういかにも開発向けの表示ウィンドウを出すことで、かなりの便利さを提供していました。 今でも存在するようですが、ほとんどのブラウザが標準機能として、見た目も機能も、丸パクリされてしまいましたね。 これが、単なる拡張機能だったなんて、当時はかなりの衝撃だった事を覚えています。

GoogleChrome

Firefoxのアドオンがほぼ全てのブラウザに標準機能として搭載される手前で、GoogleがChromeブラウザを世の中に出しました。 これが2008年だったんですね。 Firefoxが2002年 InternetExplorerが、1995年 という事を考えると、本当にかなりの後発ブラウザという事がわかります。 ちなみに、Operaブラウザは、1995年となんとIEと同じ生まれ年だったんですね。 何故か日本国内では、かなり裏方ブラウザなんですが、諸外国では、人気ブラウザになっている所もあるようですよ。

機能拡張の現在

話が長くなりましたが、GoogleChromeがFirefoxのいいとこ取りをし、Googleのサービスに繋いできて、ユーザーが乗り換え始めた頃に、他のブラウザ達はそれに右にならえで仕様やら、見た目やら、方向性を変えてきたようです。 おもしろいのが、このタイミングで世の中にスマートフォンが登場したタイミングと同じなんですね。 ちなみに、iphoneの初代機発売が、2007年だそうです。 Chromeブラウザはさらに後・・・ スマホ時代に突入した時にGoogleが強かったわけですね。 ブラウザの機能拡張は、どういう変化を遂げたかというと、やはりJSのデバッグコンソールが鉄板になったという事でしょうか。 そして、ブラウザ自体も、ECMAScriptにちゃんと準拠するという事も標準化しつつありますね。 でも、相変わらずIEだけは、独自路線を進みたがっているようですが・・・Edgeは正直、知らん・・・

webExtensionの実態

とにかくGoogleChromeはFirefoxのアドオンと違って、機能拡張の構築がとにかく簡単という点が非常に開発者にうけたのでしょう。 Javascriptを買いてmanifest.jsonという設定ファイルがあれば、だいたいの機能拡張が作れてしまいます。 もちろん、Extensionのリファレンスは熟知する必要はありますが、Firefoxのxml構成から、独特のxpi構成に比べれば格段に開発スピードは早かったわけです。 Googleがイケていたのは、このGoogleChromeExtensionをWEbExtensionとして、仕様を固めて公開したことでしょう。 いち早くのっかってきたのは「Opera」ブラウザで、今現在でも、Chromeブラウザの拡張機能は、そのままOperaでも問題なく動作します。 Firefoxも2016年にwebExtension対応をした事を発表し、Chromeブラウザの機能拡張をそのまま扱える仕様に変更してきました。 ただし、ブラウザ仕様が若干違っている箇所があり、なれない間は、コンテンツ内のJS機能のみにしておいたほうが無難でしょう。

webExtension未対応ブラウザ

IEは、まだ対応していませんが、どうやらEdgeが対応しているようです。 ただし、Edgeの対応率はFirefoxよりも低いらしいので、これもまだまだ開発者泣かせになっているようです。 そしてこれまで話に出てこなかった「Safari」ブラウザですが、iPhoneの要のブラウザという事でAppleが頑なに、仕様を独自にこだわっていて、webExtensionの搭載もおそらく今後もされそうにありません。 今思えば、IEの負の歴史を辿っているようにも思えます。 本当であれば、全てのブラウザが、webExtensionに対応するところまでが、ブラウザの共通仕様になるべきとも考えていますが、各社の戦略もあるため、実現しないことも理解しています。 とにかく、全てのブラウザが独自とは言え、機能拡張の口を持っていることは一昔前から考えると非常にサービス展開を行いやすい状況であると言えるので、これを利用しない手はないという事ですね。 色々なブラウザで使えるからという理由だけでなく、javascriptをプログラミングできるだけで使える簡単な自動化機能が作れるという事なので、エンジニアたるもの、この領域もモノにしておこう。

人気の投稿

このブログを検索

ごあいさつ

このWebサイトは、独自思考で我が道を行くユゲタの少し尖った思考のTechブログです。 毎日興味がどんどん切り替わるので、テーマはマルチになっています。 もしかしたらアイデアに困っている人の助けになるかもしれません。

ブログ アーカイブ