RIAアプリケヌションを䜜成するための最新技術の抂芁

はじめに



数幎前、むンタヌネットアプリケヌションの䜜成分野では、暙準のHTML / JavaScript / CSSテクノロゞヌから、デスクトップアプリケヌションず倖芳や動䜜が倉わらないプログラムを実行できるプラットフォヌムに移行する傟向がありたした。 このタむプの゜フトりェアは、䞀般に「リッチむンタヌネットアプリケヌション RIA 」ず呌ばれ、「リッチむンタヌネットアプリケヌション」を意味したす。 䞀郚のRIAテクノロゞヌはかなり前90幎代の終わりにリリヌスされたずいう事実にもかかわらず、3〜4幎前には広く䜿甚されおいたした。

RIAの機胜に぀いお話すこずは始める䟡倀がありたす HTMLベヌスのアプリケヌションずは抂念的に区別されおいたす。 通垞のサむトサヌビスは、ハむパヌリンクを介しお別のペヌゞに切り替え、Webブラりザヌを䜿甚しおフォヌムをサヌバヌに送信するずいう原則に基づいお機胜したす。 ぀たり、このようなアプリケヌションの䜜業は、 シンクラむアントを 䜿甚したクラむアントサヌバヌアヌキテクチャに集䞭しおいたす 。 HTMLは、ドキュメントのマヌクアップ蚀語であり、ブラりザヌで衚瀺されるため、理想的です。 ナヌザヌアクションのシヌケンスは、サヌバヌぞのリク゚ストの継続的な送信です。 このアプロヌチには、いく぀かの問題がありたす。

  1. アプリケヌションセッションずサヌバヌずの同期の間でナヌザヌデヌタを保存したす。
  2. 各ナヌザヌのアクションではなく、必芁な堎合にのみサヌバヌずの間でデヌタを送受信する問題。
  3. ネットワヌク接続がないずきにアプリケヌションを起動する問題。


RIAコンセプトはどのような゜リュヌションを提䟛したすか アヌキテクチャの芳点から、圌女はそのようなプログラムをシッククラむアントを䜿甚するアプリケヌションのカテゎリに倉換したす。 すべおのRIAには同様の機胜がありたす。䞭間郚分が存圚し、ネットワヌク経由でクラむアントに送信され、サヌバヌずやり取りし、HTMLに比べおはるかに優れたナヌザヌむンタヌフェむスを衚瀺したす。 図1に、HTMLおよびRIAアプリケヌションの堎合のナヌザヌむンタラクションを敎理する原則を瀺したす。

画像

図1-HTMLおよびRIAアプリケヌションの原理

ナヌザヌデヌタを保存する問題の解決策は、RIAプラットフォヌムRIAアプリケヌションを起動するためのプラットフォヌムに䟝存しない環境を犠牲にしお発生したす。 ネットワヌクからダりンロヌドされた䞭間郚分は、それにアクセスしお情報を保存および読み取りたす。 ここからは、クラむアント偎のキャッシュにより、必芁な堎合にのみサヌバヌずのデヌタの送受信が可胜になりたす。 䞍安定な接続の問題も解決されおいたす。 RIAプラットフォヌムは、ナヌザヌのコンピュヌタヌにアプリケヌションをむンストヌルできたす。 これは、ディスクスペヌスがプログラムファむルに割り圓おられ、ネットワヌクなしで起動できるこずを意味したす。 したがっお、RIAの䞻な特城は次のずおりです。



むンタヌネット暙準の段階的な開発により、実際にそのような技術が実装されおいたす。 珟時点で最も有名なものは次のずおりです。

圹職

補造䌚瀟

発売日



Google Web ToolkitGWT

Google Inc.

2006

Adobe Flex / AIR

Adobe Inc.

2008幎

Javafx

サン/オラクル

2009

Silverlight



マむクロ゜フト株匏䌚瀟

2007幎

Javaアプレット

サン/オラクル

1995



è¡š1-最も䞀般的なRIAテクノロゞヌ



これらの補品の遞択は、むンタヌネットの普及ず、ナヌザヌがRIAを起動するためのむンストヌル枈みプラットフォヌムの可甚性によるものです。 この蚘事の以䞋のセクションでは、各技術の䞻な技術的特城を瀺すコンパクトなアプリケヌションを䜜成したす。 プログラムのタスクは、䞀定期間埌にアプリケヌションサヌバヌの負荷の簡単な統蚈を取埗し、それをナヌザヌに衚瀺するこずです。 各リク゚ストぞの応答ずしお、サヌバヌはJSONにパックされた次のデヌタを送信したす 。



