若干遅めを承知で、七夕に行われたFlash Catalyst/Flash Builder4ベータイベントの感想を書いてみます。
イベントは、大崎にあるゲートシティで行われました。
第一部 Adobe Flash Platformの概要とロードマップ
はじめに、AR(拡張現実)の紹介がありました。
http://www.livingsasquatch.com/
今のプレーヤーでもいろいろできるよ!っていうことを見せるデモのようでした。
今後のプロダクトラインについて
の3つを製品として出していくということでした。
現行のFlashも製品としては継続するので、タイムライン派も安心。
プレーヤーのシェア
FlashPlayer 10 75%(2009/3)
FlashPlayer9は98%ぐらいありました。
第二部 Flex4 SDKの新機能
Flex4のSDKと、それを取り巻く環境についてのセッションでした。
デザインとロジックの分離
- sparkコンポーネント
「spark」から始まるパッケージに、新しいコンポーネント郡が追加されました(通称Sparkコンポーネント)
従来のmxから始まるHelo(ヘイロー)コンポーネントモデルが
AS(Component&Skin) ->グラフィックス、レイアウト、アニメーション パーツ、ステート、ビヘイビア、ロジック、データ
という構成なのに対して、Sparkコンポーネントは
AS(Component)->ビヘイビア、ロジック、データ ↑ CSSプロパティ ↓ MXML(Skin)->グラフィック、レイアウト、アニメーション、パーツ、ステート
という分離構造になっているそうです。
分離構造にすることで、見た目とロジックの分離と、あとコンパイルパフォーマンスの向上を狙っているのかと思います。
MXML2009
ネームスペースが変更になっています。
1つのMXMLファイルごとに1つのネームスペースに統一するためだそうです。
(ただし古いネームスペースと共存は可能)
mlns:fx="http://ns.adobe.com/mxml/2009" ->MXML言語タグ(Script,Style) ビルトイン(Array,String,Number) xmlns:s="library://ns.adobe.com/flex/spark" ->Flex4クラス、RPC,Graphics xmlns:mx="library://ns.adobe.com/flex/halo" ->今までのもの 古いコンポーネントも、ネームスペースを追加すれば利用可能だそうです。(SparkとHaloの共存可能)
FXG
おそらくこれが目玉と思います。
FXGというのは、MXMLベースのグラフィックスファイルフォーマット(かつコンパイルタイム言語)で、色、形、サイズ、フィルター、拡大縮小などをMXML形式で保存できます。
形式がMXMLなのでCatalyst/FlashBuilderでそのまま表示出来、逆にCatalystから出力したFXGはそのままイラレ/フォトショップで編集可能。
Ae,Ai,Fw,PsからFXGをエクスポート/インポートすることが可能。
このファイルを使って、Flash(Flex)とのデータ交換が可能になります。
コンパイラパフォーマンス
コンパイラのパフォーマンスを向上させたとのことです。
(ただし、後から聞いたところSparkコンポーネントのコンパイルだけ最適化したそうで、従来のは変わらないそうですorz)
2-way binding
データとコンポーネントの双方向をSparkでサポートしたとのこと。
でも、使うのかなぁ。
フレームワークの進化
FlexFrameworkの進化について。
ステート・エフェクト・レイアウト
ステートをより柔軟に書ける様にしたそうです。
あとレイアウトマネージャーの考えをとりいれて、自分でレイアウトを書ける様になっていました。
デモでは、ロールオーバーで複数アイコンが縦に並ぶというのを、レイアウトマネージャーの変更でジーニーレイアウト(Macのトレーアイコンみたいな、左曲がりで縦に並ぶやつ)が出来るというのを見せていました。
MXMLは、
<Group> <layout> <Tilelayout>//レイアウトを書く <layout> <button> //この下にコンポーネントタグを並べる <button> <button> </Group>
というような記述をしていました。
Groupタグ中のコンポーネントがlayoutで定義したレイアウトマネージャーに渡ってくるので、それで位置調整とかをするようなイメージ。
高精度テキスト
Adobe InDesignから持ってきたエンジンを搭載したそうで、高精度な版組みが出来るようになっていました。
News weekの新聞購読用のAIRアプリをデモしていましたが、確かにきれいに版組みできていました。
FTE:新しい低レベルテキストエンジン(Player10) TLF:FTE上に実装したテキストレイアウト 段組などできる
新たなビデオコンポーネント
高画質的なやーつ。
第三部 FlashCatalystのご紹介
デザインツールとCatalystで、FXGフォーマットを介して相互にデータ交換が可能というのを強調していました。
CatalystはデザインとFlashBuilderをつなぐような立ち位置のソフトで、デベロッパー・デザイナーいずれも使えるようにしてあるイメージでした。
Catalystは、以下のような利用シーンを想定しているみたいです。
アプリケーションUI 製品ガイド Widget 教育 プロトタイプ
デモ
イラレ、フォトショでつくったファイルをCatalystに読み込み、Flexのコンポーネントに変換するデモ。
イラレで作ったボタンをコピペでCatalystにインポートー>Buttonコンポーネントに変換。
変換時に、Buttonの各ステート(マウスオーバーとかdisableとか)に割り当てるイメージを指定すると、そのままButtonコンポーネントとして機能していました。(同様にスライダーバーも作成していました)
またButtonに変換後も、その画像をイラレ/フォトショップで修正できるでもがありました(Catalystの右クリックメニューから、「イラレで修正」とかってやると、その場で修正できる)
Catalystはステートを定義できるので、例えばログイン画面とログイン後の画面をデザインしてもらい、それをCatalyst上で配置して、1つのアプリのようにすることが可能。
第四部 FlashBuilder4の新機能
まずブランド名について。
- FlashCS4
- FlashBuilder
- FlashCatalyst
従来分かりにくかったため、ツールのブランディングを統一。
Flexブランドはオープンソースのフレームワークに設定。
(なのでFlexframeworkはそのままの名前で残る。Flash=商用、Flex=オープンソースという分け方みたい)
新機能
- リファクタリング機能
ただしどの程度までやれるのかは不明
- アクセサ付与
- データサービスパネル
サーバ側のファイル(PHPファイルとか、CFのファイルとか)を選ぶと、そこで呼び出せる
メソッド一覧が出てきて、選ぶと通信コードを書いてくれる、というようなデモでした。
- 通信デバッグ用パネル
AMFやWebServiceの通信の中身が見れるパネルみたいなものがありました。(便利そう)
id:yone098さんが「FlexBuilder3でも使えないですか?」と聞いてましたが、「No thank you!」と断られてました。
FlashBuilder4はFlexFrameworkとはひもづいていないので、FlexBuilder3で開発してた人ものりかえるとリファクタとか使えるよと言っていました。
イベント後
イベント後に、講師のエンリケさんとのプライベートセッション&飲み会があったので参加させてもらいました。
デモを見せる機会があったので、ASphalt2 conteinerとT2をみせてきました。
ASphalt2 conteinerのほうは、CSSで設定書くのはスマートだね、とお褒めの言葉を頂きました。
T2のほうはt2-haikuをお見せしましたが、サーバ側はJavaでGAEってますと言ったら、関心を示していました。
id:arkwさん、nodさん、taigaさんらTop Flexerたちともお話が出来て、大変有意義な時間となりました。
またいろいろ質問しましたので、覚えているものをあげておきます。
->リファクタとか使えるからおすすめ。だけどコンパイルはSparkコンポーネント使わないとコンパイルは速くならない
->戻せる。FXGは色や形の定義なので、それらであればOK。ただしコードを書いてもそれはもっていけない。
->差分は無理。Catalystからエクスポートしたものを修正するか、もしくは新規に全部Catalystに取り込みなおす必要がある
- クライアント側でPDFを生成するライブラリをAdobeが出す予定はあるか?
->LiveCycleのビジネスモデルと合わないので、たぶん出さない。
- FlashBuilder4の発売時期は?
たぶん来年。