BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース ActionScript 3でウェブサイトを作るFosfrフレームワーク

ActionScript 3でウェブサイトを作るFosfrフレームワーク

原文(投稿日:2009/6/8)へのリンク

RIAベースのウェブサイトを構築する方法は数多くある。特にFlashサイトはリッチメディアコンテンツに関心のあるビジネスあるいは個人の関心の的になっている。FosfrはフルFlashサイトを作るためのActionScript 3向けのフレームワークだ。InfoQはFosfrの作者であるJeff DePascale氏にインタビューをおこなった。

 

Q. Fosfrフレームワークの開発を始めたきっかけは何ですか?

A. 私の仕事の大半はマイクロサイトの構築に関わることです。Fosfrを最初に思いついたのは、そのようなサイトの一貫性を保つ必要性からでした。ActionScript 2版はサイト構築に特化したものでしたが、ActionScript 3のフレームワークとして一から作り直した今のFosfrは、サイト構築について強化されただけでなく、マイクロサイトでもスタンドアローンのSWFでもその他のものでも、安定した一貫性のある基盤を提供します。

 

Q. ActionScript 3(またはFlash)サイトに対する需要があると考えたのはなぜですか?

A. 世間では、Flashがインターネットにとっていいものだという意見と、貧弱なUIの検索にひっかからないウェブサイトをただ増やしているだけだという意見があります。個人的には、どんな技術でもそれが活きる所があると思いますし、それにインターネットのような何かに特化しているわけでない中立の場において、こっちの技術があっちよりも適している、あるいは適してない、と言うのは見当違いなことだと思います。Flashに足りないところはあるか、といえばそれは間違いありません。しかしその強みを活かすことで、どっぷりと体感できるリッチなユーザエクスペリエンスを、Flashがインストール済みの非常に多くのユーザに届けられるのです。

 

Q. Fosfrの大まかなアーキテクチャを説明もらえますか?

A. Fosfr全体でいえば、3層のSWF構造で成り立っています。まずコア、あるいはメインのSWFがあります。これはプリローダを備え、またプロジェクトの入れ物として機能します。その上にシェルSWFがあり、これがナビゲーションやフッタなどの不変なサイト要素をすべて格納します。そして、可変な要素はサブのSWFファイル群に格納されます。

Fosfrの真価は文書クラスにあります。Fosfrでは(外部クラスも含む)全ての.asファイル(ActionScriptファイル)で拡張できる文書クラスを備え、デバッグ、トラッキング、ナビゲーション、そのほかのFosfrコンポーネント、たとえばクッキー、URL情報などにアクセスするためのコンポーネントについて文書レベルの独自メソッドが利用できるようになっています。プロジェクト内のどこからでもFosfrオブジェクトを直接参照でき、そうしてFosfrフレームワークが提供する情報やプロジェクトに読込済みのSWFへ手軽にアクセスできます。

Fosfrでは主要コンポーネントの全プロパティに、外部XML設定ファイルでアクセスができます。このことでプロジェクトに余分なものを加えずにすみます。また文書クラスが裏側ですべての関連設定をおこなってくれるため、1つの.asファイル内でのフレームワーク全体のインスタンスを作るのに、たった数行のコードを書くだけですみます。そしてフル機能のサイトを数分でアップロードして稼働させることもできます。

Fosfrは私が作ったプリロードAPIであるPrequelを統合していて、またSWFAddress(SWF内の遷移とURLを結ぶJavaScript)はフレームワークによって自動的に処理されるため意識する必要はありません。サブのSWFに対してSWFAddressを適用する機能をカスタマイズするのも、Fosfrの文書クラスで簡単にできます。

もし1つのSWFファイルとそれを読み込む1つのプリローダだけしかいらない場合は、メインSWFファイルとナビゲーションやSWFAddress機能のないシェルSWFファイルだけ用いてサイトを作れます。あるいは、Fosfrに含まれているFosfrLiteを使って単一のスタンドアローンのSWFを作る方法もあります。FosfrLiteで設定用XMLファイルを使うようにすることも可能です。

 

Q. Fosfrと既存のCMS、あるいはWordpressのようなブログプラットフォームとを連携させることはできるのでしょうか?

A. Fosfrの設定ファイルには、サイトに対するパラメータを指定するノードがあります。この部分をCMSから、あるいはXML編集プラグインから直接変えることによって、Fosfrで作ったSWFファイルについてのどんな面も容易にコントロールできます。今のところWordpress向けのプラグインを作ったりFosfrが連携できるようにする計画はありませんが、今後もしないというわけではありません。

 

Q. Fosfrの開発ではどのような開発ツールを使っていますか?ついでに、Flexと関係することがある、あるいは将来関係することはあったりしますか?

Q. FosfrはFlashDevelopを使っていて、私が最近使っているのはこれだけです。デバッグに関しては、Fosfr自体に内蔵した独自のデバッガとFlash Player標準のデバッガのいくつかのバージョンを組み合わせて使っています。今のところFlexにFosfrを組み入れる計画はありません。

 

Q. Fosfrの今後の予定はどうなっていますか?

A. 今はバージョン0.8のリリースに取り組んでいます。1.0のリリースまでには、カスタムイベントと通知を処理するシステムを完成させ、デバッガにいくつかの機能を追加し、できれば私が開発を続けてきたPrequelの堅牢な新しいバージョンを取り込みたいと考えています。私が開発しているものにはまだ公開版に含まれてないタブ管理や音声管理の機能があります。またpapervision3Dを使ったサイトと密接に連携する文書クラスを加える計画も立てています。これらの機能追加は1.0の後になります。今現在もっとも重要なことは、今あるものを完成させ、クイックスタート用ガイドを作ることで、できればXMLファイルでの設定をウィザード形式でおこなうためのAIRアプリも作りたいところです。ディベロッパが30分以内にFosfrに慣れるようにしたいですし、その可能性があるくらいに学習効率がいいのがFosfrの強みの一つだと思います。ただそれはさっき言ったクイックスタート用ガイドとウィザードがないと実現しないことです。Fosfrは並外れて便利で、時間を節約できるものですが、どうやってFosfrを使い始めればいいかを理解していないといけません。今のAPIには、それをどう使えばいいか分かりにくいという問題があります。1.0ではこれを必ずクリアしないといけません。これが目下の第一の仕事ですね。それを終えて1.0で自信がついたら、まだ最低限しかしていないFosfrプロジェクトについての宣伝をして認知度をあげたいと思います。

 

Q. 「Fosfr」という名前の由来はなんですか?

A. 正確にいえば、Flash Open Source Frameworkの略称だったのが、商標問題でFlashという名前が使えなくなったSWFObjectやSWFFitの事例があったため、Fosfrが正式名になったという経緯があります。でもこちらの方がクールな感じがしますよね。

InfoQでは今後もFosfrの進展について追ってレポートしていきたい。

この記事に星をつける

おすすめ度
スタイル

BT