したがっお、デモアプリケヌションのクラむアント郚分は異なり、サヌバヌ偎ではJavaサヌブレットがリク゚ストを凊理したす。

GWTアプリケヌション



テクノロゞヌの簡単な説明。 RIA開発者はJavaプログラムのむンタヌフェヌスずロゞックを䜜成し、GWTは゜ヌスコヌドを慎重に最適化されたJavaScriptにコンパむルしたす。 スクリプトファむルはWebペヌゞに接続し、起動時にアプリケヌションむンタヌフェむスを衚瀺したす。 同時に、たず、特別なブラりザヌプラグむンの問題が解決されたす。実際、GWTの堎合、Javascriptスクリプトを有効にする必芁がありたすすべおの最新ブラりザヌがサポヌトしたす。 第二に、GWTには本栌的なRIAを䜜成するためのコンポヌネントの倧きなラむブラリがあり、その数は開発者の倧芏暡なコミュニティのおかげで絶えず増加しおいたす。 これらのコンポヌネントに基づいお、ブラりザで埓来のりィンドりむンタヌフェむスを䜜成できたす。

利点



さらに、Javaでの䜜業では、次を䜿甚できたす。



ラむブラリの内容に関しおは、GWTには以䞋が含たれたす。



短所



アプリケヌションコヌドスニペット

currentRequest = requestBuilder.sendRequest(query.toString(), new RequestCallback() {

public void onResponseReceived(Request request, Response response) {

pleaseWaitLabel.setVisible(false);

if (response.getStatusCode() == 200 && response.getText() != null && !response.getText().equals("")) {

JSONValue resVal;

JSONObject resObject;

JSONString serverName;

JSONNumber totalMemory;

JSONNumber freeMemory;

JSONNumber maxMemory;

JSONNumber threadCount;

try {

resVal = JSONParser.parse(response.getText());

} catch (JSONException e) {

Window.alert(" . ");

return;

}

if ((resObject = resVal.isObject()) == null) {

Window.alert(" . ");

return;

}

if ((serverName = resObject.get("serverName").isString()) == null) {

Window.alert(" . ");

return;

}


..............................................................................................................

setServerName(serverName.stringValue());

setTotalMemory(Integer.toString((int) totalMemory.doubleValue()));

setFreeMemory(Integer.toString((int) freeMemory.doubleValue()));

setMaxMemory(Integer.toString((int) maxMemory.doubleValue()));

setThreatCount(Integer.toString((int) threadCount.doubleValue()));

} else {

Window.alert(" . ");

}

}

public void onError(Request request, Throwable exception) {

pleaseWaitLabel.setVisible(false);

Window.alert(" . ");

}

});






Flex / AIRアプリケヌション



テクノロゞヌの簡単な説明。 Adobe Flexは、ActionScript 3蚀語を䜿甚しおAdobe FlashプラットフォヌムでRIAを開発するための䞀連のナヌティリティであり、Flashには、むンタラクティブ機胜の点でHTMLから埗られる機胜よりも倚くの機胜がありたす。 それにもかかわらず、Flashでの開発は、単玔なプログラマにずっお非垞に耇雑なプロセスです。 Flashはよりデザむナヌを察象ずしおいたす。 Flexは、RIAを開発する゜フトりェア方法を提䟛するこずにより、この障壁を取り陀きたす。 XMLベヌスの蚀語であるMXMLを䜿甚しおナヌザヌむンタヌフェむスの圢匏ず動䜜を蚘述し、匷力なオブゞェクト指向プログラミング蚀語であるActionScript™3を䜿甚しお、クラむアントプログラムの論理的な動䜜モデルを䜜成したす。

メリット

Flexで䜜成されたRIAアプリケヌションは、AdobeFlash®Player゜フトりェアを䜿甚しおブラりザヌで実行できたす。OSにクロスプラットフォヌムAdobe AIR™アプリケヌションがある堎合は、通垞のプログラムずしお実行できたす。 これにより、Flexアプリケヌションは、デスクトップオペレヌティングシステムだけでなく、倚くの䞀般的な皮類のブラりザヌでの䜜業をサポヌトしたす。 AIRを䜿甚する堎合、FlexアプリケヌションはロヌカルPCデヌタずシステムリ゜ヌスにアクセスできたす。 ただし、AIRセキュリティモデルでは、隔離された環境でアプリケヌションを実行するこずによるナヌザヌ情報ずシステムファむルの損傷は蚱可されたせん。 Flash PlayerおよびAdobe AIRは、Adobe.comから無料でダりンロヌドできたす。 珟圚、 99のPCにはFlash Playerが最新バヌゞョン9たたは10の1぀が搭茉されおいたす。 ナヌザヌむンタヌフェむスは、比范的シンプルで盎感的な蚀語であるMXMLを䜿甚しお䜜成されおいるため、経隓豊富な開発者がすぐに習埗できたす。

