一つのソースから複数ブラウザ対応の機能拡張作成「Browser Extensions」
Browser ExtensionsはPython製のオープンソース・ソフトウェア(BSD License)です。
ワンソースから複数の環境で動作するコードを生成するというのはプログラマの長年の夢でもあります。今回はWebブラウザ機能拡張/アドオンをワンソースから生成するBrowser Extensionsを紹介します。
[![](http://images.moongift.jp/2013/09/Screenshot 2013-09-14 16.35.47_thumb.1379227146.png)](http://images.moongift.jp/2013/09/Screenshot 2013-09-14 16.35.47.1379227146.png)
createオプションでベースを生成します。
[![](http://images.moongift.jp/2013/09/Screenshot 2013-09-14 16.36.05_thumb.1379227150.png)](http://images.moongift.jp/2013/09/Screenshot 2013-09-14 16.36.05.1379227150.png)
buildコマンドで一気に機能拡張を生成します。
Browser Extensionsが対応するのはGoogle Chrome/IE/Safari/Firefoxとなっています。Pythonを使って生成し、Windows/Mac OSX/Linuxで動作します。各ブラウザの全機能が使える訳ではないでしょうが、大抵の機能拡張であればBrowser Extensionsの範囲内で事足りるのではないでしょうか。
MOONGIFTはこう見る
ワンソース、マルチデバイスは常に夢見てきました。Javaしかり、Titaniumしかり。しかしマルチデバイスにおいてCUIは良くとも、GUIまで絡んだ部分まで含めてワンソースで対応しようとすると速度や機能面で問題が生じてきたように思います。
HTML5になって、Webブラウザにおいてはそういった問題が大幅に解消されてきたように見えます。ブラウザごとの方言はありますが、それでも概ね同じ表示が実現できてきています。APIも標準は決められています。その意味ではWebブラウザの機能拡張はワンソースに最も近いところにあるのかも知れません。