Flexのゴールは、Flexで作られたコンポーネントを通常のJavaServerFacesのコンポーネントとしてユーザーに提供することです。ユーザーが、通常のJSFコンポーネントとしてFlexコンポーネントを作ろうと思うと、SWCやSWF、そして他のコンポーネントやリンクを作る必要があります。なってしまうと、JSON+JavaScriptやActionScriptで管理されたBeanの様々なコンポーネントを管理する時代に逆戻りします。なるとAdobeFlexに馴染みのない開発者は、それらの技術について非常に混乱してしまいますし、アプリケーションで使う技術に関連する古い情報を追わなくてはならなくなります。この記事では、プロジェクトのクイックオーバービューを提供します。このプロダクトのデザインに関する技術情報の簡単な導入です。下記のスナップショットに表したソフトのソースコードをダウンロードしてビルドする方法を示します。このプロジェクトは、未熟な状態であることに気をつけてください。将来的には変化するかもしれません。Flexのライフサイクルこのプロジェクト自体は、JSFのライフサイクルに便乗しようとするものです。1つの大きな違いは、「buildComponentBegin」と「buildComponentChildren」の間で呼ばれる「buildComponentInterlude」というステップが存在することでしょう。buildComponentEnd以下の画像は、いくつかのステップさまざまなアプリケーションモードの間をとる簡潔なオーバービューを表しています。productionEnv]といったものです。(図中の文言翻訳)buildComponentBeginUICompornentのフィールドがアトリビュートマップから、またはメソッド呼び出しによって、フェッチされる。buildComponentInterludeテンプレートファイル[preMxmlファイル]が、buildComponentBeginから獲得したフィールドを使って作られる。IpreMxmlファイルが、mxmlファイルにマージされ、アプリケーションSWFファイルが、SWCへのダイナミックリンクと共に作られる。IIIJSONオブジェクトがページに作られます。onLoad上のDojoはフォーム上のすべてのonsubmitイベントとpageUnloadファンクションとを結びつけます。Flashアプリは、連携します、終わったときのページに戻って、その初期化によって、そして、コンポーネントの初期値のためにJSONオブジェクトをフェッチします。フォームのonsubmit(Flashアプリが、XMLファイルに含まれるE4Xルックアップをつかってコンポーネントの値を検査します。)そして、フォームに追加したコンポーネントの値をJsonオブジェクトとして戻します。II」のプロセスが、1つのアプリケーション毎に1度だけ発生することです。システムリソースが作られる前段階の、存在がチェックされるときです。それぞれのアプリケーションは、異なった目的に合うような、さまざまなモードを許可しています。preMxml、MxmlそしてSWFファイルが、それぞれの実行時において生成されたときに、JSONオブジェクトもつくります。ユーザーによって編集されたMxmlが存在するときに、SWFファイルとJSONオブジェクトだけを生成します。[ユーザーはmxmlファイルの編集とSWFファイルの生成のためにこれを使うことができます。SWFファイルが既に存在しているので、ここでは何もせず、しかしJSONオブジェクトを作ります。(これはユーザーがdevよりも上位の環境で他の2つのモードによってコンポーネントを実行しないことを保証するデフォルト値です。String())」を使用するので、上位の環境に移動する間、ワークスペースの中のそれらの対応するディレクトリに「Webcontent/swf/*」の全てのディレクトリをコピーしておくべきであるということです。メタデータに基づいてキャッシュディレクトリをフラッシュしたりします。FlexはさまざまなMavenプロジェクトの中にたくさんの自身のコードを部品化しています。それらのプロジェクトはビルド時にリンクされ、そして実行時に実装が生成されます。これはビルド時に特定のプロファイルIDを提供することによって、ユーザーが好きな実装を選べるということです。提供しなければデフォルトの実装となります。ビルド時に_RunnerFactoryの実装を決定し、プロジェクトは実行時にそれをインスタンス化します。[デフォルトではDefaultRunnerFactoryImplです。]そして、この実装は_CommonTaskRunnerと_FileManipulatorTaskRunnerおよび_FlexTaskRunnerの実装を決定し、システムが実行時にインスタンス化します。特定のJREバージョンのために実行時にインスタンス化するための_AnnotationDocletParserの実装の決定はビルド時に行なわれます。上記のプロセスに関する、もっと詳しい情報を以下に表します。これは各Mavenプロジェクトの簡単な概要です。XMLを生成することを目的として、Javaファイルのドキュメントを検査するためのオープンソースプロジェクトである“Qdox”を便利に利用するプラグインプロジェクトです。jsf-flex/coreJSFコンポーネントに関するコードを含んでいます。プロジェクトがmyfacesプラグインやTLD、faces_config.xmlやtagClassやそのほかを使っており、ビルド時に生成されます。jsf-flex/examplesプロジェクトのためのサンプルJSFページを含むWARプロジェクトですjsf-flex-sharedJSF-FLEXおよびJSF-FLEXフレームワークサブプロジェクトのための共有リソースを含むプロジェクトです。存在の主な理由は、共有インターフェイスを提供することによる2つのプロジェクトの間の循環依存性を回避するためです。jsf-flex-framework/core「jsf-flex-framework/component14」プロジェクトおよび「jsf-flex-framework/component15」プロジェクトによって利用される中核となるコードを含みます。commonTaskRunnerImpl「jsf-flex-framework/core」によって利用される_CommonTaskRunnerインターフェイスを実装するプロジェクトを含みます。fileManipulatorTaskRunnerImpl「jsf-flex-framework/core」によって利用される_FileManipulatorTaskRunnerインターフェイスを実装するプロジェクトを含みます。flexTaskRunnerImpl「jsf-flex-framework/core」によって利用される“_FlexTaskRunner”インターフェイスを実装するプロジェクトを含みます。Flexプラグインによって検査されます。XMLファイルが生成されます。XMLファイルは、検査のためのフィールドについてと、それらのフィールドをJSFコンポーネントからどのように取り出すか(アトリビュートマップによるのか、メソッド起動によるのか)をチェックするために解析されます。JSFコンポーネントからフィールドを取得するために「jsf-flex-framework/core」によって利用される“_AnnotationDocletParser”インターフェイスの実装を含みます。Flexプラグインをビルド時に必要としなくなりました。JSFコンポーネントからフィールドを取得するために「jsf-flex-framework/core」によって利用される“_AnnotationDocletParser”インターフェイスの実装を含みます。Flexでビルドをすることの一部について概要を紹介します。チェックアウト/リポジトリからリソースを抽出するSVNを使ってチェックアウトして、リソースを"http://jsf-flex.googlecode.com/svn/trunk/"から抽出し、ローカルのフォルダ(例えば「C:\jsfFlexProject」)に配置します。EclipseIDEにプロジェクトをインポートするリソースがチェックアウトされたフォルダで、EclipseIDEにプロジェクトのインポートを可能にするための以下のコマンドを実行します。eclipse:eclipse次に、リソースディレクトリ(C:\jsfFlexProject)に含まれるmvnインストールを実行します。これは、EclipseIDEのプロジェクトにインポートするだけで十分です。Projectsと進めます。チェックアウトされたリソースのフォルダを選択します。(例えば、C:\jsfFlexProject)最後に、"M2_REPO"をワークスペースのクラスパスの値に追加します。Variablesの順に進めます。”M2_REPO”の値は、maven2リポジトリと同じ値とします。Settings/Administrator/.m2/repository"]図:プロジェクトのインポートまとめWebの世界でのWeb2.0の技術が繁栄しています。Flexは、リッチインターネットアプリケーションを作るためのFlexと、サーバーサイドの堅牢なコードを管理するJavaという、それぞれの領域で秀でている2つの技術の橋渡しを可能にします。このプロジェクトは以下の機能を提供します:JSFを介したレガシーシステムとのデータバインドの容易性を保ちながらFlexアプリケーションを簡単に作ること。簡単なFlexアプリケーションを作るときの、FlexBuilderの購入に換わる手段。視線の方向に常に直進するカメラを操作する殴れる物体を作るクリックしたときに物体を移動させる物体をアニメーションさせる月別アーカイブ検索はてなブログをはじめよう!iad_otomamayさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。