[解決済み] WPFとSilverlightの比較[重複]。
質問
重複の可能性があります。
WPFとSilverlightのアプリケーションの違いは何ですか?
WPFとSilverlightの正確な違いは何ですか?
どのように解決するのですか?
それは非常に幅広い質問ですね。 私の会社は最近、2 つのテクノロジーの違いを概説するホワイトペーパーを書きました。 残念ながら、まだ公開されていませんので、リンクを貼っておきます。
EDIT: 約束通り、Codeplex のホワイトペーパーへのリンクはこちらです。 へのリンクです。
http://wpfslguidance.codeplex.com/
とはいえ、まとめてみる。
-
WPF は、完全な .Net Framework にアクセスできる、厚みのある Windows クライアント プラットフォームです。 Silverlight はブラウザベースのテクノロジで、.Net Framework のサブセット (CoreCLR と呼ばれる) にアクセスできます。 そのため、フレームワーク内の一見日常的なメソッドやオブジェクトを使用して、違いに気づくことでしょう。 たとえば、StringクラスのSplit()メソッドは、Silverlightでは3つのオーバーライドがありますが、.Net Frameworkでは6つあります。 このような違いをよく目にすることでしょう。
-
WPF 内では、すべての視覚的に表示される要素は Visual ベース クラスに由来します。 Silverlight 内では、それらはそうではなく、代わりに Control から派生します。 しかし、両方のテクノロジーは、最終的に階層上の DependencyObject クラスから派生します。
-
WPF は現在、Silverlight よりも多くのユーザー コントロールを出荷または利用可能です。ただし、この違いは Silverlight Toolkit および近日リリース予定の Silverlight 3 によって緩和されています。
-
WPF は 3 種類のルーティングされたイベント (直接、バブリング、およびトンネリング) をサポートします。Silverlight は direct と bubbling のみサポートします。
-
かなり多くのデータバインディングの違いがありますが、それは Silverlight の次のバージョンでいくらか緩和されるでしょう。 現在、Silverlight はバインディング モード、OneWayToSource、または Explict UpdateSourceTriggers をサポートしていません。 さらに、Silverlight では、何も設定されていない場合、OneWay データバインディングがデフォルトとなり、WPF では依存性プロパティで指定されたデフォルト モードが使用されます。
-
Silverlight は MultiBinding をサポートしません。
-
Silverlight は XmlDataProvider をサポートしますが、ObjectDataProvider はサポートしません。 WPFは両方をサポートしています。
-
Silverlight は非同期ネットワーク呼び出ししかできません。 WPF では、完全な .Net ネットワーキング スタックにアクセスでき、あらゆるタイプの呼び出しを行うことができます。 また、現在、Silverlight は SOAP をサポートしていますが、SOAP 障害例外をネイティブに処理できません (Silverlight 3 では変更される可能性があります)。
-
暗号化には大きな違いがあります (Silverlight にはネームスペースに 20 のクラスがありますが、WPF は 107 にアクセスできます)。 基本的に、Silverlight は 4 つのハッシュ アルゴリズムと AES 暗号化プロトコルのみをサポートしています。
-
Silverlight はまだサポートしていません。コマンド、検証、印刷、XPS ドキュメント、スピーチ、3D、凍結可能なオブジェクト、および Windows デスクトップとの相互運用など、WPF で利用できるものはすべて、Silverlight ではまだサポートしていません。
-
Silverlight は、ブラウザの相互運用、タイムライン マーカーを含むより多くのメディア ストリーミング オプション、および Deep Zoom をサポートします。 WPF では、これらの機能はまだサポートされていません。
70 ページのドキュメントを箇条書きにしようとしていたので、これは決して完全なものではありません。
最後に、これだけの違いがあっても、Microsoft は 2 つの技術の間のギャップを縮めようとしています。 Silverlight Toolkit と WPF Toolkit は、それぞれのテクノロジの欠点のいくつかに対処しています。 Silverlight 3では、現在利用できない多くの機能(要素から要素へのデータバインディングなど)が追加される予定です。 しかし、コアライブラリの違いから、常にFrameworkの違いが存在することになります。
関連
-
[解決済み] WPFの場合、x:Name属性とName属性の違いは何ですか?
-
[解決済み] RelativeSourceでWPFバインディングを使用するにはどうしたらいいですか?
-
[解決済み] WPFアプリケーションをプログラムで終了させるには?
-
[解決済み] WPFのStaticResourceとDynamicResourceの違いは何ですか?
-
[解決済み】Visibility.CollapsedとVisibility.Hiddenの違いについて
-
[解決済み】WPFのページとウィンドウの違い?
-
[解決済み】WPFのコントロールテンプレートとDataTemplateの違いについて
-
[解決済み] wpf: ボタンがコマンドによって無効にされたとき、ツールチップを表示する方法は?
-
[解決済み] WPF TemplateBindingとRelativeSource TemplatedParentの比較
-
[解決済み] XAMLで複数のバリューコンバータを連結する方法はありますか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
例外の解決方法 GDI+でジェネリックエラーが発生しました。
-
[解決済み] StackPanelの子パネルが下方向に最大限のスペースを埋めるようにするには?
-
[解決済み】Visual Studio 2015の追加デバッグオプションの無効化
-
[解決済み] [Solved] StackPanelの子要素をスペースアウトさせるには?
-
[解決済み】無料のWPFテーマがあれば教えてください。[クローズド]
-
[解決済み] 静的プロパティへのバインディング
-
[解決済み] WPF:幅(と高さ)をパーセント値で設定する
-
[解決済み] 16進数の色値からSolidColorBrushを作成する
-
[解決済み] グリッドカラムの幅・高さを設定する際の「Auto」と「*」の違いは何ですか?
-
[解決済み] WPFのキーボードショートカット