26

リッチ Web アプリケーションの世界に慣れようとしています。ウィキペディアには利用可能なテクノロジの比較表がいくつかありますが、リッチ アプリケーション開発のオプションが何であるかはまだ不明です。

以下で収集した情報を確認し、記入していただけますか? 各オプションの主な長所と短所は何ですか? 大規模で非常にリッチな Web アプリケーションに最適な選択肢はどれですか?

オプション 1: ASP.NET/ASP.NET MVC
ベンダー: Microsoft
環境: Visual Studio
言語: C#
出力: HTML+JavaScript+AJAX
例: www.stackoverflow.com

オプション 2: Silverlight
ベンダー: Microsoft
環境: Visual Studio
言語: C#
出力: .NET 実行可能ファイル?
例: ?

オプション 3: Google Web ツールキット
ベンダー: Google
環境: Eclipse
言語: Java
出力: HTML+JavaScript+AJAX
例: http://www.projectkaiser.com:8080/pk/

オプション 4: Flex
ベンダー: Adob​​e
環境: ?
言語: ?
出力: Flash (.swf ファイル)
例: http://listen.grooveshark.com/

オプション 5: Adob​​e AIR
ベンダー: Adob​​e
環境: ?
言語: ?
出力:AIR
例: http: //www.colabolo.com/en/download.html

オプション 5: Ruby on Rails
ベンダー: Rails コア チーム
環境: ?
言語: Ruby
出力: HTML+JavaScript+AJAX?
例: ?

オプション 6: Java アプレット
ベンダー: Sun
環境: Eclipse
言語: Java
出力: Java アプレット

オプション 7: OpenLeszlo
ベンダー: ?
環境: ?
言語: ?
出力: ?
例: ?

オプション 8: Vexi
ベンダー: Vexi コア チーム
環境: Eclipse
言語: XML + JavaScript
出力: Java例: http://vexi.sourceforge.net/
のデモ

オプション 9: Django
ベンダー: Django コア チーム
環境: ?
言語: Python
出力: HTML + JavaScript + AJAX
例: ?

オプション 10: XUL
???

4

8 に答える 8

24

あなたはそれをすべて混ぜ合わせました。ここには、アプリを「リッチ」にするユーザーインターフェースと、サーバー側のコードの2つのレイヤーがあります。

UI:

Silverlight
は.NETプラットフォームで最適に動作します。Java、Ruby on Rails、PHPなどと一緒に参加することは考えていません。
ツールは商用です。

Flash / Flex(Flashプラットフォーム)
私のお気に入りで、リストの中で最も成熟したものだと思います(Flex / Java開発者として働いている私は主観的な意見です)。単純なHttpサービスを使用してすべてのサーバー側テクノロジーで動作します。WebServiceはAMFサービス(効率的なバイナリプロトコル)による統合が最適です。統合はさまざまなレベルにあります。基本的なリモート呼び出し(90%のプロジェクトには十分です)は、すべてのプラットフォーム(.NET、Java EE、PHP、RoR)で利用できます。ただし、Java EE用の高レベルの相互作用(データ同期、データプッシュ、クライアントサーバーイベント、さらにはクライアントサーバー依存関係の挿入)用のライブラリがあります:Adobe Livecycle Data Services(商用)またはGraniteDS and Tide Framework(無料、JBossで動作)シーム)。

Flex SDK(コンパイラとlib)は無料ですが、FlexBuilderは商用です。

OpenLaszlo2
つのオプションがあります。OpenLaszloサーバーでのフラッシュまたはhtml+javascriptへのライブ「コンパイル」、またはフラッシュしてhttpサーバーにアップロードするための開発時のコンパイルです。ほとんどのサーバー側テクノロジーと統合します。アイデアはフレックスに似ていますが、最初でした。

SDKは無料で、IDEはかなり貧弱です。

JavaFX / Javaアプレット
それはかなり実験的で、グラフィカルツールとIDEは貧弱です。アイデアは、宣言的に(XMLではなく)swingインターフェースをコード化し、それをアプレットとして実行することです。idには本番ステータスがないと思います。

Flash / FlexおよびSilverlightは、マルチメディア(ビデオ/オーディオストリーミング、Webカメラ、マイクなどの使用)を使用してリッチなユーザーエクスペリエンスインターフェイスを作成するための最先端のツールを提供します。

