お盆ですね。今、実家です。といっても実家は携帯圏外なので、電波の届くところまで移動しています。
帰省する通り道の岡山で、8/13(土)に中国GTUG主催のHTML5ハッカソンがあるとのことだったので参加してきました。
AndroidとSlim3ばっかり最近やっていて、HTML5は全く知らないという無謀な状態からでしたが、ChromeのExtensionの開発でもいいよという話だったので、そちらをやってみようと思ってました。
朝9時からスタートだったのですが、ちょっと遅れて会場入り。最後に到着したみたい。参加者は20名くらい。多い!四国では考えられない!!(ような…)
なんかもう説明終わってスタートしている模様…。適当にやっちゃってくださいという話だったのですが、他の人はもう既に取り組みはじめていて焦る。午前中はChrome Extensionの作り方の日本語サイトを見ながら勉強。チュートリアルを動かしたり。あ、開発環境はAptana Studio 3です。
Chrome Extensionの作り方の参考サイト
http://dev.screw-axis.com/doc/chrome_extensions/
作りたいものが全く見えぬまま、昼ご飯の時間に。岡山クラスタの方々とご飯に行って、エビ飯を食べた。色的には完全にそばめしなんだけれども味は洋食。デミグラスチャーハンって感じ?
ふと作りたいものというか、試しにやってみたいもの(たぶんもう既にあるんだろうなーとか思いながら)を思いついたので、練習がてらやってみることに。ChromeExtensionでjQueryを使えるようにとかできるんかもしれんけれど、そんなの調べていたら、本末転倒 になりそうだったので、 ガシガシと素のJavaScriptで書く。しかし文法をかなり忘れていた。
ハマってしまったのが、関数を変数に代入したいと思っていたのに、やっていることが関数の結果を代入になってしまっていたので、全然やりたいことができないでいた。
以下のように、returnに関数を渡すという方法があることに気付いてなかったので、それをやったところ、希望通りの動作をするようになった。
var eventFunc = (function(x) { return function(x) { // やりたい処理 } })(y);
参考にしたサイト
addEventListener で登録する関数に引数を渡す まゆの日記
とりあえずやりたいことができたところで、ほぼタイムアップ。
成果発表が行われていく中、自分の作ったもの程度で果たしてよいのだろうか?とビクビクしていた。ソース整理すると30行程度だったので、1日かけて何やっとんねんということにもなりかねない。
自分が作ったものは、ChromeExtensionで、タブがたくさん出ている時に、ページタイトルが見えなくなってしまってどのタブが何のページなのかわからなくなるので、ページタイトル一覧を表示して、そのタイトルをクリックしたらそのタブを表示するというExtensionです。(まだChromeStoreに公開してませんが後日公開してみようかと思います)
まぁ以下のような感じ。アイコンは、試しに音声エディタのやつを使ってます(ぇ
便利そうだという声を頂いたので、内容を調整したら、後日ChromeStoreにアップしようと思います。さっきデベロッパー登録だけは済ませましたw
家でネットが使えたらいいんですが、使えないから、電源のないジョイフルでEVOの3Gテザで戦わなければならず(そのジョイフルも車で20分くらいかかるし)、とりあえず目標は今週中ということにしておきます。まぁVer 0.1っつーことでアイコンだけ適当なもの作ってリリースしておいてもよいかなという気ががが。
ハッカソンの後はオープンラボ岡山との合同懇親会でした。もっといろんな人と絡めばよかったかなと思ったのですが、結構人見知りです、すみません…。Slim3の話も振ってもらえたので、slim3のハンズオンなら依頼があればやりますよ!自分でよければ(ただし、内容的にどうなのかは判断しかねる)