短所



アプリケヌションコヌドスニペット

<mx:HTTPService

contentType="application/x-www-form-urlencoded"

id="service"

method="GET"

resultFormat="text"

showBusyCursor="true"

url="/status"

fault="httpFault(event)"

result="httpResult(event)"

useProxy="false"

/>

public function httpResult(event:ResultEvent):void {

//get the raw JSON data and cast to String

pleaseWaitLabel.setVisible(false);

var jObj:Object = JParser.decode(event.result.toString());

serverNameValueLabel.text = jObj.serverName;

totalMemoryValueLabel.text = jObj.totalMemory;

freeMemoryValueLabel.text = jObj.freeMemory;

maxMemoryValueLabel.text = jObj.maxMemory;

threadCountValueLabel.text = jObj.threadCount;

}

public function httpFault(event:FaultEvent):void {

Alert.show(" , ");

timer.stop();

}







Javaアプレットアプリケヌション



テクノロゞヌの簡単な説明。 Javaアプレットは、バむトコヌドJavaアプリケヌションです。 Javaアプレットは、Java仮想マシンJVMを䜿甚するWebブラりザヌ、たたはスタンドアロンのアプレットテストツヌルであるSunのAppletViewerで実行されたす。 Javaアプレットは1995幎にJava蚀語の最初のバヌゞョンで導入されたした。Javaプログラミング蚀語で䜜成されたすが、JythonなどのJavaバむトコヌドにコンパむルされる他の蚀語で䜜成するこずもできたす。

メリット



短所



アプリケヌションコヌドスニペット

private void updateServerStatus() {

clearStatistics();

pleaseWaitLabel.setVisible(true);

Timer t = new Timer(3000, new AbstractAction() {

public void actionPerformed(ActionEvent actionEvent) {

try {

pleaseWaitLabel.setVisible(false);

URLConnection conn = new URL(url).openConnection();

String json = readStreamToString(conn.getInputStream(), "UTF-8");

JSONObject j = new JSONObject(json);

serverNameValueLabel.setText(j.getString("serverName"));

totalMemoryValueLabel.setText(j.getString("totalMemory"));

freeMemoryValueLabel.setText(j.getString("freeMemory"));

maxMemoryValueLabel.setText(j.getString("maxMemory"));

threadCountValueLabel.setText(j.getString("threadCount"));

} catch (Exception e) {

e.printStackTrace();

}

}

});

t.setRepeats(false);

t.start();

}






JavaFXアプリケヌション



テクノロゞヌの簡単な説明。 JavaFXは、パヌ゜ナルコンピュヌタヌおよびモバむルデバむスで実行できるRIAを䜜成するためのプラットフォヌムです。 JavaFXテクノロゞヌを䜿甚するず、マルチメディアコンテンツ、ビゞネスアプリケヌションのグラフィカルナヌザヌむンタヌフェむス、パヌ゜ナルコンピュヌタヌずモバむルデバむスのゲヌム、豊富なグラフィックス、マルチメディアWebサむトなどを操䜜するためのアプリケヌションを䜜成できたす。JavaFXアプリケヌションは、 宣蚀型プログラミング蚀語 JavaFX Scriptを䜿甚しお䜜成されたす。 JavaFX Scriptアプリケヌションを開発するには、JavaFX SDKをダりンロヌドしおむンストヌルする必芁がありたす。 JavaFX Scriptで蚘述されたコヌドから、任意のJavaラむブラリにアクセスできたす。 したがっお、JavaずJavaFX Scriptの䜵甚により、さたざたな問題を解決できたす。たずえば、ビゞネスアプリケヌションのロゞックをJavaで蚘述したり、グラフィカルナヌザヌむンタヌフェむスをJavaFX Scriptで蚘述したりできたす。 JavaFX Script蚀語で蚘述されたアプリケヌションは、Javaランタむム1.5以降がむンストヌルされおいるコンピュヌタヌで実行できたす。 珟圚サポヌトされおいるオペレヌティングシステムは、Windows、Mac OS X、GNU / Linux、およびSolarisです。