Adobe AIR
AIRは、Adobe Integrated Runtimeの略で、デスクトップ上でFlexまたはHTML + Javascriptアプリケーションを実行できます(java仮想マシン+ WebStartと同様に機能します)。フレックスアプリケーションの場合、リモートシステムとの統合は上記と同じです。AIRアプリケーションは、他のアプリと同じようにクライアントマシンにインストールされ、実行されます。ファイルシステムにもアクセスできます。AIRはWindows、Mac、Linux / BSDでも動作します(私は思います)。

サーバ側:

Java
それは:Java EE 5(現在はJava EE 6)、またはアプリケーションコンテナのない単純なWebアプリケーションです。Google Web Toolkit、JBoss RichFaces、IceFaces、その他の商用コンテンツなど、JavaScriptベースのリッチUIを使用できます。

統合フレームワークを備えたFlexインターフェイスとの統合-AdobeLiveCycle...(商用)、BlazeDS(シンプル、無料)、GraniteDS + Tide + Gravity(高度、無料)、WebOrbなどここでアプリケーションフレームワークを使用できます:Spring(2または3)、JBossSeamとたくさん...

.NET
私はここの専門家ではありません。JSリッチインターフェイスの機会を提供します。SilverlightおよびFlex(WebOrb、.NET、およびAMF)と統合します。

そこには他にもたくさんの技術があります。それらのいくつかは独自のリッチUIを持っていますが、そうでないものもあります。それらのほとんどはFlexと統合されています

Pradoアプリケーションフレームワークを備えたPHP
リッチUI。より単純なPHPフレームワークがいくつかあります(googleに聞いてください)。AmfPHP、WebOrb、SabreAMFとのFlex統合

RubyonRails
言語+サーバー+アプリフレームワーク。Flexと統合できます

Python
いくつかのアプリフレームワークがあります:Django、Pylons...Flexと統合できます

Scala + Lift
Liftは、scalaで記述されたアプリフレームワークです。Javaサーバーで実行されます。

Coldfusion
アドビのテクノロジー。言語はCFMLです。Adobe Coldfusionサーバーで実行されますが、tereはJBossから無料のRailoです。Flexと統合します。

于 2010-01-13T09:22:07.193 に答える
2

私の5セント

ASP.NET - 忘れてください。時代遅れの過去のミレニアム技術。

Silverlight の長所- 非常に強力な商用ライブラリが利用可能です。「すごい」効果が必須である場合は、サードパーティのソフトウェアを購入するためにいくらかのお金を費やす必要がありますが、それはあなたの選択です.

例えば見て

シリウス2。インターソフト . コム

デモ。テレリック。com / Silverlight / salesdashboard /

Silverlight の短所: ブラウザーには Silverlight プラグインがインストールされている必要があります。このプラグインは、新しい Silverlight バージョンがリリースされてソフトウェアで使用されるときに、時々アップグレードする必要があります。このプラグインのアップグレードで問題が発生することがあります。また、このプラグインが *nux オペレーティング システムで完全に利用できるかどうかもわかりません。そのため、Windows に固執する可能性があります。

GWT の長所: プラグインは必要ありません。Java を使用して開発すると、Java は純粋な JavaScript にコンパイルされます。効果的なアプリケーションを構築するための私のお気に入りのツールhttp://www.projectkaiser.com

GWT の短所: 貧弱な GUI ライブラリ (商用ライブラリについて話しても)

Java アプレット。ピボットを見ることができます。アパッチ。組織

したがって、「大規模で非常にリッチな Web アプリケーションに最適な選択肢はどれか」に対する私の答えは、Silverlight です。ただし、短所に注意してください!

于 2010-02-10T08:41:26.670 に答える
2

私はまた、どのテクノロジーを使用するかを検討しています。

Appcelerator Titanium - HTML5/CSS/JS などの Web テクノロジーを使用したデスクトップおよびモバイル プラットフォーム向けの開発と、PHP/Python を含むデスクトップ プラットフォーム向けの開発を可能にします

それもまだ評価中

また、RIA (AIR、Silverlight、Titanium) とネイティブ Web アプリケーション (PHP、ASP.NET MVC) の比較も検討しています。RIA は、ファイル システムと対話できるという意味で強力であり、ローカルに存在するため、一般的に高速です。Web アプリケーションはファイル システムと対話できず、一般的に遅く、より多くの遅延が伴います。しかし、それらはウェブ上に存在するため、どこからでもアクセスできます。

