InfoQ

InfoQ

News

マイブックマーク

ブックマークするためにログイン または 会員登録 する

ブックマークされました!

ブックマークがエラーになりました。もう一度お願いします。

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

作者 Moxie Zhang , 翻訳者 金森 諭 投稿日 2009年6月11日

セクション
デベロップメント
トピック
Java ,
RIA
タグ
ActionScript

原文(投稿日: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の進展について追ってレポートしていきたい。

特集コンテンツ一覧

GAE開発の落とし穴

Googleのクラウド環境をつかったGoogle App Engineによる開発するにあたり、初めての試みで苦悩する開発者達の経験をもとに、各開発フェーズにあわせて問題点やどう解決したかをご紹介します

イベントレポート:「Coqチュートリアル#1」

去る1月12日、定理証明支援系ツールCoqの初心者向けチュートリアルが開催さ れた(http://kokucheese.com/event/index/23667/)。今後も2月2日 (http://kokucheese.com/event/index/23744/)、2月9日、2月16日と引き続き開 催されていく予定である。本記事では、開催の様子をレポートする。

Javaの未来についてのNeal Gafter氏とのディスカッション

Choosing Options

Neal Gafter氏はOracleによるJava買収の影響に関する議論、Javaにセグメンテッドスタックやメタオブジェクトプロトコルを追加することについての主張、そしてJavaとC#との比較について話をしてくれた。

Google Dartのエッセンス:アプリケーションの構築、スナップショット、Isolate

GoogleはVMをともなう新しい言語であり、JSコンパイラでもあるDartをプレビューした。 InfoQはDartのアプリの構築に貢献する文法の裏側を探った:スナップショット、Isolate、モジュール方式

CSPベースのモデル検査ツール「Process Analysis Toolkit」

本記事ではCSPベースの「マルチドメイン・モデル検査ツール」である、PAT(Process Analysis Toolkit)について紹介する。モデル検査は、形式手法(Formal Method)という方法論を基礎とする技術であり、複雑さが増大しながらも安全性を求められる、現在のソフトウェア開発の状況に対する処方箋の1つとして注目されている手法である。

Jenkinsによる継続的インテグレーションのススメ(4) ~CloudBeesでJenkinsをサービスとして使う~

前回まで、Jenkinsの幾つかの側面に注目して解説をしてきました。シリーズ最後の今回は、Jenkinsをサービスとして使う方法を紹介します。

書籍『抽象によるソフトウェア設計-Alloyではじめる形式手法-』の紹介

Alloyは、MITにて開発された仕様記述言語であり、ツールによる自動解析を使い、インクリメンタルに形式仕様が書けることが特長である。筆者らはAlloy開発者による、Alloyを使った形式手法入門書を翻訳、今夏にオーム社より刊行した。本記事では、Alloyの簡単な概要と、翻訳書『抽象によるソフトウェア設計』(「Alloy本」)を紹介する。

Windows デバイスで開発するタッチユーザーインターフェイス

スマートフォンを中心としたマルチデバイスにおけるタッチユーザーインターフェイスへの対応は、既に必須の項目となりつつある。本記事では、Windows デバイスにおける UX のベースとなっている「メトロ」というデザイン言語を掘り下げながら、既存環境を意識しつつもどのようにタッチユーザーインターフェイス開発に取り組んでいくべきであるかについて解説していく。