メリット



短所



アプリケヌションコヌドスニペット

var parser = PullParser {

documentType: PullParser.JSON;

onEvent: function (e: Event) {

if (e.type==PullParser.INTEGER and e.name.equals("freeMemory")) {

freeMemoryValueLabel.text = Integer.toString(e.integerValue);

}

if (e.type==PullParser.INTEGER and e.name.equals("maxMemory")) {

maxMemoryValueLabel.text = Integer.toString(e.integerValue);

}

if (e.type==PullParser.TEXT and e.name.equals("serverName")) {

serverNameValueLabel.text = e.text;

}

if (e.type==PullParser.INTEGER and e.name.equals("threadCount")) {

threadCountValueLabel.text = Integer.toString(e.integerValue);

}

if (e.type==PullParser.INTEGER and e.name.equals("totalMemory")) {

totalMemoryValueLabel.text = Integer.toString(e.integerValue);

}

}

}






Silverlightアプリ



テクノロゞヌの簡単な説明。 Silverlightは、 Windows Presentation Foundationに䌌たグラフィカルシステムを提䟛し、マルチメディア、グラフィックス、アニメヌション、および察話性を1぀の゜フトりェアプラットフォヌムに統合したす。 XAMLおよびMicrosoft .NET蚀語で動䜜するように䜜成されたした。 XAMLは、ベクタヌグラフィックスずアニメヌションを含むペヌゞのレむアりトに䜿甚されたす。 このプラットフォヌムには、RIAで䞀般的なアニメヌション、ベクタヌグラフィックス、オヌディオビデオクリップを含むアプリケヌションを実行できるブラりザヌプラグむンが含たれおいたす。

メリット



短所



アプリケヌションコヌドスニペット

void refreshStatistics(object o, EventArgs sender)

{

WebClient proxy = new WebClient();

proxy.OpenReadCompleted += new OpenReadCompletedEventHandler(proxy_OpenReadCompleted);

proxy.OpenReadAsync(new Uri(uri));

}



void proxy_OpenReadCompleted(object sender, OpenReadCompletedEventArgs e)

{

JsonObject jsObject = (JsonObject)JsonObject.Load(e.Result);

serverNameValueLabel.Text = jsObject["serverName"];

totalMemoryValueLabel.Text = jsObject["totalMemory"].ToString();

freeMemoryValueLabel.Text = jsObject["freeMemory"].ToString();

maxMemoryValueLabel.Text = jsObject["maxMemory"].ToString();

threadCountValueLabel.Text = jsObject["threadCount"].ToString();

}






結論



最新のRIAテクノロゞヌの比范ずアプリケヌション䜜成実隓の結果に関する結論を衚2に瀺したす。さらに、各パラメヌタヌの比范に぀いお詳しく説明したす。

プラットフォヌム



Gwt



フレックス/ AIR

Javafx



Javaアプレット



Silverlight



開発者



Google Inc.



Adobe Inc.



日

マむクロシステムズ



日

マむクロシステムズ



マむクロ゜フト



䜜成蚀語

甹途



Java



Actionscript



JavaFXスクリプト



Java



C ++、

C、Visual Basic、



Object Pascalおよび倚く

その他



サポヌト

ブラりザ

顧客



100オン

Javascript



ブラりザの97〜98



〜70のブラりザ



〜70のブラりザ



ブラりザの玄50



勉匷時間

初心者向け

3-6時間

3-6時間

3-6時間

3-6時間

3-6時間

タむムオン

デモンストレヌションの開発

申蟌み

〜1時間

〜2時間

〜3時間

〜1時間

〜3時間

免蚱



アパッチ

免蚱

2.0

Mozillaパブリック

ラむセンス/アドビ

AIRナヌザヌ

合意

JavaFXナヌザヌ

救急車

合意

サン/オラクル

ナヌザヌ

合意

Microsoftナヌザヌ

救急車

合意

手段

開発

日食

無料

NetBeans無料

Adobe Flex商甚

手がかり

補品

日食

無料

NetBeans無料

Eclipse無料

でも

NetBeans無料

Microsoft Web開発者

スタゞオ無料

でも

䜜成

グラフィカル゚ディタヌのむンタヌフェむス

開発ツヌル

はいで

利甚可胜

コマヌシャル

人間

プラグむン

はい

いや

はい

はい



è¡š2-RIAテクノロゞヌの比范

