Hello! ECMAScript
2008/02/09. ryo katsuma
ECMAScript
ECMAScript
- JavaSciprtとJScriptの対立
- Ecma International
- 現在のバージョンは3
- JavaScript, ActionScript
JavaScript
| JS |
Fx3.0 |
Fx2.0 |
Safari3.0 |
Opera9.5 |
IE7.0 |
| 2.0 |
|
|
|
|
|
| 1.8 |
Y |
|
|
|
|
| 1.7 |
Y |
Y |
Y |
Y |
|
| 1.6 |
Y |
Y |
Y |
Y |
|
| 1.5 |
Y |
Y |
Y |
Y |
Y |
※JS2.0はECMAScript4相当
IEがんばれ, もっとがんばれ。(> <)
ActionScript
- 去年FlashPlayer9リリース
- ActionScript3に
- かなりJavaっぽくなった
- ECMAScript4はActionScript3の上位互換
(の予定)
ここまでざっくりまとめ
- こういう話は正直どうでもいい
- もう少しコードよりな話に
- 今日はJS, ASを書くときに便利なツールの紹介
Firebug
Firebug
- Firefoxのアドオン
- JSerは、これが無いと始まらない
- デバッガ、DOMインスペクタ、スタイルインスペクタ ...
- 機能が多すぎて語り尽くせない
コンソール
var s = 'Hello! JavaScript';
window.alert(s);
s = s.replace('Java', 'Action');
window.alert(s);
DOMインスペクタ
var Foo = {
foo : 'bar',
hoge : ['fuga1', 'fuga2']
};
デバッガ
var a = ['katayama', 'isid', 'gakkie'];
for(var i=0; i<a.length; i++){
var name = a[i];
}
Demo
jQuery
jQuery
- JavaScriptライブラリ
- 短いコードで多くの処理を簡単に!
- DOM、イベント処理、エフェクトがかなり楽
- 欲しい機能は大抵誰かがプラグインを作ってる
DOM操作
<span class="names">gakkie</span>
<span class="names">isid</span>
var names = $('span.names');
$('a#foo').click(function(){
$('p#bar').css('display', 'none');
});
Demo
AjaxもOK
$("#foo").load("hello.html");
$.get("./sample.txt",function(text){
window.alert(text);
});});
- JavaScript
- ね、簡単でしょ?
- JavaScriptの話おわり
Flex SDK
Flashも作りたいよ
- Flash CS3 88,000円(税込)!!!!
- xxxxxxの日雇いでは無理
- それFlex SDKで解決できるよ
Flex SDK
- バージョン3β
- Adobeがリリースしているmxmlコンパイラ
- ActionScript3のコンパイルもできる!
mxmlc hoge.as // -> hoge.swf
でも。。
- ありえないくらいにコンパイルが遅い!
- 文字列の変更だけで数秒
- 大規模開発はまともにできない?
- それfcshで、できるよ
fcsh
- Flex Builderに標準で入ってる(らしい)
- 前回のコンパイル結果をキャッシュ
- 差分だけリコンパイル
(fcsh) mxmlc hoge.as
fcsh: Assigned 1 as the compile target id
Loading configuration file /path/to/config.xml
main.swf (216056 bytes)
でも。。
- なんかコンパイル方法がイケてない
- ターゲットファイルを数字で指定て
- もっともっと楽をしたい!
- それRascutで、できるよ
Rascut
Rascut
- Rubyで書かれたfcshのラッパ
- 定期的に対象ファイルを監視
- 差分が発生すると自動コンパイル
- 表示ブラウザもXHRで自動リロード
- Firebugと組み合わせたら最強すぎる
- ActionScriptも
- ね、簡単でしょ?
- ActionScriptの話おわり
おつかれさまでした。