RIA 系、いろいろ出てるのですがついていってなかったので、この前まとめて調べたときの記録です。まずはいろいろあるものの整理から。。
仕事で使いそうなのは Flex かな。Flash Player 普及度高いし、バージョンアップも抵抗なく進むだろうし。
というわけでさっそく触り初めてみたのですが、公式ドキュメントが豊富で、ここにある PDF 全部読めば完璧。だけどおすすめはこのページのチュートリアル。ここの「はじめに」だけでかなり理解できる。最速。翻訳を外部委託してるのか、謎の ■訳を後の文節にまとめました■ が出てくるけど気にしない。ドキュメントの PDF は Flex Builder のヘルプに全部入ってるので、そっちを使うと検索とか速くできるので必要なとき見るだけで良さそう。
Flex は『便利なコンポーネント集』+『MXML というオレオレ言語』という印象。mxmlc というコンパイラが付いてきて、これに .as や .mxml を食わせると .swf ができあがる。Flex3 で改善は進むようだけど、多少 swf のサイズは大きい。MXML タグはエフェクトや SetProperty のようなものも「タグ」として置けるのがちょっとやりすぎな気がする。Flex Builder は .mxml を GUI で便利に書けたりコンパイルをバックグラウンドでやってくれて快適。
MXML タグと ActionScript の関係は HTML タグと JavaScript に良く似ている。Flash で言うとタイムラインを使わないで1フレーム目に as をぐわー書くタイプと似ている。いちおう「ステート」というのがタイムラインに相当するコンポーネントのようだ。
コンポーネントは、フォーム系のコンポーネントが充実(一覧)。Flex なサイト集 を見てても、Picnic みたいに広くエリアを使うコントロールパネル風のが多い。あと、CPAN に慣れた身としてはロジックで使うコンポーネントがもっとあってもいい気がする。あと Data::Dumper がほしい。
いちおう Flex と戯れた3日間に練習で作ったものを置いておきます
↓
Flex トランスフォーマー
http://e8y.net/labs/flex-transformer/
Flex のフォーム系コンポーネントがきれいなので、汎用的に使えるのを作っとけば、良くあるユーザー登録フォームとかにいいんじゃ?と思って作ったものです。
そんで、JavaScript と組み合わせて HTML のフォームを自動的に Flex 化というのをやろうとしてみました。これが本当の「トランス・フォーム」(笑)。トランスフォーマーが実写映画化されるってのから思いついただけです。すみません。
class="NOT_BLANK DATE" とかでバリデーションかかるようにしようとも思ったのですが、めんどうになったので途中で投げ出してます。
ActionScript3 は苦手・・・。ECMAScript 準拠らしいのだけど知らないうちにすっかり Java っぽくなっている。Flex Bulder は Eclipse だし、Java やってる人はすんなり入れると思います。型が静的で、Perl の attribute 風に置くのだけど、オブジェクト作る時同じようなのが3個くらい並んでひどい。
private var button:Button = new Button();
Java のアノテーションみたいなメタタグというのもあってますます Java ぽい。
けど XML リテラル が使える感性は好き。
var myXML:XML = <users>
<fname>Jane</fname>
<fname>Susan</fname>
<fname>John</fname>
</users>;
ちなみに Perl でこれができるXML::Literal というモジュールがあります。
Microsoft の Silverlight は、.NET の Common Language Runtime 経由で JavaScript とか Ruby が使えるので、もっと楽しく書けるかも。
トランスフォーマーまとめさいと
トランスフォーマーのリンク集形式のサイト情報です。の情報収集にお役立てください。