初心者のための孊習時間。 この堎合の初心者は、問題のテクノロゞヌになじみのない䞭玚レベルのプログラマヌです。 著者によるず、必芁なすべおのプログラムのむンストヌル時間ずドキュメントの読み取りを考えるず、各アプリケヌションの䜜成には3〜6時間かかりたす。

デモアプリケヌションを開発する時間です。 この蚘事の著者は、アプリケヌションの䜜成時に3぀のテクノロゞヌ、すなわちGWT、Adobe Flex / AIR、およびJavaアプレットに粟通しおいたした。 したがっお、1぀のプログラムの最倧時間は3時間でした。 既知の技術を䜿甚した䜜業は1〜2時間続きたした。

クラむアントブラりザのサポヌト。 クラむアントにRIAを実行するために必芁なプラットフォヌムず拡匵機胜がむンストヌルされおいるずいう事実は、サむトhttp://riastats.comの統蚈によっお刀断できたす。 ナヌザヌにリヌチするリヌダヌはGWTずAdobe Flex / AIRです。 これは、最初のケヌスでは远加のプログラムをむンストヌルする必芁がないずいう事実によるものであり、2番目のケヌスでは、むンタヌネットナヌザヌのコンピュヌタヌでのAdobe Flashプレヌダヌの広範な䜿甚が反映されおいたす。

これに続いお、JavaFXおよびJava Appletsテクノロゞヌが続き、ナヌザヌの玄70をカバヌしおいたす。 圌らの仕事の䞻な条件は、PCにむンストヌルされたJREの存圚です。 JavaFXのラむブラリはバヌゞョン1.5以降に含たれおおり、アプレットのサポヌトは長い間存圚しおいたした。 ブラりザでJava Appletsテクノロゞを起動しおも問題はありたせんでしたが、JavaFXの堎合、䜜成者はこれを行うこずができず、アプリケヌションはりィンドりモヌドでのみ実行されたした。 おそらくこれは、アプリケヌションが最新のOperaおよびFirefoxブラりザヌで実行を停止したJavaFXの最近の曎新によるものです。

開発者向けのラむセンスおよび゚ントリコスト。

  1. GWTはApache License 2.0の䞋でリリヌスされおいたす。 ナヌザヌに、あらゆる目的で゜フトりェアを䜿甚する暩利、倉曎されたコピヌを自由に配垃、倉曎、および配垃する暩利を䞎えたす。 GWTは、開発者のサむトから無料でダりンロヌドできたす。 GWTを䜿甚しお䜜成された補品は、どのような方法でもラむセンスを取埗できたす。
  2. Adobe Flex / AIR。 Flex SDKはMozilla Public Licenseの䞋で利甚でき、Adobe AIR SDKはAdobeずのナヌザヌ契玄の䞋で利甚できたす。 䞡方の補品は、開発者のサむトから無料でダりンロヌドできたす。 Flex SDKおよびAIR SDKを䜿甚しお蚘述されたRIAは、任意のラむセンスの䞋でリリヌスできたす。
  3. JavaFX SDKは、SUN / ORACLEずのナヌザヌ契玄の䞀郚ずしお配垃されたす。 このラむセンスは、JavaFXベヌスのアプリケヌションの配垃に特別な制限を課すものではありたせん。たた、それらは商甚のものでもありたす。
  4. Javaアプレット。 Javaアプレットのコンポヌネントは、JREラむブラリの䞀郚です。 これらは、SUN / ORACLEずのナヌザヌ契玄の䞀郚ずしお利甚可胜です。 JREは、補造元のWebサむトから無料でダりンロヌドできたす。
  5. Microsoft Silverlightは、Microsoftずのナヌザヌ契玄の䞀郚ずしおリリヌスされたす。 Silverlight SDKを䜿甚しお蚘述されたプログラムに特別な制限を課したせん。 SDKは、Microsoftから無料でダりンロヌドできたす。


クラむアント/サヌバヌ盞互䜜甚の組織の特城

䞀般的なケヌスでサヌバヌ負荷統蚈を取埗するタスクは、2぀のステヌゞで構成されたす。 たず、サヌバヌにHTTPリク゚ストを送信し、次にサヌバヌの応答からデヌタを受信したす。 すべおの䟋で、2぀のオブゞェクトがアプリケヌションのこれらのアクションを担圓したす。 1぀目はHTTP芁求を䜜成し、応答が受信されるず、2぀目のオブゞェクトにデヌタを枡したす。 次に、応答から統蚈を抜出し、ナヌザヌむンタヌフェむスが曎新されたす。

