hitode909の日記

以前はプログラミング日記でしたが、今は子育て日記です

Jetpack SDK 0.3入門した

JetpackJetpack SDKというのになって,作り方とかが変わっていたので,試してみた.

入門方法

ここのチュートリアルをやる

はてブJetpackタグが付いてるエントリを読む

なにか作る

作ってみた

試しに,8tracksからmp3を勝手にダウンロードするのを作ってみた.
再生中の曲が,どんどんダウンロードマネージャに入っていく.
hitode909/8tracks-downloader · GitHub
ファイルをダウンロードするためのmoduleを作ったりした.
8tracks-downloader/lib/downloader.js at master · hitode909/8tracks-downloader · GitHub

メモ

module
  • 細かい機能はmoduleに入ってる
  • 再利用できそうなコードはmoduleに入れる
  • moduleの中ではCcとかCiとかを使って,いい感じのインターフェイスを作る
  • main.jsからmoduleをrequireして使う
  • var timer = require('timer')すると,timerにTimerモジュールが代入される.これがいろいろ機能持ってる 変数に一々入れるのがめんどくさい感じだった
開発環境について
  • 以前はjQueryで書けるのがうれしかったが,jQueryじゃなくなってた
  • 以前は開発環境がabout:jetpackに入ってたが,Pythonで作られたcfxというコマンドを使うようになった
  • cfx run -a firefoxで,作ったpackageがロードされたFirefoxが立ち上がって試せる
  • cfx testでテストを実行 test/とかにテスト用のファイルを置いとける
  • cfx xpiでxpiにコンパイルしてくれる
個別のmoduleのメモ
  • jetpack-coreというpackageにいろいろ入ってる ドキュメントがなかったりするが,ソースコードの量がまだ少ないので,全部読める
  • Greasemonkeyみたいなことをしたいときは,tab-browserをrequireする
  • タイマーを使うにはtimerをrequireする
  • moduleがないやつはComponents.classesとかを作ってmoduleを作る

その他

  • windowがChromeWindowなので気をつける
  • READMEを書くのがめんどくさい,ソースコードに融合してコメントを書いておくと,融合してドキュメントを作ってくれると,うれしい気がした


普通にFirefox拡張を作るのは大変で,前にやろうとしたときも,途中でよく分からなくなって,断念していたが,Jetpack SDKを使えば,事前知識が少なくても,すぐに動くものができた.
聞いてる曲を勝手にダウンロードマネージャに突っ込むとか,Greasemonkeyでは出来なさそうだけど,Jetpackなら簡単にできた.できることが増えるのがいい.