Submit Search
Chrome Extensionsから見るWebExtensions
Download as PPTX, PDF
0 likes
1,340 views
Yoichiro Tanaka
Firefox developer conference 2015
Software
Read more
1 of 75
Download now
Download to read offline
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
More Related Content
PDF
concrete5 バージョン5.7のご紹介
Hishikawa Takuro
PPTX
Cloud 9を使ってみよう
武彦 大山
PDF
concrete5 勉強会 20150117_テーマ作成
Toshiaki Endo
PDF
concrete5で社内システムのお話し
Tao Sasaki
PPTX
第1回concrete5初心者向け勉強会
武彦 大山
PDF
concrete5で制作・運用する多言語ウェブサイト
Hishikawa Takuro
PDF
concrete5って何?〜Web制作者対象〜2014年版
Hishikawa Takuro
PDF
WordPress使いの為のconcrete5導入
Toshiaki Endo
concrete5 バージョン5.7のご紹介
Hishikawa Takuro
Cloud 9を使ってみよう
武彦 大山
concrete5 勉強会 20150117_テーマ作成
Toshiaki Endo
concrete5で社内システムのお話し
Tao Sasaki
第1回concrete5初心者向け勉強会
武彦 大山
concrete5で制作・運用する多言語ウェブサイト
Hishikawa Takuro
concrete5って何?〜Web制作者対象〜2014年版
Hishikawa Takuro
WordPress使いの為のconcrete5導入
Toshiaki Endo
What's hot
(20)
PPTX
これからはじめるConcrete5
武彦 大山
PPTX
CMS の今後と IoT 〜 concrete5 などの CMS が進む道
Katz Ueno
PPT
第22回creators meet up資料
武彦 大山
PDF
第4回concrete5初心者勉強会-基礎編-
Hayaka Shoji
PDF
WordPress使いのためのconcrete5入門
Hishikawa Takuro
PPTX
第3回concrete5初心者勉強会
武彦 大山
PPTX
これからはじめるConcrete5
武彦 大山
PPTX
その後のBash on windows
Kazushi Kamegawa
PDF
ブロックエディターで WordPress は この先どう変わる ?
Naoko Takano
PPTX
Concrete5を簡単・安心に使おう
武彦 大山
PDF
WordPressカスタム三兄弟、concrete5ならこう作る。
ねこみみ 隊長
PPTX
Docker webinar 20170426−01
Creationline,inc.
PDF
その Web サイト、その Web アプリを最新の IE11 に対応しよう
Osamu Monoe
PDF
concrete5で行なうcms導入提案のポイント
Hishikawa Takuro
PPTX
どうなるflash!?
Yoshinori Kamaishi
PDF
Windows Insider Program という取り組みについて ~ Fall Creators Update を踏まえて
日本マイクロソフト株式会社 Windows & デバイス本部
PDF
プラグイン公開までの道のり
Takami Kazuya
PDF
【BS13】チーム開発がこんなにも快適に!コーディングもデバッグも GitHub 上で。 GitHub Codespaces で叶えられるシームレスな開発
日本マイクロソフト株式会社
PDF
「なんとなく」の壁を越えよう! 〜自信を持ってWordPressを選択するためのヒント〜
Naoko Takano
PPTX
concrete5 最新情報
武彦 大山
これからはじめるConcrete5
武彦 大山
CMS の今後と IoT 〜 concrete5 などの CMS が進む道
Katz Ueno
第22回creators meet up資料
武彦 大山
第4回concrete5初心者勉強会-基礎編-
Hayaka Shoji
WordPress使いのためのconcrete5入門
Hishikawa Takuro
第3回concrete5初心者勉強会
武彦 大山
これからはじめるConcrete5
武彦 大山
その後のBash on windows
Kazushi Kamegawa
ブロックエディターで WordPress は この先どう変わる ?
Naoko Takano
Concrete5を簡単・安心に使おう
武彦 大山
WordPressカスタム三兄弟、concrete5ならこう作る。
ねこみみ 隊長
Docker webinar 20170426−01
Creationline,inc.
その Web サイト、その Web アプリを最新の IE11 に対応しよう
Osamu Monoe
concrete5で行なうcms導入提案のポイント
Hishikawa Takuro
どうなるflash!?
Yoshinori Kamaishi
Windows Insider Program という取り組みについて ~ Fall Creators Update を踏まえて
日本マイクロソフト株式会社 Windows & デバイス本部
プラグイン公開までの道のり
Takami Kazuya
【BS13】チーム開発がこんなにも快適に!コーディングもデバッグも GitHub 上で。 GitHub Codespaces で叶えられるシームレスな開発
日本マイクロソフト株式会社
「なんとなく」の壁を越えよう! 〜自信を持ってWordPressを選択するためのヒント〜
Naoko Takano
concrete5 最新情報
武彦 大山
Ad
Similar to Chrome Extensionsから見るWebExtensions
(20)
PDF
第2回 Framgia × LOUPE 勉強会 「Chrome Extensionいじってみた話」
Takuya Mukohira
PPT
素敵なjavascript ~google chrome編~
ngi group.
PPTX
Media programing2012
y42sora
PPT
Chrome 拡張のご紹介
Tetsunosuke Saito
PDF
Firefox拡張機能を始める
egtra
PDF
20140409勉強会
Masato Egami
PPTX
Chrome拡張機能の作りかた
aozou99
PPTX
Chrome Extensionsの基本とデザインパターン
Yoichiro Tanaka
PDF
Chrome Apps & Chromeウェブストア概要
yoshikawa_t
PPTX
Chrome拡張で改善 表紙
Wataru Terada
PDF
ChatWorkではじめるChrome Extensionもぐもぐ会
cw-ozaki
PDF
モダンな感じでChrome Extension作ってみた
Takumi Murano
PDF
クロスブラウザ拡張ライブラリExtension.js
swdyh
PDF
Secret of Firefox
dynamis
PPTX
ブラウザの拡張機能を使おう
y-n
PDF
Chrome DevTools.next
yoshikawa_t
PDF
Firefox Add-on SDK 入門
Shoot Morii
PPTX
拡張機能の歴史と標準化
Ryouyu Oonuma
PDF
App007 ほしい機能を作ろ
Tech Summit 2016
PPTX
App007 ほしい機能を作ろ
Tech Summit 2016
第2回 Framgia × LOUPE 勉強会 「Chrome Extensionいじってみた話」
Takuya Mukohira
素敵なjavascript ~google chrome編~
ngi group.
Media programing2012
y42sora
Chrome 拡張のご紹介
Tetsunosuke Saito
Firefox拡張機能を始める
egtra
20140409勉強会
Masato Egami
Chrome拡張機能の作りかた
aozou99
Chrome Extensionsの基本とデザインパターン
Yoichiro Tanaka
Chrome Apps & Chromeウェブストア概要
yoshikawa_t
Chrome拡張で改善 表紙
Wataru Terada
ChatWorkではじめるChrome Extensionもぐもぐ会
cw-ozaki
モダンな感じでChrome Extension作ってみた
Takumi Murano
クロスブラウザ拡張ライブラリExtension.js
swdyh
Secret of Firefox
dynamis
ブラウザの拡張機能を使おう
y-n
Chrome DevTools.next
yoshikawa_t
Firefox Add-on SDK 入門
Shoot Morii
拡張機能の歴史と標準化
Ryouyu Oonuma
App007 ほしい機能を作ろ
Tech Summit 2016
App007 ほしい機能を作ろ
Tech Summit 2016
Ad
More from Yoichiro Tanaka
(14)
PPTX
Navigate users from assistant app to android app
Yoichiro Tanaka
PPTX
みんなの知らないChrome appsの世界
Yoichiro Tanaka
PPTX
Chromeウェブストア - Html5とか勉強会42
Yoichiro Tanaka
PPTX
Info scoop opensource
Yoichiro Tanaka
PDF
Yapc
Yoichiro Tanaka
PDF
SocialWeb-Japan Vol.2 20090428
Yoichiro Tanaka
PPT
JRuby on Rails
Yoichiro Tanaka
PPT
JavaEdge第3回ライブセッション
Yoichiro Tanaka
PPT
maven2+aptで楽々ドキュメント
Yoichiro Tanaka
PPT
丸山先生レクチャーシリーズ2007-2008
Yoichiro Tanaka
PPT
Sun Tech Days 2007 Mash up
Yoichiro Tanaka
PPT
体操競技のルール改正と今後の日本の方向性
Yoichiro Tanaka
PPT
Wicket勉強会2
Yoichiro Tanaka
PPS
世間の荒波を乗りこなせ!
Yoichiro Tanaka
Navigate users from assistant app to android app
Yoichiro Tanaka
みんなの知らないChrome appsの世界
Yoichiro Tanaka
Chromeウェブストア - Html5とか勉強会42
Yoichiro Tanaka
Info scoop opensource
Yoichiro Tanaka
Yapc
Yoichiro Tanaka
SocialWeb-Japan Vol.2 20090428
Yoichiro Tanaka
JRuby on Rails
Yoichiro Tanaka
JavaEdge第3回ライブセッション
Yoichiro Tanaka
maven2+aptで楽々ドキュメント
Yoichiro Tanaka
丸山先生レクチャーシリーズ2007-2008
Yoichiro Tanaka
Sun Tech Days 2007 Mash up
Yoichiro Tanaka
体操競技のルール改正と今後の日本の方向性
Yoichiro Tanaka
Wicket勉強会2
Yoichiro Tanaka
世間の荒波を乗りこなせ!
Yoichiro Tanaka
Chrome Extensionsから見るWebExtensions
1.
Chrome Extensions から見る WebExtensions Firefox
Developers Conference 2015 in Tokyo November 15, 2015
7.
Today's Topic
9.
Today's Topic WebExtensionsの基礎 Chrome Extensionsとの違い 開発における注意点
10.
ご注意 "くろ〜む"と言った時は、 「Chromeウェブブラウザ」 のことです。 "えくすてんしょん"と"拡張機能"は、 同じものを指しています。
11.
WebExtensionsの基礎
13.
今までの拡張機能開発 XUL + XPCOMを利用した開発 Add-on
SDKとcfxコマンドを利用した開発 JPMを利用した開発
14.
今までの拡張機能開発 XUL + XPCOMを利用した開発 Add-on
SDKとcfxコマンドを利用した開発 JPMを利用した開発
15.
WebExtensions
19.
?
20.
Goal of WebExtensions Firefoxと他のブラウザ間での移植を簡単にする。 addons.mozilla.orgでの審査を簡単にする。 Firefoxのマルチプロセス化との互換性を持たせる。 Firefox内部のコード変更を拡張機能に影響させない。 既存のXPCOM/XUL
APIよりも簡単にする。 https://wiki.mozilla.org/WebExtensions
21.
Goal of WebExtensions Firefoxと他のブラウザ間での移植を簡単にする。 addons.mozilla.orgでの審査を簡単にする。 Firefoxのマルチプロセス化との互換性を持たせる。 Firefox内部のコード変更を拡張機能に影響させない。 既存のXPCOM/XUL
APIよりも簡単にする。 ⇒ [UP] セキュリティ、安定性の向上 ⇒ [UP] 質の高い拡張機能の輸入/輸出量の向上 ⇒ [DOWN] 実現できることの減少
22.
APIs
23.
APIs(Ready to go) alarms contextMenus pageAction bookmarks browserAction cookies extension i18n notifications runtime storage tabs webNavigation webRequest windows
24.
API - browserAction
25.
API - pageAction
26.
API - notifications
27.
API - contentMenus
28.
Content Script
29.
Other APIs alarms -
一定時間ごとにイベントを発生させてくれるAPI。 storage - 拡張機能ごとに提供される情報の保存場所。 tabs - タブ関連の操作(新規タブを開いたり一覧を取得したり)。 i18n - 国際化のためのAPI(_locale/...en...ja.../messages.json)。 bookmarks - ブックマークを操作するためのAPI。 ...
30.
APIs(Planned) commands DevTools downloads history idle omnibox permissions Native messaging
31.
Building Blocks
33.
Building Blocks 必須なファイル manifest.json -
拡張機能のメタ情報を持つ 任意のファイル HTMLファイル CSSファイル JavaScriptファイル その他必要なファイル・・・
34.
Minimum Extension
35.
manifest.json { "manifest_version": 2, "name": "Minimum
Extension", "version": "1.0", "applications": { "gecko": { "id": "minimum-extension@eisbahn.jp" } }, "browser_action": { "default_popup": "popup.html" } }
36.
popup.html <!DOCTYPE html> <html> <head></head> <body> <div>Hello, WebExtension!</div> </body> </html>
37.
$ cd minimum-extension $
ls manifest.json popup.html $ zip -r ../minimum-extension.xpi * updating: manifest.json (deflated 42%) updating: popup.html (deflated 23%) $ cd .. $ ls minimum-extension/ minimum-extension.xpi
38.
Configuration
39.
Installing
40.
Installing
41.
Installing
42.
Using the browserAction
43.
Using the browserAction
44.
background
46.
background.html background.js
47.
popup.html popup.js Each Event (alarms, tabs,
etc.) Backend serverbackground.html background.js
48.
manifest.json { "manifest_version": 2, ... "background": { "page":
"background.html" <or> "scripts": ["background.js"] } ... }
49.
background.js console.log("Background created."); function hello()
{ return "Hello, I'm background context."; } chrome.alarms.onAlarm.addListener( function(alarm) { console.log("Called by chrome.alarms."); } ); chrome.alarms.create("", {delayInMinutes:1, periodInMinutes: 1});
50.
popup.html popup.js Each Event (alarms, tabs,
etc.) Backend serverbackground.html background.js chrome.extension.getBackgroundPage()
51.
popup.html <!DOCTYPE html> <html> <head></head> <body> <div>Hello, WebExtension!</div> <script> var
bg = chrome.extension.getBackgroundPage(); console.log(bg.hello()); </script> </body> </html>
54.
Content Scripts
55.
manifest.json { "manifest_version": 2, ... "content_scripts": [
{ "matches": ["https://www.eisbahn.jp/*"] "js": ["content_scripts.js"] } ], ... }
56.
content_scripts.js var body =
document.querySelector("body"); body.style.transform = "rotate(-180deg)";
58.
Chrome Extensionsとの違い
59.
manifest.json { "manifest_version": 2, "name": "Minimum
Extension", "version": "1.0", "applications": { "gecko": { "id": "minimum-extension@eisbahn.jp" } }, "browser_action": { "default_popup": "popup.html" } }
61.
background "persistent"属性がサポートされていない。 ⇒ Background Contextが常駐している。 ⇒
background.htmlやbackground.jsに情報を保持できる。 ⇒ setTimeout(), setInterval()が使える。 ⇒ 常にメモリを圧迫している状況。
63.
background Chromeでは既にpersistent=trueの拡張機能は非推奨 ⇒ まだtrueもサポートされてはいる。 ⇒ 多くの拡張機能はpersistent=falseに移行済み。 結果としてChromeからFirefoxに移植する際に問題になる。 ⇒
現状はそれぞれのコードを準備するのが得策。 ⇒ Firefoxもpersistent=falseのサポートをするのでは?
64.
開発における注意点
65.
Simple
67.
goo.gl URL Shortener goo.glによる短縮URL作成、一覧表示 クリックカウントの表示 クリックされたブラウザや地域などの表示 クリック数の時間推移の表示 短縮URLのQR
Code生成 GMail, Facebook, Twitter, Google+へシェア Pocket (Read It Later)への追加 壁紙の変更 短縮URLのクリック数の監視とBadge表示
70.
良い拡張機能とは シンプルであること 1つの拡張機能でできることは1つだけに絞る。 利用者獲得のための欲を出さない 良い拡張機能は何もしなくても絶対流行る。 アイディアと先行者利益で勝負する。 お行儀良く ガイドラインは守りましょう。
71.
Firefox OS
73.
Conclusion Firefoxの拡張機能はWebExtensionsに移行します。 WebExtensionsは他のブラウザでも動きます。 今までよりも拡張機能の作り方が簡単になります。 Chrome, Operaと環境差がまだ少しあります。 「Simple」に作りましょう。
74.
References WebExtensions - Mozilla
Wiki https://wiki.mozilla.org/WebExtensions WebExtensions - MDN>Mozilla>Add-ons>WebExtensions https://developer.mozilla.org/en-US/Add-ons/WebExtensions Chrome Extensions https://developer.chrome.com/extensions
75.
Firefox Developers Conference
2015 in Tokyo Any Questions?
Download