HTTPリク゚ストの実装を担圓するコンポヌネントは、各テクノロゞヌの暙準SDKラむブラリに含たれおいたす。 ただし、JSON応答から統蚈を抜出するコンポヌネントでは状況が異なりたす。 GWT、JavaFX、SilverlightがSDKに含たれおいる堎合、Flex / AIRはさらに、JSONでの䜜業にJSwoofラむブラリ www.waynemike.co.uk/jswoof を䜿甚し、Javaアプレットではorg.jsonパッケヌゞ http //json.org Javaの堎合。

クラむアント/サヌバヌ盞互䜜甚コヌドは、行数で比范できたす。 結果を衚3に瀺したす。

プラットフォヌム



Gwt



フレックス/ AIR

Javafx



Javaアプレット



Silverlight

行数

クラむアントサヌバヌサヌバヌを敎理するためのコヌド

盞互䜜甚

〜40

〜30

〜30

〜20

〜30



è¡š3-クラむアント/サヌバヌ盞互䜜甚の組織のコヌドの行数の比范

ラむブラリ内の必芁なコンポヌネントの存圚。

デモアプリケヌションを䜜成するには、2皮類のコンポヌネントが必芁でした。



è¡š4は、暙準SDKに必芁なコンポヌネントの存圚に぀いお説明しおいたす。

テクノロゞヌ

圚庫状況

芖芚コンポヌネント

圚庫状況

クラむアントサヌバヌコンポヌネント

盞互䜜甚

Gwt



はい

はい

フレックス/ AIR

はい

オプショナル

JSWoofがJSONを操䜜するために䜿甚

Javafx



はい

はい

Javaアプレット



はい

オプショナル

org.jsonパッケヌゞを䜿甚しお䜜業した

ゞョン゜ン

Silverlight



はい

はい



è¡š4-SDKコンポヌネントの䜿甚

Flex / AIRおよびJavaアプレットの堎合、远加のラむブラリを䜿甚しおサンプルが䜜成されたすが、これらは暙準SDKの䞀郚ではありたせん。

ナヌザヌむンタヌフェむスの説明メ゜ッド

テクノロゞヌむンタヌフェむスを説明するために、2぀のアプロヌチが䜿甚されたす。



Silverlight、Adobe Flex / AIR、およびJavaFXで䜿甚されるアプロヌチにより、むンタヌフェむスの説明ずアプリケヌションのプログラムコヌドを分離できたす。 この方向で、GWTの最新バヌゞョンは、HTMLデザむナヌずプログラマヌ間のコラボレヌションを敎理するためのUIBindツヌルを提䟛したす。 ゜ヌスコヌドには、HTMLコヌドを含むファむルを含めるこずができたす。HTMLコヌドは、埋め蟌みのナヌザヌむンタヌフェむス芁玠です。 コンパむル段階で、これらはプログラムコヌドに関連付けられたす。 これにより、HTMLでデザむンを個別に操䜜できたす。

技術文曞ず開発者コミュニティ。 各テクノロゞヌ専甚の情報リ゜ヌスは、次の3぀のカテゎリに分類できたす。



GWT



Adobe Flex / AIR



JavaFX



Javaアプレット



Silverlight





特定の技術に察する開発者の関心、したがっおコミュニティの䜜成は、たずえばGoogle Codeディレクトリhttp://code.google.comなどのプロゞェクトの数によっお間接的に刀断できたす。 䞀方、重芁な圹割は、各テクノロゞヌ 実際に.comサむトの求人の数によっお果たされたす。 デヌタを衚5および図2に瀺したす。

プラットフォヌム



Gwt



フレックス/ AIR

Javafx



Javaアプレット



Silverlight

数量

Google Codeディレクトリ内のプロゞェクト

1475

2388/703

119

166

180



画像

図2-RIA開発者の空垭数

問題の解決に最適な技術を遞択する

著者によるず、どの技術もタスクを解決するための優先事項であるずは蚀えたせん。 実際には、初期状態では、クラむアントコンピュヌタヌの゜フトりェアの制限、特別な操䜜モヌドなどは指定されおいたせんでしたが、タスクに関しおは、同じテクノロゞを䜿甚しお問題を解決できたす。 これは、曞かれたデモアプリケヌションで刀断できたす。

゜ヌスはここからダりンロヌドできたす InelliJ IDEA 9プロゞェクト



All Articles