11

AjaxFlexSilverlightは、よりインタラクティブなWebアプリケーションを作成するためのいくつかの方法です。新しいWebアプリケーションにどちらを使用するかを決定する際に、どのような要素を考慮しますか?

それらのいずれかが、より優れたクロスプラットフォームの互換性、パフォーマンス、開発者ツール、またはコミュニティサポートを提供しますか?

4

5 に答える 5

13

各エリアの概要は次のとおりです(役立つリンクがたくさんあります)。

クロスプラットフォームの互換性

Ajaxは、JavaScriptを実行できる最新のブラウザーで動作します。Flexには、FlashまたはSWFを処理できるその他のものが必要ですが、一度インストールすると、互換性に関しては完全にフリーライドになります。Silverlightはトリッキーで誤解されているため、このMSをリッチウェブアプリケーションの軍拡競争に参入させる前に、ユーザーベースを慎重に検討してください。また、Silverlightはまだベータ版であるため、開発されるにつれて、将来、より広く使用され、インストールされる可能性があることにも注意してください。

パフォーマンス

パフォーマンスについて多くの発言をすることを恐れています。なぜなら、それはあなたがどれだけ最適化しようとしているのか、そしてあなたのアプリケーションの正確な性質に本当に依存しているからです。また、一部のテクノロジースタックは、非常に高速になることはありません。比較を行っている人もいますが、これも非常に多くの要因に依存します(テストしているブラウザーのバージョンでさえも!)。他の要因に基づいて選択し、開発を開始したら最適化するのがおそらく最善です。

開発者ツール

3つのそれぞれに「ゴールデンスタンダード」の開発ツールがあります。

  • Ajaxには、残りのテクノロジーとアーキテクチャの選択に応じて、基本的に無制限のオプションがあります。あなたが実際に直面している大きな問題は、どのライブラリに依存するかということです。Googleは、WebToolkitのようなものでかなりよく採用された答えを表明しています。すぐに理解すると、それはXMLとJavaScriptだけですよね?

  • FlexはAdobe製であり、Flash開発の場合と同様に、自社製のツールを使用する方がよいでしょう。なぜなら、彼らは標準を作成しているからです。

  • Microsoftは、Silverlight1.0および2アプリケーションのUIを設計するためにMicrosoftExpressionBlendバージョン2.0および2.5をそれぞれ配置しました。Visual Studio 2008を使用して、Silverlightアプリケーションを開発およびデバッグできます(Wikipediaから)。

コミュニティサポート

3つのオプションすべてについて、公式および非公式のコミュニティ、企業、およびオープンソースのサポートがあります。あなたがすでに統合されていて、あなたが最も家にいるように感じるものはどれでも非常に個人的なものですが、私はこのアドバイスを提供します:あなたが知っていることに固執します。MS開発者であり、ホームページとしてMSDNを使用している場合は、Silverlightのドキュメントとフォーラムが本当に役立つと思うでしょう。Flexにも非常によく似た話があります。フォーラムは非常に優れており、すでにFlashを使用している場合は、ドキュメントユーザーコミュニティをすぐに利用できます。

一方、Ajaxは基本的に至る所にあります。これは、非常に多くの異なる方法を実装し、非常に多くの多様なライブラリを使用できるためです。各図書館には、訪問する独自のフォーラムや、回答を得るために潜んでいるメーリングリストを設けることができます。

繰り返しになりますが、3つすべてに、コミュニティを育成し、将来的に市場シェアを拡大​​する開発者に可能な限り最高のサポートを提供しようとする企業の巨人がいます。

于 2008-09-07T23:38:25.117 に答える
5

私の意見では、選択は主に構築するアプリケーションの性質に基づいているはずです(たとえば、ベクターグラフィックを操作する必要がある場合、Ajaxはほとんど使用されていません)が、一般的なガイドラインは次のとおりです。

ユビキタス

  1. Ajax-プラットフォーム全体のすべての最新ブラウザでサポート
  2. Flex --Runtime(Flash Player)には、Windows、Mac OS、Linux用の非常に幅広いインストールベースがあります。Linuxバージョンは、前回チェックしたときに少しバグがありましたが
  3. Silverlight-ランタイムのインストールベースは現時点では非常に低い(Linuxサポートなし)

プログラミング言語の選択

