• 検索結果がありません。

Flash Remoting

ドキュメント内 Flash Platform のパフォーマンスの最適化 (ページ 81-84)

クライアントとサーバーの最適化されたデータ通信のためには、

Flash Remoting

および

AMF

を使用します。

リモートコンテンツを

SWF

ファイルにロードするのに

XML

を使用することができます。ただし、

XML

はランタイムが ロードおよび解析するプレーンテキストです。

XML

は限られた量のコンテンツをロードするアプリケーションに適してい ます。大容量のコンテンツをロードするアプリケーションを開発している場合は、

Flash Remoting

テクノロジーと

Action Message Format

AMF

)の使用を検討してください。

AMF

は、サーバーとランタイム間でのデータ共有に使用されるバイナリ形式です。

AMF

を使用すると、データのサイズを 縮小して、転送速度を改善できます。

AMF

はランタイムのネイティブフォーマットなので、

AMF

データをランタイムに送 信すると、メモリを集中的に使用するシリアル化および非シリアル化をクライアント側で避けることができます。これらの タスクはリモートゲートウェイが処理します。

ActionScript

データタイプをサーバーに送信すると、リモートゲートウェイ がシリアライゼーションをサーバーサイドで処理します。また、ゲートウェイは対応するデータタイプをユーザーに送信し ます。このデータタイプはサーバー上で作成されたクラスです。ランタイムから呼び出すことのできる一連のメソッドが公

78

FLASH PLATFORM

のパフォーマンスの最適化

ネットワーク通信の最適化

次の図は、

Flash Remoting

の概念図です。

Flash Remoting

次の例では、

NetConnection

クラスを使用して

Flash Remoting

ゲートウェイに接続します。

// Create the NetConnection object

var connection:NetConnection = new NetConnection ();

// Connect to a Flash Remoting gateway

connection.connect ("http://www.yourserver.com/remotingservice/gateway.php");

// Asynchronous handlers for incoming data and errors function success ( incomingData:* ):void

{

trace( incomingData );

}

function error ( error:* ):void {

trace( "Error occured" );

}

// Create an object that handles the mapping to success and error handlers var serverResult:Responder = new Responder (success, error);

// Call the remote method

connection.call ("org.yourserver.HelloWorld.sayHello", serverResult, "Hello there ?");

リモートゲートウェイへの接続は簡単です。

Adobe® Flex® SDK

に含まれている

RemoteObject

クラスを使用すれば、

Flash Remoting

をさらに簡単にできます。

注意:

Adobe® Flash® Professional

プロジェクト内では、外部の

SWC

ファイル(

Flex

フレームワークのファイルなど)を

使用できます。

SWC

ファイルを使用すれば、

RemoteObject

クラスとその依存クラスを使用できます。他の

Flex SDK

必要ありません。上級開発者は、必要に応じて、未加工型の

Socket

クラス経由でリモートゲートウェイと直接通信できま す。

不要なネットワーク操作

アセットが必要になるたびにネットワークからロードするのではなく、ロードしたアセットをローカルにキャッシュし ておきます。

アプリケーションでメディアまたはデータなどのアセットをロードする場合、ローカルデバイスに保存することでアセット をキャッシュします。変更頻度が低いアセットの場合、変更の間にキャッシュを更新する方法があります。例えば、

1

日に

1

度、イメージファイルの新しいバージョンをチェックする場合や、

2

時間に

1

度、更新データをチェックする場合です。

アセットのキャッシュ方法はいくつかあり、アセットの種類と特性によって異なります。

イメージやビデオなどのメディアアセット:

File

クラスおよび

FileStream

クラスを使用してファイルシステムにファイ ルを保存します。

HTTP

ZendAMF Web ORB RubyAMF FluorineFX BlazeDS AMF

サービス

PHP クラス、

JavaC#...

79

FLASH PLATFORM

のパフォーマンスの最適化

ネットワーク通信の最適化

個々のデータ値または小さなデータセット:

SharedObject

クラスを使用してローカルの共有オブジェクトとして値を保 存します。

大きなデータセット:ローカルデータベースにデータを保存するか、データをシリアル化してファイルに保存します。

データ値のキャッシュについては、オープンソースの

AS3CoreLib

プロジェクトを参照してください。ロードとキャッシュ を行う

ResourceCache

クラスが含まれています。

80

7 章: メディアの操作

ビデオ

モバイルデバイス上のビデオパフォーマンスの最適化について詳しくは、

Adobe Developer Connection Web

サイトの

Optimize web content for mobile delivery

」を参照してください。

特に、次の節を参照してください。

Playing video on mobile devices

Code samples

これらの節には、モバイルデバイス用のビデオプレーヤーの開発に関して、次のような情報が記載されています。

ビデオエンコーディングのガイドライン

ベストプラクティス

ビデオプレーヤーのパフォーマンスのプロファイル設定方法

ビデオプレーヤー実装のリファレンス

ドキュメント内 Flash Platform のパフォーマンスの最適化 (ページ 81-84)

関連したドキュメント