fcwrap を使ったAS3オールドタイプ開発 - Shibuya.es 発表資料
昨日の Shibuya.js Technical Talk #3 - Shibuya.es で LT をしてきました。関係者、来場者のみなさん、お疲れ様でした。
どの発表も面白かったです。技術的な面では omo さんのはじめてのABCでの、AVM2/JIT の話が大変面白かったです。なんで型を定義すると速くなるのかなど、「へーこう実行されるからなのかー」と解りやすかったです。
また会場では一斉を風靡するであろう、kushigahamaメソッドが生まれました。あのインパクトは正直高橋メソッドを初めて見たとき以上でした。今年は高橋メソッド以上にkushigahamaメソッドが流行る予感…。
また、fcwrap のデモも撮ったので置いておきます。
http://rails2u.com/misc/fcwrap_demo/fcwrap.htm
このように保存するだけで即座に結果を表示/リロードしつつプログラミングを行っていくことができます。log() 関数で console.log にも出力してるので、いちいち flashlog を見なくとも即座に FireBug の window で確認できるのも地味に便利だったりします。
fcwrap を使ったAS3オールドタイプ開発
まず初めに
新しい言語を覚えるときにすることは?
- 開発環境を整える
- エディタの整備
- 実行環境の整備
- その他
- 検索しやすいリファレンスの作成
- 良質なドキュメントを調べる
エディタの整備
今回は関係ないので
実行環境の整備
いままで覚えた他言語の場合
- ruby
- インタプリタで実行
- irb で対話的に
- perl
- インタプリタで実行
- perlsh/Shell::Perl
- JavaScript
- ブラウザで実行
- SpiderMonkey / Rhino
AS3 の場合
FlashPlayer で実行する時
- そもそもインタプリタじゃない
- 即座に実行できない
- 対話型のインタプリタもない
言語の挙動をつかめなーい
コンパイルの問題
コンパイル時間長杉
- HelloWorld にも五秒
- flex 使うと数十秒
- コンパイル後ブラウザで表示
めんどくさすぎる!!!
まっとうな解決案
- Flex Builder を使う
- 裏側で自動コンパイルしてくれるよ
IDE は使いこなせないオールドタイプなので却下
LLer によく見られる
- vim
- emacs
- などなど
お気に入りのエディタでプログラミングしたい!
話は変わって
コンパイル遅すぎる問題
- fcsh というのを使うとちょっぱやになるらしいよ!
- flex compiler shell
fcsh 速ぇー
二回目以降のコンパイル
- HelloWorld
- 5 秒↓
- 0.0x 秒
- flex 使っても
- 数十秒↓
- 数秒
fcsh の問題点
しかしながら…
- 毎回最初に必要な mxmlc コマンド
- 作成された compile id を打ち直し
めんどくさーい
その他問題点
開発サイクル
- コード書く
- fcsh でコンパイル
- ブラウザでリロードして表示
- ファイル名が違うと打ち直し
めんどくさーい
もっとお手軽に開発したい
→ 無ければ作れ
fcwrap 作ったよ
fcwrap とは?
- fcsh wrapper (そのまんま)
- 裏で自動コンパイル
- ファイルの最終更新時刻見てる
- comet autoload な httpd 内蔵
- コンパイル終了後即座にブラウザリロード
- .swf ファイルをよしなに読み込み
- http://example.com:3001/ を表示するだけ!
fcwrap を使った開発サイクル
- コード書く
- fcwrap が自動でコンパイル
- ブラウザが自動でリロード
コード書くだけに集中できる!
他にも
- fcwrap のウィンドウで情報いろいろ
- flash_log も流せるよ
- apollo にも対応してるよ
- -app.xml なテンプレート自動で作ったり
というわけで
- fcwrap を使うと
- IDE 使わなくても開発が楽に
- オールドタイプな LLer 必須!?
svn co svn://rubyforge.org/var/svn/hotchpotch/fcwrap fcwrap
cd fcwrap
rake install_gem
- でも
- アンドキュメント
- windows で動かすのが大変
どうぞご利用下さい。
追記
集積蔵 - fcwrapをWindowsで動かすメモ で id:trickstar_os さんが windows で動かす方法、[Saq.] fcwrap on Mac OS X (10.4.9 / Intel) でさくーしゃさんが OSX で動かす方法をまとめてくださいました。