私は実際には、HTML5/CSS3/JS/PHP/Python などのオープン Web テクノロジで解決したかったのですが、.NET プラットフォームを真剣に検討しています。C#/F#/WPF/Entity Framework/Silverlight と、Windows 7 オーバーレイ アイコン、進行状況バー、ジャンプ リストの機能は、多くの可能性を示しています。また、1 つのフレームワークで Web アプリケーションとデスクトップ アプリケーションの両方にいくつかの言語を使用できることは、RIA であっても大きな魅力です。私はまた、多くのビデオを見てきましたが、MS は品質などを推奨しています。最初は学ぶのが難しいかもしれませんが、それだけの価値があると思います。マイナス面は、多くの人が私でさえそのソースがクローズドであると言うでしょう. ツールは一般的に高価です

于 2010-03-14T13:28:50.450 に答える
2

クライアント上で豊富なインタラクティブ機能を備えた Web アプリケーションを構築することについて話している場合、3 つの主流のオプションがあります。

  1. Flash ベース - ただし、アプリは iPad では実行されません。
  2. Silverlight - 必要なプラグインは Flash ほど広く採用されていません。Microsoft でさえ、最近 Web アプリでこれを非推奨にしています。
  3. HTML - Web 2.0 は、ネイティブの HTML + JavaScript を使用して Web ブラウザーでリッチなアプリケーションを構築することがすべてでした。

私の考えでは、HTML は最も興味深いプラットフォームです。最も活動が活発で、ブラウザー間で急速に標準化されつつあります。HTML5 では、ローカル ストレージやバックグラウンド処理などの機能のサポートが追加されています。Google Chrome には 3D グラフィックス ライブラリ (WebGL) も含まれるようになりました。Firefox は間もなく登場します。

私があなただったら、HTML(5) スタック (HTML、CSS、CSS3、HTML5、jQuery) の学習に集中し、backbone.js、jQuery モバイル、JQTouch、angular.js などのオープン ソース フレームワークを調べます。私は GitHub でこれらのプロジェクトの多くをフォローしています - より大きなリストはここで見ることができます:

https://github.com/mckoss/following

リッチ Web アプリをサポートするには、何らかのサーバー側インフラストラクチャが必要になる可能性があります。Ruby on Rails はおそらく最も人気のあるフレームワークであり、非常に簡単に始めることができます。Heroku は、非常に簡単かつスケーラブルな方法でアプリをホストできます。

すでに多くの Java コードを持っている場合 (私は Java ファンではありません)、Google の GWT は純粋な Java でアプリを構築するための非常に優れたフレームワークであり、クライアント側のビットを JavaScript にクロスコンパイルします。

個人的には、サーバー側の Python が好きです。Google App Engine は、スケーラブルでプログラミングが簡単な非常に優れたオプションを提供します (重要なアプリケーションには、Google App Engine で Django フレームワークを使用するのが最適なオプションです)。

そして、私が取り組んできたことで何か新しいことを提案するとしたら、Pageforest.com は純粋な JavaScript Web アプリ プラットフォームを提供します。すべてのコードをクライアント側の JavaScript で記述し、AJAX/REST を使用してユーザーをサインインさせ、データを Pageforest サーバーに保存します (このサービスはオープンで、開発者は無料です)。

幸運を!

于 2011-02-07T18:37:17.917 に答える
1

私は Peter Gwiazda に完全に同意するので、彼がすべてをカバーしているので、そのセクションについてはこれ以上何も言えません。私が追加したいのは、他のいくつかの仕様です。まず、それで何を達成したいのかを頭の中で明確にします。開発したいアプリは何ですか?また、そのアプリを実行するOSを検索します。次に、アプリを開発する言語/フレームワークの種類を決定します。目標を明確にし、(私の意見では要求に基づいて) 開発するのに適したフレームワークを分析してから、行って学習してください。一度にすべてを学ぶことはできません!すべての言語/プラットフォームには長所と短所があるため、自分に合ったものを決定してください!

于 2012-07-25T21:57:16.480 に答える
0

Python の人向けのオプション:

Pajamas (Google Web Toolkit) - Python を JS にコンパイル

+任意の python バックエンド (Django、Web.py ..)。

すべての通信は JSON-RPC を経由します

于 2012-04-13T15:18:01.560 に答える