(主観的な理由で不規則ですが、Silverlightが最も多くの選択肢を提供することに注意してください。また、チーム内の開発者の既存の言語経験を考慮に入れる必要があることに注意してください。)

  • Silverlight:任意の.NET言語(C#、Visual Basic、IronPython(?)、IronRuby(?))(およびUI定義用のXAML)
  • Ajax:JavaScript(およびUI定義用のXHTML)
  • Flex:ActionScript 3(およびUI定義用のMXML)

APIの安定性と互換性

  1. Flex-ランタイムはプラットフォームとブラウザー間で同じであり、現時点ではSilverlightよりも成熟していて安定しています
  2. Silverlight-ランタイムはプラットフォームとブラウザー間で同じであり、Flex / Flashよりも成熟度が低く、v2.0はまだベータ版です
  3. Ajax-ブラウザ間の互換性の問題(ただし、Ajaxライブラリを介して軽減される場合があります)

Web/ブラウザの統合

  1. Ajax-コンテンツは、標準に基づいてブラウザー内でネイティブです。ブラウザーとオペレーティングシステムが確立した標準のUIプラクティスに従って、ブラウザーと検索エンジンのクローラーで検索できます。
  2. FlexとSilverlight-ブラウザにネイティブではない(つまり、独自の小さな「サンドボックス/長方形」で実行される)コンテンツ:特定のプラットフォームで確立されたUIプラクティスの対象である必要はありません

開発者ツール

  1. Ajax-お気に入りのコードエディタ、ブラウザ、ブラウザ用のデバッグツールキット
  2. Flex-Flex SDKは、Windows、Mac OS、およびLinuxで無料で利用でき、お気に入りのコードエディターで使用できます。コマンドラインデバッガーが含まれていますが、アドビが提供するプロファイラーは、市販のFlexBuilderIDEでのみ使用できます。
  3. Silverlight- AFAIK、SDKはWindowsで無料で利用でき、お気に入りの.NET開発ツールで使用できます
于 2008-09-07T23:43:58.723 に答える
2

FlexやSilverlightなどのWebランタイムはすべて魅力的なものを提供しますが、2つの大きなコストが伴います。

  • これらはページ上の長方形内でのみ実行され、通常のWebウィジェットとは相互作用しません。
  • それらは、そのプラグインがインストールされている人だけが利用できます

ほぼユビキタスなFlashでさえ、すべてのWebブラウザーにインストールされているわけではないため、プラグインランタイムを使用することを選択することで、オーディエンスの一部を除外することになります。

対照的に、JavaScript(またはAjax)はほとんどすべてのブラウザーで使用可能であり、通常のWebページとの相互作用が優れていますが、より原始的で制限のある言語です。複雑なアニメーションに使用するのは難しい場合があり、より多くのプラットフォームでより多くのバージョンでアプリケーションをテストして、動作することを確認する必要があります。

クロスプラットフォームの互換性は以前の問題ではなかったので、問題は次のとおりです。除外するオーディエンスで失うよりも、プラグインライブラリの機能でより多くの機能を得ることができますか?

私自身の答えはこれまで常にJavaScript/Ajaxでしたが、新しいプロジェクトではそれを再評価します。

于 2008-09-07T23:22:40.990 に答える
1

あなたの聴衆は何ですか:公開ウェブサイトまたはイントラネットビジネスアプリ?アプリの実行に必要なものをインストールする対象ユーザーが管理されている場合、採用率は関係ありません。ただし、Webスタートアップを成功させるために可能な限り多くのオーディエンスが必要な場合は、それが重要になる可能性があります。

あなたの目標は何ですか?最低のコストで何かを構築しますか?新しいテクノロジーを学びますか?

既存のスキルを活用できますか?.NETを既に知っている場合は、Silverlightが後押しされます。Flexの学習は面白くて便利かもしれませんが、.NETテクノロジーの経験よりも便利ですか?まったく新しいことを学ぶ機会費用を考慮することを忘れないでください。

現時点では明確なテクノロジーの勝者は見当たらず、長い間存在しない可能性が高いため、選択はかなり主観的な要因になります。

于 2008-09-07T23:30:38.677 に答える
0

ここですでに述べたこと以外に、考慮すべきもう1つの大きなことは、UIがどうなるかということです。

ツリー、リスト、タブコントロールなど、多くの高度なUIコントロールを使用する場合は、次のことを考慮してください。

  • JavaScript / HTML-基本的なドロップダウンボックス、ボタン、テキストフィールド以外のものはネイティブでサポートされていません。ツリーコントロールやタブコントロールのようなものが必要な場合は、独自のライブラリを作成するか、サードパーティのライブラリを見つける必要があります。

  • AdobeActionScript-さまざまな高度なUIコントロールのネイティブサポート

  • Silverlight-1.0のUIコントロールは非常に限られていましたが、2.0ではさらに多くのコントロールが追加される予定であり、今後のリリースでも引き続きコントロールが追加されると確信しています。
于 2008-09-08T03:38:35.600 に答える