<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>DigiTechLog Dot Com &#187; Flex</title>
	<atom:link href="http://digitechlog.com/tag/flex/feed" rel="self" type="application/rss+xml" />
	<link>http://digitechlog.com</link>
	<description>Adobe AIR、Flex、Flash、Java</description>
	<lastBuildDate>Tue, 08 Nov 2011 12:46:29 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8</generator>
	<language>ja</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>FluorineFx: Flexと.NET間でAMF通信できるライブラリ</title>
		<link>http://digitechlog.com/2009/09/30/fluorine-flash-remoting-for-dot-net.html</link>
		<comments>http://digitechlog.com/2009/09/30/fluorine-flash-remoting-for-dot-net.html#comments</comments>
		<pubDate>Wed, 30 Sep 2009 12:02:57 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[C Sharp]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[AMF]]></category>
		<category><![CDATA[FluorineFx]]></category>
		<category><![CDATA[オープンソース]]></category>
		<category><![CDATA[ライブラリ]]></category>

		<guid isPermaLink="false">http://digitechlog.com/2009/09/30/fluorine-flash-remoting-for-dot-net.html</guid>
		<description><![CDATA[FluorineFxとは、Flexと.NET間でAMF通信できるオープンソースのライブラリです。FluorineFxを使うとサーバ側も、クライアント側も.NETでアプリを組めるようです。LGPLのライセンスです。
※AMFのメリットは.NETのメソッドを直接呼び出せます。この前に紹介した「PHPObject: PHPとFlashのActionScript連携パッケージ」や「SabreAMF: FlexをPHP5と連携させるフレームワーク」などはPHPからAMFのメソッドを呼び出すライブラリです。
RIAテクノロジは主流のアプリケーション開発ソリューションになりつつあり、RIAを定評あるテクノロジプラットフォームに統合する必要性が増してきているので、FluorineFxのプロジェクトマネジャー(Zoltan)は以下の様で発表した。
FluorineFxはFlex/Flash Remoting、リモート共有オブジェクトサポート、Flex Data Serviceと.NETフレームワーク用のリアルタイムメッセージの実装を提供します。最後の二つは現在部分的な実装です。（ Flex&#60;-&#62;Adobe LiveCycle Enterprise Suiteアプリケーションで見受けられる全ての機能がサポートされているわけではないという意味）またそれはAdobeのBlazeDSとの互換性をサポートします。

 
 
Flex/Flash Remotingについて。 Webを使ったデータ送信の方法としては、XML-RPCやSOAPがあります。基本的にPull型です。Flex/Flash Remotingでは、PullだけでなくPushや、データ共有(SharedObject)ができ、XML-RPCやSOAPよりずっとリッチなやりとりができます。.NETで開発したいという場合に使えるかなぁ。
将来的にFluorineFxはどのようになること、Zoltanは以下の様で発表した。
Adobe AIRアプリケーション用にデスクトップサービスソリューションを提供してください。（現在はAIRアプリケーションで分散するのが可能なWindows サービスがあり、デベロッパ達はWindowsデスクトップへのアクセスを提供するために自身たちの.NETアプリケーションをデプロイすることができる。） 

【公式サイト】
http://www.fluorinefx.com/
http://blog.fluorinefx.com/ FluorineFx関連の資料、サンプルなど
Related Posts

FZip: ZIP読込み、作成用AS3のライブラリ
７+ AS3で非同期処理のオープンソースのライブラリ一覧
as3soundeditorlib: オープンソースのActionScript 3サウンド編集ライブラリ
Box2DFlashAS3: 物理演算シミュレーションを可能にするActionScriptライブラリ
FLARToolKit: AR（拡張現実）ってのをFlashで簡単に作ることができるライブラリ
WOW-Engine: オープンソースのActionScript3用3D物理エンジンライブラリ
PNGPong: フィルタもしくは複雑なJavaScriptとCSSを使用せず透明PNG表示する問題を解決するオープンソースのライブラリ
SWFAddress: SWFObject と共にFlashの各コンテンツの遷移に対してパーマリンク提供する便利なライブラリ

]]></description>
			<content:encoded><![CDATA[<p>FluorineFxとは、Flexと.NET間でAMF通信できるオープンソースのライブラリです。FluorineFxを使うとサーバ側も、クライアント側も.NETでアプリを組めるようです。LGPLのライセンスです。</p>
<p>※AMFのメリットは.NETのメソッドを直接呼び出せます。この前に紹介した「<a href="http://digitechlog.com/2009/08/25/phpobject-is-a-flash-remoting-alternative-for-php.html">PHPObject: PHPとFlashのActionScript連携パッケージ</a>」や「<a href="http://digitechlog.com/2009/08/28/sabreamf-is-a-flash-remoting-server-and-client-for-php.html">SabreAMF: FlexをPHP5と連携させるフレームワーク</a>」などはPHPからAMFのメソッドを呼び出すライブラリです。</p>
<p>RIAテクノロジは主流のアプリケーション開発ソリューションになりつつあり、RIAを定評あるテクノロジプラットフォームに統合する必要性が増してきているので、FluorineFxのプロジェクトマネジャー(Zoltan)は以下の様で発表した。</p>
<blockquote><p>FluorineFxはFlex/Flash Remoting、リモート共有オブジェクトサポート、Flex Data Serviceと.NETフレームワーク用のリアルタイムメッセージの実装を提供します。最後の二つは現在部分的な実装です。（ Flex&lt;-&gt;Adobe LiveCycle Enterprise Suiteアプリケーションで見受けられる全ての機能がサポートされているわけではないという意味）またそれはAdobeのBlazeDSとの互換性をサポートします。</p>
</blockquote>
<p><a href="http://digitechlog.com/wp-content/uploads/2009/09/DotNetFramework.png"><img title="DotNetFramework" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="640" alt="DotNetFramework" src="http://digitechlog.com/wp-content/uploads/2009/09/DotNetFramework_thumb.png" width="480" border="0" /></a> </p>
<p> <span id="more-607"></span>
<p>Flex/Flash Remotingについて。 Webを使ったデータ送信の方法としては、XML-RPCやSOAPがあります。基本的にPull型です。Flex/Flash Remotingでは、PullだけでなくPushや、データ共有(SharedObject)ができ、XML-RPCやSOAPよりずっとリッチなやりとりができます。.NETで開発したいという場合に使えるかなぁ。</p>
<p>将来的にFluorineFxはどのようになること、Zoltanは以下の様で発表した。</p>
<blockquote><p>Adobe AIRアプリケーション用にデスクトップサービスソリューションを提供してください。（現在はAIRアプリケーションで分散するのが可能なWindows サービスがあり、デベロッパ達はWindowsデスクトップへのアクセスを提供するために自身たちの.NETアプリケーションをデプロイすることができる。） </p>
</blockquote>
<p><strong>【公式サイト】</strong></p>
<p><a title="http://www.fluorinefx.com/" href="http://www.fluorinefx.com/">http://www.fluorinefx.com/</a></p>
<p><a title="http://blog.fluorinefx.com/" href="http://blog.fluorinefx.com/">http://blog.fluorinefx.com/</a> FluorineFx関連の資料、サンプルなど</p>
<h3>Related Posts</h3>
<ul class="related_post">
<li><a href="http://digitechlog.com/2010/04/19/fzip-actionscript-3-open-source-class-library.html" title="FZip: ZIP読込み、作成用AS3のライブラリ">FZip: ZIP読込み、作成用AS3のライブラリ</a></li>
<li><a href="http://digitechlog.com/2010/03/12/7-asynchronous-processing-open-source-actionscript-library.html" title="７+ AS3で非同期処理のオープンソースのライブラリ一覧">７+ AS3で非同期処理のオープンソースのライブラリ一覧</a></li>
<li><a href="http://digitechlog.com/2010/02/28/as3soundeditorlib-actionscript-3-library-for-sound-playback-spectrum-display-and-cue-point-display.html" title="as3soundeditorlib: オープンソースのActionScript 3サウンド編集ライブラリ">as3soundeditorlib: オープンソースのActionScript 3サウンド編集ライブラリ</a></li>
<li><a href="http://digitechlog.com/2010/01/28/box2dflashas3-open-source-physics-library-box2d.html" title="Box2DFlashAS3: 物理演算シミュレーションを可能にするActionScriptライブラリ">Box2DFlashAS3: 物理演算シミュレーションを可能にするActionScriptライブラリ</a></li>
<li><a href="http://digitechlog.com/2010/01/26/flartoolkit-open-source-augmented-reality-in-flash.html" title="FLARToolKit: AR（拡張現実）ってのをFlashで簡単に作ることができるライブラリ">FLARToolKit: AR（拡張現実）ってのをFlashで簡単に作ることができるライブラリ</a></li>
<li><a href="http://digitechlog.com/2010/01/25/wow-engine-free-as3-open-source-physics-engine.html" title="WOW-Engine: オープンソースのActionScript3用3D物理エンジンライブラリ">WOW-Engine: オープンソースのActionScript3用3D物理エンジンライブラリ</a></li>
<li><a href="http://digitechlog.com/2009/06/08/pngpong-an-open-source-solution-to-display-transparent-pngs-in-ie-firefox-and-safari.html" title="PNGPong: フィルタもしくは複雑なJavaScriptとCSSを使用せず透明PNG表示する問題を解決するオープンソースのライブラリ">PNGPong: フィルタもしくは複雑なJavaScriptとCSSを使用せず透明PNG表示する問題を解決するオープンソースのライブラリ</a></li>
<li><a href="http://digitechlog.com/2009/06/02/swfaddress-a-small-but-powerful-library-provides-deep-linking-for-flash-and-ajax.html" title="SWFAddress: SWFObject と共にFlashの各コンテンツの遷移に対してパーマリンク提供する便利なライブラリ">SWFAddress: SWFObject と共にFlashの各コンテンツの遷移に対してパーマリンク提供する便利なライブラリ</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://digitechlog.com/2009/09/30/fluorine-flash-remoting-for-dot-net.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>WebORB: FlashやFlexのリモートクライアントとサーバ側でのPHPを組み合わせ</title>
		<link>http://digitechlog.com/2009/09/28/weborb-for-php-is-server-side-technology-enabling-connectivity-between-flex-and-flash-remoting-clients-and-php.html</link>
		<comments>http://digitechlog.com/2009/09/28/weborb-for-php-is-server-side-technology-enabling-connectivity-between-flex-and-flash-remoting-clients-and-php.html#comments</comments>
		<pubDate>Mon, 28 Sep 2009 09:41:03 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Flash]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[WebORB]]></category>

		<guid isPermaLink="false">http://digitechlog.com/2009/09/28/weborb-for-php-is-server-side-technology-enabling-connectivity-between-flex-and-flash-remoting-clients-and-php.html</guid>
		<description><![CDATA[WebORBとは、FlashやFlexのリモートクライアントとサーバ側でのPHPを組み合わせライブラリです。最新版は、AJAX とSilverlightもサポートされています。
Flexによるクライアント側コードのサンプルやPHPによるサーバ側コードのサンプル、スタートアップガイドが付属し、初めての場合でもWebORBを使ったアプリケーションが簡単に作れます。強いですね。
以下は公式サイトの紹介：
WebORB for PHP is a robust, non-intrusive, multi-protocol development and runtime environment that is designed to effortlessly connect Flex, Flash, AJAX and Silverlight clients with PHP classes and data from relational databases via PHP backend. 

 
 
ちょっと使ってみて、以下の手順で環境を作れます。
・FlashRemotingコンポーネントのインストール
次のURLでダウンロードできます。http://www.adobe.com/jp/products/flashremoting/downloads/components/
・サーバ側の準備(Webのインストール) 
weborb-php-N.N.N.zipをダウンロードし、解凍してください。
※ダウンロードするため、登録必要です。
以下のURLの画面が表示されればインストール成功
http://localhost/weborb/
以下のURLにアクセスし、「Run *** Tests」ボタンを押し「success:***」と表示されればインストール成功
http://localhost/weborb/examples/flex/remoting/testsuite/main.html
そこまで環境の構成は成功しました！
・公式サイト
http://www.themidnightcoders.com/
Related Posts

SWFObject: Flash/FlexをWeb ページに貼りつけるのに便利なJavaScriptライブラリ
FlexUnit: Flex/ActionScript3.0アプリケーションの単体テストを行うためのユニットテスティングフレームワーク
FlexアプリケーションにYouTubeビデオを埋め込むサンプルソースコード
Flash Builder 4コンパイラーの不具合( FB 4.0 build 272416 )
Sazameki: Flashを使ったオーディオ操作のためのオンラインプラットホーム
FOAM-AS3: ActionScript [...]]]></description>
			<content:encoded><![CDATA[<p>WebORBとは、FlashやFlexのリモートクライアントとサーバ側でのPHPを組み合わせライブラリです。最新版は、AJAX とSilverlightもサポートされています。</p>
<p>Flexによるクライアント側コードのサンプルやPHPによるサーバ側コードのサンプル、スタートアップガイドが付属し、初めての場合でもWebORBを使ったアプリケーションが簡単に作れます。強いですね。</p>
<p>以下は公式サイトの紹介：</p>
<blockquote><p>WebORB for PHP is a robust, non-intrusive, multi-protocol development and runtime environment that is designed to effortlessly connect Flex, Flash, AJAX and Silverlight clients with PHP classes and data from relational databases via PHP backend. </p>
</blockquote>
<p><a href="http://digitechlog.com/wp-content/uploads/2009/09/WebORBFlashFlex.png"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="WebORB-Flash-Flex" border="0" alt="WebORB-Flash-Flex" src="http://digitechlog.com/wp-content/uploads/2009/09/WebORBFlashFlex_thumb.png" width="480" height="308" /></a> </p>
<p> <span id="more-604"></span>
<p>ちょっと使ってみて、以下の手順で環境を作れます。</p>
<p><strong>・FlashRemotingコンポーネントのインストール</strong></p>
<p>次のURLでダウンロードできます。<a title="http://www.adobe.com/jp/products/flashremoting/downloads/components/" href="http://www.adobe.com/jp/products/flashremoting/downloads/components/">http://www.adobe.com/jp/products/flashremoting/downloads/components/</a></p>
<p><strong>・サーバ側の準備(Webのインストール)</strong> </p>
<p>weborb-php-N.N.N.zipをダウンロードし、解凍してください。</p>
<p>※ダウンロードするため、登録必要です。</p>
<p>以下のURLの画面が表示されればインストール成功</p>
<p>http://localhost/weborb/</p>
<p>以下のURLにアクセスし、「Run *** Tests」ボタンを押し「success:***」と表示されればインストール成功</p>
<p>http://localhost/weborb/examples/flex/remoting/testsuite/main.html</p>
<p>そこまで環境の構成は成功しました！</p>
<p><strong>・公式サイト</strong></p>
<p><a title="http://www.themidnightcoders.com/" href="http://www.themidnightcoders.com/">http://www.themidnightcoders.com/</a></p>
<h3>Related Posts</h3>
<ul class="related_post">
<li><a href="http://digitechlog.com/2009/05/14/swfobject-embed-flash-content-which-utilizes-one-small-javascript-file.html" title="SWFObject: Flash/FlexをWeb ページに貼りつけるのに便利なJavaScriptライブラリ">SWFObject: Flash/FlexをWeb ページに貼りつけるのに便利なJavaScriptライブラリ</a></li>
<li><a href="http://digitechlog.com/2009/05/07/flexunit-flex-actionscript-application-unit-test-tool-framework.html" title="FlexUnit: Flex/ActionScript3.0アプリケーションの単体テストを行うためのユニットテスティングフレームワーク">FlexUnit: Flex/ActionScript3.0アプリケーションの単体テストを行うためのユニットテスティングフレームワーク</a></li>
<li><a href="http://digitechlog.com/2009/01/09/the-sample-source-code-of-emb-a-single-youtube-video-inside-your-flex-application.html" title="FlexアプリケーションにYouTubeビデオを埋め込むサンプルソースコード">FlexアプリケーションにYouTubeビデオを埋め込むサンプルソースコード</a></li>
<li><a href="http://digitechlog.com/2010/04/26/flash-builder-4-build-272416-compiler-bug-and-solutions.html" title="Flash Builder 4コンパイラーの不具合( FB 4.0 build 272416 )">Flash Builder 4コンパイラーの不具合( FB 4.0 build 272416 )</a></li>
<li><a href="http://digitechlog.com/2010/02/21/sazamek-flash-based-online-audio-manipulating-platform-with-as3-open-source-library.html" title="Sazameki: Flashを使ったオーディオ操作のためのオンラインプラットホーム">Sazameki: Flashを使ったオーディオ操作のためのオンラインプラットホーム</a></li>
<li><a href="http://digitechlog.com/2010/02/07/foam-as3-2d-rigid-body-physics-engine.html" title="FOAM-AS3: ActionScript 3で開発されたオープンソースの２D物理エンジン">FOAM-AS3: ActionScript 3で開発されたオープンソースの２D物理エンジン</a></li>
<li><a href="http://digitechlog.com/2010/01/30/glaze-2d-rigid-body-dynamics-game-engine-for-actionsctipt-3.html" title="glaze: ActionScript用2D物理演算エンジン">glaze: ActionScript用2D物理演算エンジン</a></li>
<li><a href="http://digitechlog.com/2010/01/26/flartoolkit-open-source-augmented-reality-in-flash.html" title="FLARToolKit: AR（拡張現実）ってのをFlashで簡単に作ることができるライブラリ">FLARToolKit: AR（拡張現実）ってのをFlashで簡単に作ることができるライブラリ</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://digitechlog.com/2009/09/28/weborb-for-php-is-server-side-technology-enabling-connectivity-between-flex-and-flash-remoting-clients-and-php.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SabreAMF: FlexをPHP5と連携させるフレームワーク</title>
		<link>http://digitechlog.com/2009/08/28/sabreamf-is-a-flash-remoting-server-and-client-for-php.html</link>
		<comments>http://digitechlog.com/2009/08/28/sabreamf-is-a-flash-remoting-server-and-client-for-php.html#comments</comments>
		<pubDate>Fri, 28 Aug 2009 07:42:31 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Flash Project]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[PHP5]]></category>
		<category><![CDATA[SabreAMF]]></category>
		<category><![CDATA[フレームワーク]]></category>

		<guid isPermaLink="false">http://digitechlog.com/2009/08/28/sabreamf-is-a-flash-remoting-server-and-client-for-php.html</guid>
		<description><![CDATA[「SabreAMF」とは、Flexアプリケーション中にAMFPHPを利用してPHP、MySQLと接続、通信サンプルソースコードのAMFPHPと同じ、AirのSWFファイルからPHPが動いているサーバーに接続する為AMFというフォーマットに従って通信を行うPHPライブラリです（実はPHPObject: PHPとFlashのActionScript連携パッケージも同じ機能か）。
SabreAMFを使用することで、AMFフォーマットでFlashからPHPメソッドを呼び出すことができます。
【機能・特徴】
◇　AMF Server/Client◇　PHP5 OOP◇　AMF0～AMF3対応◇　ライセンス：New BSD License
 
【使用方法】
・SabreAMFの最新ライブラリをhttp://code.google.com/p/sabreamf/downloads/list からダウンロードして、解凍しSabreAMFに改名して、
/PROJECT_DIR/app/vendors/SabreAMF
に配置します。
・パス設定用のファイル
/PROJECT_DIR/app/vendors/sabreamf_ini.php
を作成します。
内容：
&#60;?php
&#160;
//sabreamf_ini.php
&#160;
define(’SABREAMF_PATH’, dirname(__FILE__));
&#160;
set_include_path(SABREAMF_PATH . PATH_SEPARATOR . get_include_path());
&#160;
?&#62;
・サンプルのコンポーネントsabre_amf.php を
/PROJECT_DIR/app/controllers/components/sabre_amf.php
に設置します。
&#60;?php
&#160;
//sabre_amf.php
vendor(”sabreamf_ini”);
vendor(’SabreAMF/CallbackServer’);
&#160;
$_cakeController = null;
&#160;
function&#160;amfCallBack($service, $method, $data) {
global $_cakeController;
&#160;
$res = null;
&#160;
if ($_cakeController) {
if (strpos($method, “_”) !== 0) { // _(アンダーバー)で始まるmethodはエラー。
&#160;
$_cakeController-&#62;amfData = $data;
&#160;
if (method_exists($_cakeController, $method)) {
$res = $_cakeController-&#62;{$method}();
} else {
$res = “not found action.”;
}
&#160;
} else {
$res = “invalid method name.”;
}
&#160;
} else {
$res = “not found [...]]]></description>
			<content:encoded><![CDATA[<p>「SabreAMF」とは、<a href="http://digitechlog.com/2008/11/29/how-to-use-amfphp-to-connect-my-flex-applications-with-php-and-mysql-database-sample-source-code.html">Flexアプリケーション中にAMFPHPを利用してPHP、MySQLと接続、通信サンプルソースコード</a>のAMFPHPと同じ、AirのSWFファイルからPHPが動いているサーバーに接続する為AMFというフォーマットに従って通信を行うPHPライブラリです（実は<a href="http://digitechlog.com/2009/08/25/phpobject-is-a-flash-remoting-alternative-for-php.html">PHPObject: PHPとFlashのActionScript連携パッケージ</a>も同じ機能か）。</p>
<p>SabreAMFを使用することで、AMFフォーマットでFlashからPHPメソッドを呼び出すことができます。</p>
<p><strong>【機能・特徴】</strong></p>
<p>◇　AMF Server/Client<br />◇　PHP5 OOP<br />◇　AMF0～AMF3対応<br />◇　ライセンス：New BSD License</p>
<p><span id="more-590"></span> </p>
<p>【使用方法】</p>
<p>・SabreAMFの最新ライブラリを<a href="http://code.google.com/p/sabreamf/downloads/list">http://code.google.com/p/sabreamf/downloads/list</a> からダウンロードして、解凍しSabreAMFに改名して、</p>
<p>/PROJECT_DIR/app/vendors/SabreAMF</p>
<p>に配置します。</p>
<p>・パス設定用のファイル</p>
<div class="hl-surround"><ol class="hl-main ln-show" title="Double click to hide line number." ondblclick = "linenumber(this)"><li class="hl-firstline"><span style="color: Gray;">/PROJECT_DIR/app/vendors/sabreamf_ini.php</span></li></ol></div>
<p>を作成します。</p>
<p>内容：</p>
<div class="hl-surround"><ol class="hl-main ln-show" title="Double click to hide line number." ondblclick = "linenumber(this)"><li class="hl-firstline"><span style="color: Olive;">&lt;?</span><span style="color: Green;">php</span></li>
<li><span style="color: Gray;">&nbsp;</span></li>
<li><span style="color: Gray;">//</span><span style="color: Green;">sabreamf_ini</span><span style="color: Gray;">.</span><span style="color: #00008b;">php</span></li>
<li><span style="color: Gray;">&nbsp;</span></li>
<li><span style="color: #00008b;">define</span><span style="color: Gray;">(’</span><span style="color: #00008b;">SABREAMF_PATH</span><span style="color: Gray;">’, </span><span style="color: #00008b;">dirname</span><span style="color: Gray;">(</span><span style="color: #00008b;">__FILE__</span><span style="color: Gray;">));</span></li>
<li><span style="color: Gray;">&nbsp;</span></li>
<li><span style="color: #00008b;">set_include_path</span><span style="color: Gray;">(</span><span style="color: #00008b;">SABREAMF_PATH</span><span style="color: Gray;"> . </span><span style="color: #00008b;">PATH_SEPARATOR</span><span style="color: Gray;"> . </span><span style="color: #00008b;">get_include_path</span><span style="color: Gray;">());</span></li>
<li><span style="color: Gray;">&nbsp;</span></li>
<li><span style="color: Olive;">?&gt;</span></li></ol></div>
<p>・サンプルのコンポーネントsabre_amf.php を</p>
<div class="hl-surround"><ol class="hl-main ln-show" title="Double click to hide line number." ondblclick = "linenumber(this)"><li class="hl-firstline"><span style="color: Gray;">/PROJECT_DIR/app/controllers/components/sabre_amf.php</span></li></ol></div>
<p>に設置します。</p>
<div class="hl-surround"><ol class="hl-main ln-show" title="Double click to hide line number." ondblclick = "linenumber(this)"><li class="hl-firstline"><span style="color: Olive;">&lt;?</span><span style="color: Green;">php</span></li>
<li><span style="color: Gray;">&nbsp;</span></li>
<li><span style="color: Gray;">//</span><span style="color: Green;">sabre_amf</span><span style="color: Gray;">.</span><span style="color: #00008b;">php</span></li>
<li><span style="color: #00008b;">vendor</span><span style="color: Gray;">(”</span><span style="color: #00008b;">sabreamf_ini</span><span style="color: Gray;">”);</span></li>
<li><span style="color: #00008b;">vendor</span><span style="color: Gray;">(’</span><span style="color: #00008b;">SabreAMF</span><span style="color: Gray;">/</span><span style="color: Green;">CallbackServer</span><span style="color: Gray;">’);</span></li>
<li><span style="color: Gray;">&nbsp;</span></li>
<li><span style="color: Gray;">$</span><span style="color: #00008b;">_cakeController</span><span style="color: Gray;"> = </span><span style="color: #00008b;">null</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp;</span></li>
<li><span style="color: #00008b;">function</span><span style="color: Gray;">&nbsp;</span><span style="color: #00008b;">amfCallBack</span><span style="color: Gray;">($</span><span style="color: #00008b;">service</span><span style="color: Gray;">, $</span><span style="color: #00008b;">method</span><span style="color: Gray;">, $</span><span style="color: #00008b;">data</span><span style="color: Gray;">) {</span></li>
<li><span style="color: #00008b;">global</span><span style="color: Gray;"> $</span><span style="color: #00008b;">_cakeController</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp;</span></li>
<li><span style="color: Gray;">$</span><span style="color: #00008b;">res</span><span style="color: Gray;"> = </span><span style="color: #00008b;">null</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp;</span></li>
<li><span style="color: #00008b;">if</span><span style="color: Gray;"> ($</span><span style="color: #00008b;">_cakeController</span><span style="color: Gray;">) {</span></li>
<li><span style="color: #00008b;">if</span><span style="color: Gray;"> (</span><span style="color: #00008b;">strpos</span><span style="color: Gray;">($</span><span style="color: #00008b;">method</span><span style="color: Gray;">, “</span><span style="color: #00008b;">_</span><span style="color: Gray;">”) !== </span><span style="color: #00008b;">0</span><span style="color: Gray;">) { // </span><span style="color: #00008b;">_</span><span style="color: Gray;">(アンダーバー)で始まる</span><span style="color: #00008b;">method</span><span style="color: Gray;">はエラー。</span></li>
<li><span style="color: Gray;">&nbsp;</span></li>
<li><span style="color: Gray;">$</span><span style="color: #00008b;">_cakeController-</span><span style="color: Olive;">&gt;</span><span style="color: Gray;">amfData = $data;</span></li>
<li><span style="color: Gray;">&nbsp;</span></li>
<li><span style="color: Gray;">if (method_exists($_cakeController, $method)) {</span></li>
<li><span style="color: Gray;">$res = $_cakeController-&gt;{$method}();</span></li>
<li><span style="color: Gray;">} else {</span></li>
<li><span style="color: Gray;">$res = “not found action.”;</span></li>
<li><span style="color: Gray;">}</span></li>
<li><span style="color: Gray;">&nbsp;</span></li>
<li><span style="color: Gray;">} else {</span></li>
<li><span style="color: Gray;">$res = “invalid method name.”;</span></li>
<li><span style="color: Gray;">}</span></li>
<li><span style="color: Gray;">&nbsp;</span></li>
<li><span style="color: Gray;">} else {</span></li>
<li><span style="color: Gray;">$res = “not found controller.”;</span></li>
<li><span style="color: Gray;">}</span></li>
<li><span style="color: Gray;">&nbsp;</span></li>
<li><span style="color: Gray;">return $res;</span></li>
<li><span style="color: Gray;">}</span></li>
<li><span style="color: Gray;">&nbsp;</span></li>
<li><span style="color: Gray;">class SabreAmfComponent extends Object {</span></li>
<li><span style="color: Gray;">&nbsp;</span></li>
<li><span style="color: Gray;">function initialize(&amp;$controller) {</span></li>
<li><span style="color: Gray;">&nbsp;</span></li>
<li><span style="color: Gray;">global $_cakeController;</span></li>
<li><span style="color: Gray;">$_cakeController = $controller;</span></li>
<li><span style="color: Gray;">$controller-&gt;isAmf = true; // default true</span></li>
<li><span style="color: Gray;">}</span></li>
<li><span style="color: Gray;">&nbsp;</span></li>
<li><span style="color: Gray;">&nbsp;</span></li>
<li><span style="color: Gray;">function startup(&amp;$controller) {</span></li>
<li><span style="color: Gray;">if ($controller-&gt;isAmf) {</span></li>
<li><span style="color: Gray;">&nbsp;</span></li>
<li><span style="color: Gray;">Configure::write(’debug’, 0);</span></li>
<li><span style="color: Gray;">&nbsp;</span></li>
<li><span style="color: Gray;">$controller-&gt;autoRender = false;</span></li>
<li><span style="color: Gray;">$server = new SabreAMF_CallbackServer();</span></li>
<li><span style="color: Gray;">$server-&gt;onInvokeService = ‘amfCallBack’;</span></li>
<li><span style="color: Gray;">$server-&gt;exec();</span></li>
<li><span style="color: Gray;">&nbsp;</span></li>
<li><span style="color: Gray;">exit; //ここでexitしてるので、amf の 場合はほかのactionは呼べないはず。。。</span></li>
<li><span style="color: Gray;">}</span></li>
<li><span style="color: Gray;">}</span></li>
<li><span style="color: Gray;">&nbsp;</span></li>
<li><span style="color: Gray;">function beforeRender(&amp;$controller) {</span></li>
<li><span style="color: Gray;">&nbsp;</span></li>
<li><span style="color: Gray;">if ($controller-&gt;isAmf) {</span></li>
<li><span style="color: Gray;">exit; //&nbsp; 念のため</span></li>
<li><span style="color: Gray;">}</span></li>
<li><span style="color: Gray;">}</span></li>
<li><span style="color: Gray;">}</span></li>
<li><span style="color: Gray;">?&gt;</span></li></ol></div>
<p>以下、簡単な、文字列と、配列のやり取りのサンプル用Controllerです。</p>
<div class="hl-surround"><ol class="hl-main ln-show" title="Double click to hide line number." ondblclick = "linenumber(this)"><li class="hl-firstline"><span style="color: Olive;">&lt;?</span><span style="color: Green;">php</span></li>
<li><span style="color: Gray;">&nbsp;</span></li>
<li><span style="color: #00008b;">class</span><span style="color: Gray;">&nbsp;</span><span style="color: #00008b;">AmfsController</span><span style="color: Gray;"> </span><span style="color: #00008b;">extends</span><span style="color: Gray;"> </span><span style="color: #00008b;">AppController</span><span style="color: Gray;"> {</span></li>
<li><span style="color: Gray;">&nbsp;</span></li>
<li><span style="color: #00008b;">var</span><span style="color: Gray;"> $</span><span style="color: #00008b;">name</span><span style="color: Gray;"> = ‘</span><span style="color: #00008b;">Amfs</span><span style="color: Gray;">’;</span></li>
<li><span style="color: #00008b;">var</span><span style="color: Gray;"> $</span><span style="color: #00008b;">uses</span><span style="color: Gray;"> = </span><span style="color: #00008b;">array</span><span style="color: Gray;">();</span></li>
<li><span style="color: #00008b;">var</span><span style="color: Gray;"> $</span><span style="color: #00008b;">components</span><span style="color: Gray;"> = </span><span style="color: #00008b;">array</span><span style="color: Gray;">(”</span><span style="color: #00008b;">SabreAmf</span><span style="color: Gray;">”);</span></li>
<li><span style="color: Gray;">&nbsp;</span></li>
<li><span style="color: #00008b;">function</span><span style="color: Gray;">&nbsp;</span><span style="color: #00008b;">beforeFilter</span><span style="color: Gray;">() {</span></li>
<li><span style="color: Gray;">&nbsp;</span></li>
<li><span style="color: Gray;">// ここで</span><span style="color: #00008b;">amf</span><span style="color: Gray;">出力ではない</span><span style="color: #00008b;">action</span><span style="color: Gray;">を設定できる</span></li>
<li><span style="color: Gray;">// 全部</span><span style="color: #00008b;">amf</span><span style="color: Gray;">出力の場合は何も設定いらない。</span></li>
<li><span style="color: Gray;">// この場合は「</span><span style="color: #00008b;">normal</span><span style="color: Gray;">」のみ通常アクセスできる。</span></li>
<li><span style="color: Gray;">// ほかの</span><span style="color: #00008b;">action</span><span style="color: Gray;">は、</span><span style="color: #00008b;">URL</span><span style="color: Gray;">からは実行されないはず。。。</span></li>
<li><span style="color: #00008b;">if</span><span style="color: Gray;"> ($</span><span style="color: #00008b;">this-</span><span style="color: Olive;">&gt;</span><span style="color: Gray;">action == “normal”) {</span></li>
<li><span style="color: Gray;">&nbsp;</span></li>
<li><span style="color: Gray;">$this-&gt;isAmf = false;</span></li>
<li><span style="color: Gray;">Configure::write(’debug’, 2);</span></li>
<li><span style="color: Gray;">$this-&gt;autoRender = true;</span></li>
<li><span style="color: Gray;">}</span></li>
<li><span style="color: Gray;">}</span></li>
<li><span style="color: Gray;">&nbsp;</span></li>
<li><span style="color: Gray;">// indexアクションは通常出力に使わないほうがいい</span></li>
<li><span style="color: Gray;">// beforeFilterで除外すると、初期アクセスがamfから指定ない場合、</span></li>
<li><span style="color: Gray;">// リモートで呼び出されたときにエラーでちゃう</span></li>
<li><span style="color: Gray;">&nbsp;</span></li>
<li><span style="color: Gray;">function index() {</span></li>
<li><span style="color: Gray;">return “index”;</span></li>
<li><span style="color: Gray;">}</span></li>
<li><span style="color: Gray;">&nbsp;</span></li>
<li><span style="color: Gray;">//これは通常表示できるアクション</span></li>
<li><span style="color: Gray;">function normal() {</span></li>
<li><span style="color: Gray;">$this-&gt;set(”hoge”, date(”Y-m-d H:i:s”));</span></li>
<li><span style="color: Gray;">}</span></li>
<li><span style="color: Gray;">&nbsp;</span></li>
<li><span style="color: Gray;">//文字列返却</span></li>
<li><span style="color: Gray;">function getstr() {</span></li>
<li><span style="color: Gray;">$testname = $this-&gt;amfData[0]; // flashから送られてきた値はamfDataにある。しかし、キーが消えてるよ。。。</span></li>
<li><span style="color: Gray;">&nbsp;</span></li>
<li><span style="color: Gray;">return date(”Y-m-d H:i:s”) . ” こんにちは ” . $testname; //各action で return した値が flashに返る。</span></li>
<li><span style="color: Gray;">}</span></li>
<li><span style="color: Gray;">&nbsp;</span></li>
<li><span style="color: Gray;">//配列返却</span></li>
<li><span style="color: Gray;">function getarr() {</span></li>
<li><span style="color: Gray;">&nbsp;</span></li>
<li><span style="color: Gray;">$res_list = array();</span></li>
<li><span style="color: Gray;">for($i = 0; $i </span><span style="color: Olive;">&lt;</span><span style="color: Gray;">&nbsp;</span><span style="color: #00008b;">10</span><span style="color: Gray;">; $</span><span style="color: #00008b;">i</span><span style="color: Gray;">++) {</span></li>
<li><span style="color: Gray;">$</span><span style="color: #00008b;">res</span><span style="color: Gray;"> = </span><span style="color: #00008b;">array</span><span style="color: Gray;">(</span></li>
<li><span style="color: Gray;">“</span><span style="color: #00008b;">col1</span><span style="color: Gray;">″ =</span><span style="color: Olive;">&gt;</span><span style="color: Gray;"> $i,</span></li>
<li><span style="color: Gray;">“col2″ =&gt; rand(1, 1000),</span></li>
<li><span style="color: Gray;">);</span></li>
<li><span style="color: Gray;">&nbsp;</span></li>
<li><span style="color: Gray;">$res_list[] = $res;</span></li>
<li><span style="color: Gray;">}</span></li>
<li><span style="color: Gray;">&nbsp;</span></li>
<li><span style="color: Gray;">$this-&gt;log(print_R($res_list, true), LOG_ERROR);</span></li>
<li><span style="color: Gray;">return $res_list;</span></li>
<li><span style="color: Gray;">}</span></li>
<li><span style="color: Gray;">}</span></li>
<li><span style="color: Gray;">?&gt;</span></li></ol></div>
<p>このコントローラにFlashからリクエストのサンプルです。</p>
<div class="hl-surround"><ol class="hl-main ln-show" title="Double click to hide line number." ondblclick = "linenumber(this)"><li class="hl-firstline"><span style="color: Olive;">&lt;?</span><span style="color: Green;">xml</span><span style="color: Gray;"> </span><span style="color: #00008b;">version</span><span style="color: Gray;">=”</span><span style="color: #00008b;">1</span><span style="color: Gray;">.</span><span style="color: #00008b;">0</span><span style="color: Gray;">″ </span><span style="color: #00008b;">encoding</span><span style="color: Gray;">=”</span><span style="color: #00008b;">utf-8</span><span style="color: Gray;">″</span><span style="color: Olive;">?&gt;</span></li>
<li><span style="color: Gray;">&nbsp;</span></li>
<li><span style="color: Olive;">&lt;</span><span style="color: Green;">mx:Application</span><span style="color: Gray;">&nbsp;</span><span style="color: #00008b;">xmlns:mx</span><span style="color: Gray;">=”</span><span style="color: #00008b;">http:</span><span style="color: Gray;">//</span><span style="color: Green;">www</span><span style="color: Gray;">.</span><span style="color: #00008b;">adobe</span><span style="color: Gray;">.</span><span style="color: #00008b;">com</span><span style="color: Gray;">/</span><span style="color: Green;">2006</span><span style="color: Gray;">/</span><span style="color: Green;">mxml</span><span style="color: Gray;">” </span><span style="color: #00008b;">layout</span><span style="color: Gray;">=”</span><span style="color: #00008b;">vertical</span><span style="color: Gray;">”</span><span style="color: Olive;">&gt;</span></li>
<li><span style="color: Olive;">&lt;</span><span style="color: Green;">mx:Script</span><span style="color: Olive;">&gt;</span></li>
<li><span style="color: Gray;">&nbsp;</span></li>
<li><span style="color: #ffa500;">&lt;![CDATA[</span></li>
<li><span style="color: #ffa500;">&nbsp;</span></li>
<li><span style="color: #ffa500;">import mx.rpc.events.FaultEvent;</span></li>
<li><span style="color: #ffa500;">import mx.rpc.events.ResultEvent;</span></li>
<li><span style="color: #ffa500;">import mx.controls.Alert;</span></li>
<li><span style="color: #ffa500;">import mx.utils.ArrayUtil;</span></li>
<li><span style="color: #ffa500;">&nbsp;</span></li>
<li><span style="color: #ffa500;">[Bindable]</span></li>
<li><span style="color: #ffa500;">private var myDataItem:Array = [];</span></li>
<li><span style="color: #ffa500;">private function resultHandler(evt:ResultEvent):void {</span></li>
<li><span style="color: #ffa500;">&nbsp;</span></li>
<li><span style="color: #ffa500;">myDataItem = ArrayUtil.toArray(evt.result);</span></li>
<li><span style="color: #ffa500;">}</span></li>
<li><span style="color: #ffa500;">&nbsp;</span></li>
<li><span style="color: #ffa500;">private function faultHandler(evt:FaultEvent):void {</span></li>
<li><span style="color: #ffa500;">&nbsp;</span></li>
<li><span style="color: #ffa500;">Alert.show(”Fault: ” + evt.fault + ” Msg: ” + evt.message);</span></li>
<li><span style="color: #ffa500;">}</span></li>
<li><span style="color: #ffa500;">&nbsp;</span></li>
<li><span style="color: #ffa500;">]]&gt;</span></li>
<li><span style="color: Gray;">&nbsp;</span></li>
<li><span style="color: Olive;">&lt;/</span><span style="color: Green;">mx:Script</span><span style="color: Olive;">&gt;</span></li>
<li><span style="color: Gray;">&nbsp;</span></li>
<li><span style="color: Olive;">&lt;</span><span style="color: Gray;">!–</span></li>
<li><span style="color: #00008b;">remoting-config</span><span style="color: Gray;">.</span><span style="color: #00008b;">xml</span><span style="color: Gray;">をちゃんと設定したほうがいいのかな？</span></li>
<li><span style="color: Gray;">このサンプルでは、</span><span style="color: #00008b;">xml</span><span style="color: Gray;">を用意しないで、</span><span style="color: #00008b;">endpoint</span><span style="color: Gray;">指定でやってます。</span></li>
<li><span style="color: #00008b;">endpoint</span><span style="color: Gray;">=”{’</span><span style="color: #00008b;">http:</span><span style="color: Gray;">//{</span><span style="color: #00008b;">server</span><span style="color: Gray;">.</span><span style="color: #00008b;">name</span><span style="color: Gray;">}</span><span style="color: #00008b;">:</span><span style="color: Gray;">{</span><span style="color: #00008b;">server</span><span style="color: Gray;">.</span><span style="color: #00008b;">port</span><span style="color: Gray;">}/</span><span style="color: Green;">amfs</span><span style="color: Gray;">/’}” と書けば、</span></li>
<li><span style="color: #00008b;">flash</span><span style="color: Gray;">設置サーバの/</span><span style="color: Green;">amfs</span><span style="color: Gray;">/と通信します。</span></li>
<li><span style="color: Gray;">以下のように</span><span style="color: #00008b;">endpoint</span><span style="color: Gray;">(</span><span style="color: #00008b;">cake</span><span style="color: Gray;">の</span><span style="color: #00008b;">controller</span><span style="color: Gray;">呼び出し用</span><span style="color: #00008b;">URL</span><span style="color: Gray;">)さえ指定しておけば</span></li>
<li><span style="color: #00008b;">source</span><span style="color: Gray;"> は今回の場合は適当でいいです。というのも、</span><span style="color: #00008b;">sevice</span><span style="color: Gray;">名として</span></li>
<li><span style="color: Gray;">サーバで受け取りますが、</span><span style="color: #00008b;">endpoint</span><span style="color: Gray;">の</span><span style="color: #00008b;">cake</span><span style="color: Gray;">の</span><span style="color: #00008b;">controller</span><span style="color: Gray;">の</span></li>
<li><span style="color: Gray;">メソッドしか呼べないようにしているので送信しているが使っていない。</span></li>
<li><span style="color: Gray;">また、</span><span style="color: #00008b;">destination</span><span style="color: Gray;">も適当でいいですが指定しないとエラーでます。</span></li>
<li><span style="color: Gray;">–</span><span style="color: Olive;">&gt;</span></li>
<li><span style="color: Gray;">&nbsp;</span></li>
<li><span style="color: Olive;">&lt;</span><span style="color: Gray;">!– 文字列読み込み例 –</span><span style="color: Olive;">&gt;</span></li>
<li><span style="color: Olive;">&lt;</span><span style="color: Green;">mx:RemoteObject</span><span style="color: Gray;">&nbsp;</span><span style="color: #00008b;">id</span><span style="color: Gray;">=”</span><span style="color: #00008b;">ro</span><span style="color: Gray;">”</span></li>
<li><span style="color: #00008b;">endpoint</span><span style="color: Gray;">=”{’</span><span style="color: #00008b;">http:</span><span style="color: Gray;">//{</span><span style="color: #00008b;">server</span><span style="color: Gray;">.</span><span style="color: #00008b;">name</span><span style="color: Gray;">}</span><span style="color: #00008b;">:</span><span style="color: Gray;">{</span><span style="color: #00008b;">server</span><span style="color: Gray;">.</span><span style="color: #00008b;">port</span><span style="color: Gray;">}/</span><span style="color: Green;">amfs</span><span style="color: Gray;">/’}”</span></li>
<li><span style="color: #00008b;">destination</span><span style="color: Gray;">=”</span><span style="color: #00008b;">MyAmfs</span><span style="color: Gray;">”</span></li>
<li><span style="color: #00008b;">source</span><span style="color: Gray;">=”</span><span style="color: #00008b;">Amfs</span><span style="color: Gray;">”</span></li>
<li><span style="color: #00008b;">result</span><span style="color: Gray;">=”</span><span style="color: #00008b;">myLabel</span><span style="color: Gray;">.</span><span style="color: #00008b;">text</span><span style="color: Gray;"> = </span><span style="color: #00008b;">event</span><span style="color: Gray;">.</span><span style="color: #00008b;">result</span><span style="color: Gray;">.</span><span style="color: #00008b;">toString</span><span style="color: Gray;">()”</span></li>
<li><span style="color: #00008b;">fault</span><span style="color: Gray;">=”</span><span style="color: #00008b;">faultHandler</span><span style="color: Gray;">(</span><span style="color: #00008b;">event</span><span style="color: Gray;">)”</span><span style="color: Olive;">&gt;</span></li>
<li><span style="color: Gray;">&nbsp;</span></li>
<li><span style="color: Olive;">&lt;</span><span style="color: Green;">mx:method</span><span style="color: Gray;">&nbsp;</span><span style="color: #00008b;">name</span><span style="color: Gray;">=”</span><span style="color: #00008b;">getstr</span><span style="color: Gray;">”</span><span style="color: Olive;">&gt;</span></li>
<li><span style="color: Olive;">&lt;</span><span style="color: Green;">mx:arguments</span><span style="color: Olive;">&gt;</span></li>
<li><span style="color: Olive;">&lt;</span><span style="color: Green;">testname</span><span style="color: Olive;">&gt;</span><span style="color: Gray;">hoge</span><span style="color: Olive;">&lt;/</span><span style="color: Green;">testname</span><span style="color: Olive;">&gt;</span></li>
<li><span style="color: Olive;">&lt;/</span><span style="color: Green;">mx:arguments</span><span style="color: Olive;">&gt;</span></li>
<li><span style="color: Olive;">&lt;/</span><span style="color: Green;">mx:method</span><span style="color: Olive;">&gt;</span></li>
<li><span style="color: Olive;">&lt;/</span><span style="color: Green;">mx:RemoteObject</span><span style="color: Olive;">&gt;</span></li>
<li><span style="color: Olive;">&lt;</span><span style="color: Green;">mx:Label</span><span style="color: Gray;">&nbsp;</span><span style="color: #00008b;">text</span><span style="color: Gray;">=”</span><span style="color: #00008b;">string_sample</span><span style="color: Gray;">” </span><span style="color: #00008b;">id</span><span style="color: Gray;">=”</span><span style="color: #00008b;">myLabel</span><span style="color: Gray;">” </span><span style="color: Olive;">/&gt;</span></li>
<li><span style="color: Olive;">&lt;</span><span style="color: Green;">mx:Button</span><span style="color: Gray;">&nbsp;</span><span style="color: #00008b;">label</span><span style="color: Gray;">=”</span><span style="color: #00008b;">string</span><span style="color: Gray;"> </span><span style="color: #00008b;">load</span><span style="color: Gray;"> </span><span style="color: #00008b;">test</span><span style="color: Gray;">” </span><span style="color: #00008b;">click</span><span style="color: Gray;">=”</span><span style="color: #00008b;">ro</span><span style="color: Gray;">.</span><span style="color: #00008b;">getstr</span><span style="color: Gray;">.</span><span style="color: #00008b;">send</span><span style="color: Gray;">()” </span><span style="color: #00008b;">x</span><span style="color: Gray;">=”</span><span style="color: #00008b;">24</span><span style="color: Gray;">″ </span><span style="color: #00008b;">y</span><span style="color: Gray;">=”</span><span style="color: #00008b;">42</span><span style="color: Gray;">″</span><span style="color: Olive;">/&gt;</span></li>
<li><span style="color: Olive;">&lt;</span><span style="color: Gray;">!– </span><span style="color: #00008b;">ro</span><span style="color: Gray;">.●●.</span><span style="color: #00008b;">send</span><span style="color: Gray;">() で</span><span style="color: #00008b;">cake</span><span style="color: Gray;">側のアクションを呼べる –</span><span style="color: Olive;">&gt;</span></li>
<li><span style="color: Gray;">&nbsp;</span></li>
<li><span style="color: Olive;">&lt;</span><span style="color: Green;">mx:Spacer</span><span style="color: Gray;">&nbsp;</span><span style="color: #00008b;">height</span><span style="color: Gray;">=”</span><span style="color: #00008b;">2</span><span style="color: Gray;">″ </span><span style="color: #00008b;">width</span><span style="color: Gray;">=”</span><span style="color: #00008b;">200</span><span style="color: Gray;">″</span><span style="color: Olive;">/&gt;</span></li>
<li><span style="color: Gray;">&nbsp;</span></li>
<li><span style="color: Olive;">&lt;</span><span style="color: Gray;">!– 配列読み込み例 –</span><span style="color: Olive;">&gt;</span></li>
<li><span style="color: Olive;">&lt;</span><span style="color: Green;">mx:RemoteObject</span><span style="color: Gray;">&nbsp;</span><span style="color: #00008b;">id</span><span style="color: Gray;">=”</span><span style="color: #00008b;">ro2</span><span style="color: Gray;">″</span></li>
<li><span style="color: #00008b;">endpoint</span><span style="color: Gray;">=”{’</span><span style="color: #00008b;">http:</span><span style="color: Gray;">//{</span><span style="color: #00008b;">server</span><span style="color: Gray;">.</span><span style="color: #00008b;">name</span><span style="color: Gray;">}</span><span style="color: #00008b;">:</span><span style="color: Gray;">{</span><span style="color: #00008b;">server</span><span style="color: Gray;">.</span><span style="color: #00008b;">port</span><span style="color: Gray;">}/</span><span style="color: Green;">amfs</span><span style="color: Gray;">/’}”</span></li>
<li><span style="color: #00008b;">destination</span><span style="color: Gray;">=”</span><span style="color: #00008b;">MyAmfs</span><span style="color: Gray;">”</span></li>
<li><span style="color: #00008b;">source</span><span style="color: Gray;">=”</span><span style="color: #00008b;">Amfs</span><span style="color: Gray;">”</span></li>
<li><span style="color: #00008b;">result</span><span style="color: Gray;">=”</span><span style="color: #00008b;">resultHandler</span><span style="color: Gray;">(</span><span style="color: #00008b;">event</span><span style="color: Gray;">)”</span></li>
<li><span style="color: #00008b;">fault</span><span style="color: Gray;">=”</span><span style="color: #00008b;">faultHandler</span><span style="color: Gray;">(</span><span style="color: #00008b;">event</span><span style="color: Gray;">)”</span><span style="color: Olive;">&gt;</span></li>
<li><span style="color: Olive;">&lt;/</span><span style="color: Green;">mx:RemoteObject</span><span style="color: Olive;">&gt;</span></li>
<li><span style="color: Olive;">&lt;</span><span style="color: Green;">mx:Button</span><span style="color: Gray;">&nbsp;</span><span style="color: #00008b;">label</span><span style="color: Gray;">=”</span><span style="color: #00008b;">array</span><span style="color: Gray;"> </span><span style="color: #00008b;">load</span><span style="color: Gray;"> </span><span style="color: #00008b;">test</span><span style="color: Gray;">” </span><span style="color: #00008b;">click</span><span style="color: Gray;">=”</span><span style="color: #00008b;">ro2</span><span style="color: Gray;">.</span><span style="color: #00008b;">getarr</span><span style="color: Gray;">.</span><span style="color: #00008b;">send</span><span style="color: Gray;">()”&nbsp; </span><span style="color: #00008b;">x</span><span style="color: Gray;">=”</span><span style="color: #00008b;">24</span><span style="color: Gray;">″ </span><span style="color: #00008b;">y</span><span style="color: Gray;">=”</span><span style="color: #00008b;">42</span><span style="color: Gray;">″</span><span style="color: Olive;">/&gt;</span></li>
<li><span style="color: Olive;">&lt;</span><span style="color: Green;">mx:DataGrid</span><span style="color: Gray;">&nbsp;</span><span style="color: #00008b;">id</span><span style="color: Gray;">=”</span><span style="color: #00008b;">myData</span><span style="color: Gray;">” </span><span style="color: #00008b;">dataProvider</span><span style="color: Gray;">=”{</span><span style="color: #00008b;">myDataItem</span><span style="color: Gray;">}”</span><span style="color: Olive;">&gt;</span></li>
<li><span style="color: Olive;">&lt;</span><span style="color: Green;">mx:columns</span><span style="color: Olive;">&gt;</span></li>
<li><span style="color: Olive;">&lt;</span><span style="color: Green;">mx:DataGridColumn</span><span style="color: Gray;">&nbsp;</span><span style="color: #00008b;">headerText</span><span style="color: Gray;">=”列 </span><span style="color: #00008b;">1</span><span style="color: Gray;">″ </span><span style="color: #00008b;">dataField</span><span style="color: Gray;">=”</span><span style="color: #00008b;">col1</span><span style="color: Gray;">″</span><span style="color: Olive;">/&gt;</span></li>
<li><span style="color: Olive;">&lt;</span><span style="color: Green;">mx:DataGridColumn</span><span style="color: Gray;">&nbsp;</span><span style="color: #00008b;">headerText</span><span style="color: Gray;">=”列 </span><span style="color: #00008b;">2</span><span style="color: Gray;">″ </span><span style="color: #00008b;">dataField</span><span style="color: Gray;">=”</span><span style="color: #00008b;">col2</span><span style="color: Gray;">″</span><span style="color: Olive;">/&gt;</span></li>
<li><span style="color: Olive;">&lt;/</span><span style="color: Green;">mx:columns</span><span style="color: Olive;">&gt;</span></li>
<li><span style="color: Olive;">&lt;/</span><span style="color: Green;">mx:DataGrid</span><span style="color: Olive;">&gt;</span></li>
<li><span style="color: Olive;">&lt;/</span><span style="color: Green;">mx:Application</span><span style="color: Olive;">&gt;</span></li></ol></div>
<p>【参考リソース】</p>
<p><a title="http://code.google.com/p/sabreamf/" href="http://code.google.com/p/sabreamf/">http://code.google.com/p/sabreamf/</a></p>
<p><a title="http://blog.non-style.com/2008/11/cakephp-airsabreamfcakephp.html" href="http://blog.non-style.com/2008/11/cakephp-airsabreamfcakephp.html">http://blog.non-style.com/2008/11/cakephp-airsabreamfcakephp.html</a></p>
<p><a title="http://blog.asial.co.jp/347" href="http://blog.asial.co.jp/347">http://blog.asial.co.jp/347</a></p>
<h3>Related Posts</h3>
<ul class="related_post">
<li><a href="http://digitechlog.com/2009/05/07/flexunit-flex-actionscript-application-unit-test-tool-framework.html" title="FlexUnit: Flex/ActionScript3.0アプリケーションの単体テストを行うためのユニットテスティングフレームワーク">FlexUnit: Flex/ActionScript3.0アプリケーションの単体テストを行うためのユニットテスティングフレームワーク</a></li>
<li><a href="http://digitechlog.com/2009/05/01/cairngorm-is-the-lightweight-micro-architecture-for-rich-internet-applications-built-in-flex-air.html" title="Cairngorm: Flex/AIR RIA構築用フレームワーク">Cairngorm: Flex/AIR RIA構築用フレームワーク</a></li>
<li><a href="http://digitechlog.com/2010/02/13/as3unit-actionscript-3-junit-for-flash.html" title="AS3Unit: ActionScript 3.0上JUnit4の移植、単体テストを行うためのフレームワーク">AS3Unit: ActionScript 3.0上JUnit4の移植、単体テストを行うためのフレームワーク</a></li>
<li><a href="http://digitechlog.com/2010/01/12/cast3d-3d-animation-framework-library-for-adobe-flash-in-actionscript3.html" title="Cast3D: Flashのアニメーションフレームワークライブラリ">Cast3D: Flashのアニメーションフレームワークライブラリ</a></li>
<li><a href="http://digitechlog.com/2009/09/30/fluorine-flash-remoting-for-dot-net.html" title="FluorineFx: Flexと.NET間でAMF通信できるライブラリ">FluorineFx: Flexと.NET間でAMF通信できるライブラリ</a></li>
<li><a href="http://digitechlog.com/2009/09/28/weborb-for-php-is-server-side-technology-enabling-connectivity-between-flex-and-flash-remoting-clients-and-php.html" title="WebORB: FlashやFlexのリモートクライアントとサーバ側でのPHPを組み合わせ">WebORB: FlashやFlexのリモートクライアントとサーバ側でのPHPを組み合わせ</a></li>
<li><a href="http://digitechlog.com/2009/09/12/an-opensource-framework-can-be-used-to-develop-flash.html" title="CakePHP: PHP用のWebアプリケーションを効率よく作成するためオープンソースのフレームワーク">CakePHP: PHP用のWebアプリケーションを効率よく作成するためオープンソースのフレームワーク</a></li>
<li><a href="http://digitechlog.com/2009/05/26/lowra-pixlib-low-level-rework-on-actionscript-3.html" title="LowRA(Pixlib): AS3でイベントハンドラ、ログ処理、メディア管理など機能がサポートされるフレームワーク">LowRA(Pixlib): AS3でイベントハンドラ、ログ処理、メディア管理など機能がサポートされるフレームワーク</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://digitechlog.com/2009/08/28/sabreamf-is-a-flash-remoting-server-and-client-for-php.html/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>SWFObject: Flash/FlexをWeb ページに貼りつけるのに便利なJavaScriptライブラリ</title>
		<link>http://digitechlog.com/2009/05/14/swfobject-embed-flash-content-which-utilizes-one-small-javascript-file.html</link>
		<comments>http://digitechlog.com/2009/05/14/swfobject-embed-flash-content-which-utilizes-one-small-javascript-file.html#comments</comments>
		<pubDate>Thu, 14 May 2009 07:55:02 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Flash]]></category>
		<category><![CDATA[Flash Project]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[SWFObject]]></category>

		<guid isPermaLink="false">http://digitechlog.com/2009/05/14/swfobject-embed-flash-content-which-utilizes-one-small-javascript-file.html</guid>
		<description><![CDATA[Objectタグと、Embedタグを併用する様のMacromedia(Adobe)の標準のFlashの埋め込み方は既にご存知のことと思います。Flashのソフト上からパブリッシュした際のデフォルトの出力方法になっているので、互換性も高く、多くのブラウザをカバーしています。
しかしながら、プラグイン検出がないので、ユーザーによっては、コンテンツ表示が崩れたり、見れなかったり、プラグインをインストールしていないIEユーザーには「ActiveXをインストールしますか？」というダイアログボックスが表示されたり、Mozillaベースのブラウザでも、似たような問題が起きるいくつかの問題点があります。
 
特に、embedというタグは、どのバージョンのHTML、XHTMLにもありません。しかし、object タグの仕様の違い（あるいは、サポートしていない、バグの多さ）の為に、保険としてembedタグが使われています。HTMLにswfファイルを埋め込む際にembedタグやobjectタグを使わずにSWFObjectを使うという方法があります。それでは、今回紹介する「SWFObject」というFlash/FlexをWeb ページに貼りつけるのに便利なJavaScriptライブラリです。 
ライセンスは「MIT License」ですから、使い手が良いものとなっています。
[使用方法]
１）、次のURLから最新版をダウンロードして解凍したのちサイト内に設置。(http://code.google.com/p/swfobject/downloads/list )、まず利用するページにてswfobject.jsを呼び出す。 
&#60;script type=”text/javascript” src=”swfobject.js”&#62;&#60;/script&#62;
２）、swfを挿入するブロックをid付きで設置しておく 
&#60;div id=”swfContents”&#62;javascriptが有効じゃなかった時のコンテンツ&#60;/div&#62;
実際の呼び出し（ヘッダでもどこでもいいので） 
&#60;script type=”text/javascript”&#62;
swfobject.embedSWF(”swfのURI”, “挿入するID”, “幅”, “高さ”, “プレイヤーのバージョン”);
&#60;/script&#62;
３）、flashvarsやparamタグに値を渡したり、objectタグにidなどの属性をつけたりするには 
swfobject.embedSWF(”swfのURI”, “挿入するID”, “幅”, “高さ”, “プレイヤーのバージョン”, “expressInstall.swfのURI”, flashvarsオブジェクト, paramsオブジェクト, attributesオブジェクト);
という記述になる。上記のflashvarsオブジェクトとかは以下のような感じで記述して渡してあげるといい。 
var flashvars = { name1 : ‘hello’, name2 : ‘hoge’ };
var&#160;params = { menu : ‘false’ };
var&#160;attributes = { id : ’swfPlayer’, name : ’swfPlayer’ };
渡す値がないって場合には
var flashvars = [...]]]></description>
			<content:encoded><![CDATA[<p>Objectタグと、Embedタグを併用する様のMacromedia(Adobe)の標準のFlashの埋め込み方は既にご存知のことと思います。Flashのソフト上からパブリッシュした際のデフォルトの出力方法になっているので、互換性も高く、多くのブラウザをカバーしています。</p>
<p>しかしながら、プラグイン検出がないので、ユーザーによっては、コンテンツ表示が崩れたり、見れなかったり、プラグインをインストールしていないIEユーザーには「ActiveXをインストールしますか？」というダイアログボックスが表示されたり、Mozillaベースのブラウザでも、似たような問題が起きるいくつかの問題点があります。</p>
<p><span id="more-483"></span> </p>
<p>特に、embedというタグは、どのバージョンのHTML、XHTMLにもありません。しかし、object タグの仕様の違い（あるいは、サポートしていない、バグの多さ）の為に、保険としてembedタグが使われています。HTMLにswfファイルを埋め込む際にembedタグやobjectタグを使わずにSWFObjectを使うという方法があります。それでは、今回紹介する「SWFObject」というFlash/FlexをWeb ページに貼りつけるのに便利なJavaScriptライブラリです。<a href="http://digitechlog.com/wp-content/uploads/2009/05/swfobject-logo.gif"><img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="106" alt="swfobject_logo" src="http://digitechlog.com/wp-content/uploads/2009/05/swfobject-logo-thumb.gif" width="418" border="0"></a> </p>
<p>ライセンスは「MIT License」ですから、使い手が良いものとなっています。</p>
<p><strong>[使用方法]</strong></p>
<p>１）、次のURLから最新版をダウンロードして解凍したのちサイト内に設置。<a title="http://code.google.com/p/swfobject/downloads/list" href="http://code.google.com/p/swfobject/downloads/list">(http://code.google.com/p/swfobject/downloads/list</a> )、まず利用するページにてswfobject.jsを呼び出す。 </p>
<div class="hl-surround"><ol class="hl-main ln-show" title="Double click to hide line number." ondblclick = "linenumber(this)"><li class="hl-firstline"><span style="color: Gray;">&lt;</span><span style="color: Blue;">script</span><span style="color: Gray;"> </span><span style="color: Blue;">type</span><span style="color: Gray;">=”</span><span style="color: Blue;">text</span><span style="color: #8b0000;">/</span><span style="color: Red;">javascript” src=”swfobject.js”&gt;&lt;</span><span style="color: #8b0000;">/</span><span style="color: Blue;">script</span><span style="color: Gray;">&gt;</span></li></ol></div>
<p>２）、swfを挿入するブロックをid付きで設置しておく </p>
<div class="hl-surround"><ol class="hl-main ln-show" title="Double click to hide line number." ondblclick = "linenumber(this)"><li class="hl-firstline"><span style="color: Olive;">&lt;</span><span style="color: Green;">div</span><span style="color: Gray;"> </span><span style="color: #00008b;">id</span><span style="color: Gray;">=”</span><span style="color: #00008b;">swfContents</span><span style="color: Gray;">”</span><span style="color: Olive;">&gt;</span><span style="color: Gray;">javascriptが有効じゃなかった時のコンテンツ</span><span style="color: Olive;">&lt;/</span><span style="color: Green;">div</span><span style="color: Olive;">&gt;</span></li></ol></div>
<p>実際の呼び出し（ヘッダでもどこでもいいので） </p>
<div class="hl-surround"><ol class="hl-main ln-show" title="Double click to hide line number." ondblclick = "linenumber(this)"><li class="hl-firstline"><span style="color: Gray;">&lt;</span><span style="color: Blue;">script</span><span style="color: Gray;"> </span><span style="color: Blue;">type</span><span style="color: Gray;">=”</span><span style="color: Blue;">text</span><span style="color: #8b0000;">/</span><span style="color: Red;">javascript”&gt;</span></li>
<li><span style="color: Red;">swfobject.embedSWF(”swfのURI”, “挿入するID”, “幅”, “高さ”, “プレイヤーのバージョン”);</span></li>
<li><span style="color: Red;">&lt;</span><span style="color: #8b0000;">/</span><span style="color: Blue;">script</span><span style="color: Gray;">&gt;</span></li></ol></div>
<p>３）、flashvarsやparamタグに値を渡したり、objectタグにidなどの属性をつけたりするには </p>
<div class="hl-surround"><ol class="hl-main ln-show" title="Double click to hide line number." ondblclick = "linenumber(this)"><li class="hl-firstline"><span style="color: Blue;">swfobject</span><span style="color: Gray;">.</span><span style="color: Blue;">embedSWF</span><span style="color: Olive;">(</span><span style="color: Gray;">”</span><span style="color: Blue;">swf</span><span style="color: Gray;">の</span><span style="color: Blue;">URI</span><span style="color: Gray;">”, “挿入する</span><span style="color: Blue;">ID</span><span style="color: Gray;">”, “幅”, “高さ”, “プレイヤーのバージョン”, “</span><span style="color: Blue;">expressInstall</span><span style="color: Gray;">.</span><span style="color: Blue;">swf</span><span style="color: Gray;">の</span><span style="color: Blue;">URI</span><span style="color: Gray;">”, </span><span style="color: Blue;">flashvars</span><span style="color: Gray;">オブジェクト, </span><span style="color: Blue;">params</span><span style="color: Gray;">オブジェクト, </span><span style="color: Blue;">attributes</span><span style="color: Gray;">オブジェクト</span><span style="color: Olive;">)</span><span style="color: Gray;">;</span></li></ol></div>
<p>という記述になる。上記のflashvarsオブジェクトとかは以下のような感じで記述して渡してあげるといい。 </p>
<div class="hl-surround"><ol class="hl-main ln-show" title="Double click to hide line number." ondblclick = "linenumber(this)"><li class="hl-firstline"><span style="color: Green;">var</span><span style="color: Gray;"> </span><span style="color: Blue;">flashvars</span><span style="color: Gray;"> = </span><span style="color: Olive;">{</span><span style="color: Gray;"> </span><span style="color: Blue;">name1</span><span style="color: Gray;"> : ‘</span><span style="color: Blue;">hello</span><span style="color: Gray;">’, </span><span style="color: Blue;">name2</span><span style="color: Gray;"> : ‘</span><span style="color: Blue;">hoge</span><span style="color: Gray;">’ </span><span style="color: Olive;">}</span><span style="color: Gray;">;</span></li>
<li><span style="color: Green;">var</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">params</span><span style="color: Gray;"> = </span><span style="color: Olive;">{</span><span style="color: Gray;"> </span><span style="color: Blue;">menu</span><span style="color: Gray;"> : ‘</span><span style="color: Green;">false</span><span style="color: Gray;">’ </span><span style="color: Olive;">}</span><span style="color: Gray;">;</span></li>
<li><span style="color: Green;">var</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">attributes</span><span style="color: Gray;"> = </span><span style="color: Olive;">{</span><span style="color: Gray;"> </span><span style="color: Blue;">id</span><span style="color: Gray;"> : ’</span><span style="color: Blue;">swfPlayer</span><span style="color: Gray;">’, </span><span style="color: Blue;">name</span><span style="color: Gray;"> : ’</span><span style="color: Blue;">swfPlayer</span><span style="color: Gray;">’ </span><span style="color: Olive;">}</span><span style="color: Gray;">;</span></li></ol></div>
<p>渡す値がないって場合には</p>
<div class="hl-surround"><ol class="hl-main ln-show" title="Double click to hide line number." ondblclick = "linenumber(this)"><li class="hl-firstline"><span style="color: Green;">var</span><span style="color: Gray;"> </span><span style="color: Blue;">flashvars</span><span style="color: Gray;"> = </span><span style="color: Olive;">{}</span><span style="color: Gray;">;</span></li></ol></div>
<p>というように空のオブジェクトで渡すとか、 </p>
<div class="hl-surround"><ol class="hl-main ln-show" title="Double click to hide line number." ondblclick = "linenumber(this)"><li class="hl-firstline"><span style="color: Green;">var</span><span style="color: Gray;"> </span><span style="color: Blue;">flashvars</span><span style="color: Gray;"> = </span><span style="color: Green;">null</span><span style="color: Gray;">;</span></li></ol></div>
<p>でもいいみたい。<br />ちなみに”expressInstall.swfのURI”っていうのはswfobjectをダウンロードして解凍したら一緒に入っているのでそれも合わせてサイト内に設置しておく。
<p><strong>[関連リンク]</strong>
<p>・<a title="http://code.google.com/p/swfobject" href="http://code.google.com/p/swfobject">http://code.google.com/p/swfobject</a>　公式サイト</p>
<p>・<a title="http://blog.deconcept.com/swfobject/" href="http://blog.deconcept.com/swfobject/">http://blog.deconcept.com/swfobject/</a> 作者のブログ</p>
<p>・<a title="http://www.adobe.com/jp/devnet/flashplayer/articles/swfobject.html" href="http://www.adobe.com/jp/devnet/flashplayer/articles/swfobject.html">http://www.adobe.com/jp/devnet/flashplayer/articles/swfobject.html</a> SWFObject 2を用いたFlash Playerのバージョン検知とSWFファイルの埋め込み</p>
<p>・<a title="http://blg.emzah.com/archives/295" href="http://blg.emzah.com/archives/295">http://blg.emzah.com/archives/295</a>&nbsp; SWFObjectを使う場合のご注意。</p>
<p>・<a title="http://phpspot.org/blog/archives/2006/10/flashhtmljavasc.html" href="http://phpspot.org/blog/archives/2006/10/flashhtmljavasc.html">http://phpspot.org/blog/archives/2006/10/flashhtmljavasc.html</a>&nbsp; Flashプレイヤーの検出とHTML埋め込みを簡単に行えるJavaScriptライブラリ「SWFObject」</p>
<p>・<a title="http://www.drk7.jp/MT/archives/001481.html" href="http://www.drk7.jp/MT/archives/001481.html">http://www.drk7.jp/MT/archives/001481.html</a>&nbsp; swfobject.jsを使って Flash と代替画像を切り替える方法</p>
<p>・<a title="http://www.scratchbrain.net/blog/ver2/entries/000481.html" href="http://www.scratchbrain.net/blog/ver2/entries/000481.html">http://www.scratchbrain.net/blog/ver2/entries/000481.html</a>&nbsp; SWFObject （1.5と2.0）のFlash Playerバージョンチェック注意</p>
<h3>Related Posts</h3>
<ul class="related_post">
<li><a href="http://digitechlog.com/2009/09/28/weborb-for-php-is-server-side-technology-enabling-connectivity-between-flex-and-flash-remoting-clients-and-php.html" title="WebORB: FlashやFlexのリモートクライアントとサーバ側でのPHPを組み合わせ">WebORB: FlashやFlexのリモートクライアントとサーバ側でのPHPを組み合わせ</a></li>
<li><a href="http://digitechlog.com/2009/06/18/flivpee-flash-video-player-with-javascript-widgets-styled-with-css.html" title="Flivpee: JavaScriptを使ってFlash製の動画再生オープンソースのソフトウェア">Flivpee: JavaScriptを使ってFlash製の動画再生オープンソースのソフトウェア</a></li>
<li><a href="http://digitechlog.com/2009/06/02/swfaddress-a-small-but-powerful-library-provides-deep-linking-for-flash-and-ajax.html" title="SWFAddress: SWFObject と共にFlashの各コンテンツの遷移に対してパーマリンク提供する便利なライブラリ">SWFAddress: SWFObject と共にFlashの各コンテンツの遷移に対してパーマリンク提供する便利なライブラリ</a></li>
<li><a href="http://digitechlog.com/2009/05/07/flexunit-flex-actionscript-application-unit-test-tool-framework.html" title="FlexUnit: Flex/ActionScript3.0アプリケーションの単体テストを行うためのユニットテスティングフレームワーク">FlexUnit: Flex/ActionScript3.0アプリケーションの単体テストを行うためのユニットテスティングフレームワーク</a></li>
<li><a href="http://digitechlog.com/2009/01/09/the-sample-source-code-of-emb-a-single-youtube-video-inside-your-flex-application.html" title="FlexアプリケーションにYouTubeビデオを埋め込むサンプルソースコード">FlexアプリケーションにYouTubeビデオを埋め込むサンプルソースコード</a></li>
<li><a href="http://digitechlog.com/2010/04/26/flash-builder-4-build-272416-compiler-bug-and-solutions.html" title="Flash Builder 4コンパイラーの不具合( FB 4.0 build 272416 )">Flash Builder 4コンパイラーの不具合( FB 4.0 build 272416 )</a></li>
<li><a href="http://digitechlog.com/2010/02/21/sazamek-flash-based-online-audio-manipulating-platform-with-as3-open-source-library.html" title="Sazameki: Flashを使ったオーディオ操作のためのオンラインプラットホーム">Sazameki: Flashを使ったオーディオ操作のためのオンラインプラットホーム</a></li>
<li><a href="http://digitechlog.com/2010/02/07/foam-as3-2d-rigid-body-physics-engine.html" title="FOAM-AS3: ActionScript 3で開発されたオープンソースの２D物理エンジン">FOAM-AS3: ActionScript 3で開発されたオープンソースの２D物理エンジン</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://digitechlog.com/2009/05/14/swfobject-embed-flash-content-which-utilizes-one-small-javascript-file.html/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Flex-spreadsheet: オープンソースのExcelのようなスタイルのFlexスプレッドシート</title>
		<link>http://digitechlog.com/2009/05/08/flex-spreadsheet-is-similar-to-the-flex-datagrid-open-source-componet.html</link>
		<comments>http://digitechlog.com/2009/05/08/flex-spreadsheet-is-similar-to-the-flex-datagrid-open-source-componet.html#comments</comments>
		<pubDate>Fri, 08 May 2009 11:50:36 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Flash Project]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[spreadsheet]]></category>
		<category><![CDATA[オープンソース]]></category>
		<category><![CDATA[コンポーネット]]></category>

		<guid isPermaLink="false">http://digitechlog.com/2009/05/08/flex-spreadsheet-is-similar-to-the-flex-datagrid-open-source-componet.html</guid>
		<description><![CDATA[「Flex-spreadsheet」とは、ExcelのようなスタイルのオープンソースのFlexスプレッドシートコンポーネットです。Flex自身のDataGridも少し似てるようです。
エクセルと同じような複雑の計算、マクロなど物は難しいですが、Flex-spreadsheetを使って実装すると、簡易的な計算まで行うことは簡単だと思います。有名な「Google Spreadsheet」見たいWebアプリケーションも最低画面上に表現できますね（ちょっと言いすぎけど）。

公式サイトでは、「It&#8217;s designed primarily for data-input, not data-display」という紹介があります。データの簡易入力は特徴の一つです。メインはデータの入力ですが、デモを見るとデータの表示もいい感じです。MITライセンスでリリースされているので、商用でも可能です。
足らないところは、説明のドキュメントは少なくて、コンポーネット中にバグもあるようです。３００行以上のデータの場合、表示のスピードもうまくなくなってます。まぁ、オープンソースですから、ソースをダウンロードして自分で完璧になりましょう。 ^^)
関連リンク
http://www.rogue-development.com/spreadsheet/　公式サイト
Related Posts

FluorineFx: Flexと.NET間でAMF通信できるライブラリ
Flexcover: Flex／AIR／AS3用のオープンソースのコードカバレッジ（テストのコード網羅チェック）ツール
オープンソースソフトウェアPHP ScrewでPHPスクリプトを暗号化する
オープンソースのASライブラリBetweenAS3のチュートリアル
FZip: ZIP読込み、作成用AS3のライブラリ
as3httpclient: オープンソースのHTTP/HTTPS AS3クライアント
７+ AS3で非同期処理のオープンソースのライブラリ一覧
as3soundeditorlib: オープンソースのActionScript 3サウンド編集ライブラリ

]]></description>
			<content:encoded><![CDATA[<p>「Flex-spreadsheet」とは、ExcelのようなスタイルのオープンソースのFlexスプレッドシートコンポーネットです。Flex自身のDataGridも少し似てるようです。</p>
<p>エクセルと同じような複雑の計算、マクロなど物は難しいですが、Flex-spreadsheetを使って実装すると、簡易的な計算まで行うことは簡単だと思います。有名な「Google <em>Spreadsheet</em>」見たいWebアプリケーションも最低画面上に表現できますね（ちょっと言いすぎけど）。</p>
<p><span id="more-461"></span>
<p>公式サイトでは、「It&#8217;s designed primarily for data-input, not data-display」という紹介があります。データの簡易入力は特徴の一つです。メインはデータの入力ですが、デモを見るとデータの表示もいい感じです。MITライセンスでリリースされているので、商用でも可能です。<a href="http://digitechlog.com/wp-content/uploads/2009/05/adlscreensnapz019.png"><img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="98" alt="adlScreenSnapz019" src="http://digitechlog.com/wp-content/uploads/2009/05/adlscreensnapz019-thumb.png" width="480" border="0"></a></p>
<p>足らないところは、説明のドキュメントは少なくて、コンポーネット中にバグもあるようです。３００行以上のデータの場合、表示のスピードもうまくなくなってます。まぁ、オープンソースですから、ソースをダウンロードして自分で完璧になりましょう。 ^^)</p>
<p><strong>関連リンク</strong></p>
<p><a title="http://www.rogue-development.com/spreadsheet/" href="http://www.rogue-development.com/spreadsheet/">http://www.rogue-development.com/spreadsheet/</a>　公式サイト</p>
<h3>Related Posts</h3>
<ul class="related_post">
<li><a href="http://digitechlog.com/2009/09/30/fluorine-flash-remoting-for-dot-net.html" title="FluorineFx: Flexと.NET間でAMF通信できるライブラリ">FluorineFx: Flexと.NET間でAMF通信できるライブラリ</a></li>
<li><a href="http://digitechlog.com/2009/01/20/flexcover-an-open-source-code-coverage-tool-for-flex-air-and-as3.html" title="Flexcover: Flex／AIR／AS3用のオープンソースのコードカバレッジ（テストのコード網羅チェック）ツール">Flexcover: Flex／AIR／AS3用のオープンソースのコードカバレッジ（テストのコード網羅チェック）ツール</a></li>
<li><a href="http://digitechlog.com/2011/11/08/php-screw.html" title="オープンソースソフトウェアPHP ScrewでPHPスクリプトを暗号化する">オープンソースソフトウェアPHP ScrewでPHPスクリプトを暗号化する</a></li>
<li><a href="http://digitechlog.com/2010/05/17/open-source-library-betweenas3-tutorials.html" title="オープンソースのASライブラリBetweenAS3のチュートリアル">オープンソースのASライブラリBetweenAS3のチュートリアル</a></li>
<li><a href="http://digitechlog.com/2010/04/19/fzip-actionscript-3-open-source-class-library.html" title="FZip: ZIP読込み、作成用AS3のライブラリ">FZip: ZIP読込み、作成用AS3のライブラリ</a></li>
<li><a href="http://digitechlog.com/2010/03/22/actionscript3-utils-classes-to-extend-http-https-flash-player-9.html" title="as3httpclient: オープンソースのHTTP/HTTPS AS3クライアント">as3httpclient: オープンソースのHTTP/HTTPS AS3クライアント</a></li>
<li><a href="http://digitechlog.com/2010/03/12/7-asynchronous-processing-open-source-actionscript-library.html" title="７+ AS3で非同期処理のオープンソースのライブラリ一覧">７+ AS3で非同期処理のオープンソースのライブラリ一覧</a></li>
<li><a href="http://digitechlog.com/2010/02/28/as3soundeditorlib-actionscript-3-library-for-sound-playback-spectrum-display-and-cue-point-display.html" title="as3soundeditorlib: オープンソースのActionScript 3サウンド編集ライブラリ">as3soundeditorlib: オープンソースのActionScript 3サウンド編集ライブラリ</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://digitechlog.com/2009/05/08/flex-spreadsheet-is-similar-to-the-flex-datagrid-open-source-componet.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

