Mozilla勉強会@東京 5thで「世界のJavaScript情報を読もう」という発表をしました
Mozilla 勉強会@東京 5thでのLT枠で「世界のJavaScript情報を読もう」というタイトルで発表してきましたので、その補足などの記事。
以下が発表に使ったスライドとなります。
途中でリンクの羅列が出てきますが、それらのサイトの詳細は以下の記事にまとめてあるため興味を持った方は見てください。
スライドを読むと分かりますが、世界のいろんなJavaScript情報を紹介するサイトJSer.infoを公開しました。
このサイトを立ち上げた理由はスライドやJSer.infoについて | JSer.infoに詳しく書いてあるため詳細を省きますが、一週間程度を目安にその時の(過去の内容も含むこともあります)JavaScriptの情報を紹介していくつもりです。
このサイトは現在Tumblrで運用していますが、Tumblrをブログとして使う準備は以下の記事にまとめてあります。
もう少しノウハウが溜まってきたらJSer.infoの方で取り上げるかもしれません。
JSer.info : http://jser.info/
アウトラインメモ
以下は参加時にメモを取った内容です。
メモ:Onenoteでメモを取った、プレゼンにはPowerPointとi-clickrを使用した。
スケジュール
- 14:30 – 15:00: 開場、発表者準備
- 15:00 – 15:10: Opening
- 15:10 – 15:40: アドオン開発の最新事情
- 15:40 – 16:30: Jetpack Library 事始め
- —– 休憩 10 分間 —–
- 16:40 – 17:10: Tumucumaque
- 17:10 – 17:25: Panorama関連でちょっと作ってみた系
- 17:25 – 18:00: Lightning Talk & Free Discussion
- —– 撤収、移動 30分 —–
- 18:30〜20:30: 懇親会 (新年会)
貼り付け元 < https://dev.mozilla.jp/events/workshop08/>
アドオン開発の最新事情
Paackedアドオン
高速化のためXPIのままインストールされるようになる
UIの変化
ステータスバーの廃止
パノラマ導入に伴うプロパティの追加
Tabbrowserの構造の変化
FenncではContentとChromeのプロセス分離してるいるためgBrowserを使用していない。
アドオンマネージャー
32×32 -> 48×48, 64×64
OSによっても少し異なる
XPCOMの変更
インターフェイスの凍結は解除されてJetpackがAPIを提供する
Jetpackでモバイルアドオンも開発
1.1ぐらいで予定
Jetpack Library 事始め – あすかぜ
Jetpack prototype → Jetpack SDK → Addon SDK(feature-stable)
APIのcoreごとパッケージしてるのがprototypeとの違い(それぞれ独立してる)
コンテキストとウィジェット程度しかスイッチ的なものは存在していないので、必要なものは低レベルAPIを使って書かないとだめ。
低レベルAPI→Componentsオブジェクトへのアクセスやタブやウィンドウ管理など
再起動不要
拡張機能が無効化時に元に戻すのはライブラリの責任。
api-utilsのunloadモジュール
バージョン非依存
バージョンによりFirefoxの動作が変わる可能性があるところはライブラリが吸収する
API自体は変更しない
E10S
プロセス分離のコードネーム
postMessageを使って非同期通信
Jetpack SDK –e10sのオプションで作成できる。
Addon kitの高レベルAPI
Addon SDKでAPIのListenモデルが変更された。
独自のライブラリ
独自のアイコンを追加する例
アイコン追加
XULプログラミング的にCreateしてappend
アイコン削除
ウィンドウ追加
ウィンドウ削除、拡張アンロード時
それぞれの場合において動作を書く。
ウィンドウの監視はonTrack,onUntrackで監視する。
まとめ
自作ライブラリを作ることでJetpackの可能は大きく広がる。
XULの構造を知ってる人は今でも必要です。
Addon Builderに自作ライブラリも登録できる。
Virtual Park Tumucumaque(とぅむくまけ) – あかつきだいすけ
Mozilla Parks ProjectはMozilla foundationのプロジェクトの一つ(Nakamokaとか自然公園)
生物の多様性をキーワードにしたアプリケーションの作成
Tumucumaqueに関連するTweetsを集めてグラフィカル表現
treeに関連するものから気を生やす
Audio APIを使ってマウスカーソルを中心とした音を流す(水なら水の音)
ゴール
自然の現状+人の考えるTumucumaque
多様性(インターネットの多様性)
進化
Panorama関連でちょっと作ってみた系 – teramako
Panoramaをもう少しデスクトップっぽくする。
壁紙を貼る – useChrome.css
chrome://browser/content/tabview.html
@moz-documentなどを駆使してHTMLにCSS適応する
パノラマにガジェットを作る
userChrome.jsの特殊版みたいな
SVGでクロックの拡大縮小の対応
XULで書かれていないのでScriptの埋め込みができない、link relも同様
MozJSSubScriptLoaderで読み込ませる。
パノラマは起動時には初期化処理が起きないので、tabviewの提供してるtabviewframeinitializedイベントを待つ。
Vertical Toolbarの紹介 – Gomita
Operaの縦置きのツールバー
自動で隠す機能
CSS transitionでleft-marginで隠している
右側配置はdir属性rtlをセットすると中身が逆転する
AMO の新開発者ツールとレビューシステム & キミの知らない AMJ – by kohei.yoshino
AMOの開発者ツールが新しくなった。
はじめてのもじらのばぐじらの歩き方(バグの立て方編)- by saneyuki
習うより慣れろ
メールの登録を有効利用する
お知らせ欄
JavaScript Primerの書籍版がAmazonで購入できます。
JavaScriptに関する最新情報は週一でJSer.infoを更新しています。
GitHub Sponsorsでの支援を募集しています。