質問

Silverlight/WPF は、.NET を使用したユーザー インターフェイス開発の長期的な将来であるようです。クライアント側と Web 開発側の両方で XAML スキルを再利用する利点が分かるので、これは素晴らしいことです。しかし、WPF/XAML/Silverlight を見ると、非常に大規模なテクノロジに見えるため、どこから始めるのが最適でしょうか?

両方について十分な知識があり、どちらがより良い出発点であるか、そしてその理由を推奨できる人からの意見を聞きたいです。

役に立ちましたか?

解決

ASP.NET と Winforms を最初に学ぶべきですか?ASPかMFCか?HTML か VB ですか?C# か VB ですか?

非常に複雑に絡み合った一連のテクノロジーに論理的な進歩があるという考えを脇に置いて、一歩下がって一連の質問を自分自身に問いかけてください。

  • あなたの目標は何ですか。利益と楽しみのバランスをどう取るか
  • 短期志向ですか、それとも長期志向ですか
  • あなたは何かを上達させて何度もやりたいタイプですか、それとも完全に理解すると飽きてしまうタイプですか?

次に最も難しいステップは、自分に与えられたアドバイスは必ず間違っているということを受け入れることです。そして、期間が長ければ長いほど、それが間違っている可能性が高くなります。アドバイスが 6 ~ 12 か月を超えて続く場合、アドバイスが大きく間違っている確率は 1 に近づきます。

私の話をすぐにお話しすることしかできません。2000 年、私は Windows アプリケーション上で C++ を使用して ASP.NET と WinForms について執筆し、コンサルタントとして有益な仕事をしていて幸せでした。それから C# を見て世界がひっくり返りました。二度と戻りませんでした。

2 年前、私は同じ種類の啓示を受けましたが、Silverlight については、一桁大きく、より強力で、より確信を持っていました。確かに、WPF は素晴らしいものであり、私がこのことについてまったく考えていないかもしれませんが、Silverlight がすべてを変えると直感的に信じています。Silverlight が .NET 以来 (確かに)、そしておそらく C++ への移行以来、Microsoft にとって最も重要な開発プラットフォームであることは当時も今も疑いの余地がありません。

一言で言えば、その理由は次のとおりです。どこに限界があるのか​​わかりません。ほとんどのプラットフォームでは次のようにします。これはできますが、あれはできません。WPF は、ASP.Net や WinForms など、これまでのあらゆるものと同様に、非常に良い例です。
Silverlight に関しては、まだ限界が見えません。Silverlight はすでにデスクトップから携帯電話に飛び出ていますが、そこで止まる理由は見当たりません。はい、それは本当です。ブラウザに制限されていますが、私はこれを独房というよりも、Silverlight が多くの地形を走行する戦車として見ています (とても遅い時間でしょう、寝なければなりません)。

いずれにせよ、今のところ、Silverlight の学習は簡単です。 Silverlight.net サイト, Silverlight を学習する上で最も優れている点は、必要なものが見つからない場合は私に大声で言ってください。すぐに理解できるようにします。

楽しんでください、幸運を祈ります。そしてちょっとした秘密は、どちらを選んでも大丈夫ということです。それはすべて単なるソフトウェアです。

-ジェシー


ジェシー・リバティ「シルバーライトオタク」

他のヒント

まずは Silverlight を使用することをお勧めします。

以前に WPF と Silverlight を使用してプログラミングしたことがあります。

しかし、Silverlight は サブセット WPF について深く掘り下げて Silverlight アプリケーションの作成に切り替えようとすると、WPF で気に入ったものの、Silverlight では利用できない「タグ」を探して頭を悩ませることになります。

まず Silverlight の基本的なことをマスターすると、WPF の追加のメカニズム/トリガーなどの機能は簡単に使用できます。 追加 あなたがすでに知っていることのほとんどに。

WPF の Silverlight は次の点で異なります。 特徴 一部のコントロールやアニメーションが欠落しているだけではなく、レベルも問題ありません。たとえば、WPF トリガー メカニズムは、Silverlight では完全には利用できません。

したがって、最初に小さいサブセットを学習すると、後でその知識をフルセットに拡張することができますが、フルセットから始めて、利用可能な便利な機能のいくつかにはまってしまうと、将来誰かから移植を求められたときに問題が発生することになります。設計された WPF アプリを Silverlight に変換します。

話に反して、まず WPF を学びましょう。

私の推論は次のとおりです。

  • WPF では、書籍、ブログ、msdn ドキュメントなど、Silverlight よりもはるかに多くのリソースを利用できます。

  • ベータ版の移動ターゲットを扱っているわけではありません

  • 非同期呼び出しのみを処理する必要はありません

  • 結合辞書、トリガー、タイルブラシなどの機能がないことによる制限はありません。

  • SL には機能がないために、物事を正しく行う方法を再学習することを心配する必要はありません。

Silverlight は WPF の機能を簡略化したバージョンなので、内部で学ぶべきことは少なくなるはずです。一方、2 つのプラットフォームには異なるターゲット (Web とリッチ クライアント) があるため、どのようなアプリを構築するかによって異なると思います。
自分で学習したいだけの場合 (近い将来アプリは登場しません)、吸収しにくい Silverlight を選択します。それでも、Silverlight は WPF よりもはるかに流動的なターゲットであるため、時々いくつかの変更についていく必要があります (早期採用者の楽しみ:))。
WPF には、おそらくいつかは使いたくなる機能が他にもたくさんありますが、まずはニーズが生じるまで待ちたいと思います。

私がポッドキャスト、ブログ、インタビューで聞いた業界の専門家は皆、学ぶことを勧めています。 まずはSilverlight その後、徐々に巨大な UI フレームワークである WPF に移行していきます。

Silverlight は軽量であり、コントロールや機能の小さなサブセットで作業できるため、以下に基づいてこの新しい UI 構築パラダイムを理解することができます。

  1. テンプレート化
  2. データバインディング
  3. スタイル

アップデート:2011 年 7 月

これについては言及したくないのですが、最近 Microsoft は、IE 9 と IE 10、そして次期 Windows 8 の機能を強化することで、HTML5、JavaScript、CSS に重点を置いています。

時間が経つにつれて、LOB アプリケーション プラットフォームとしての Silverlight に懐疑的な開発者や CTO が増えています。Silverlight は、通常の LOB アプリではなく、Windows Phone やグラフィックス関連アプリケーションのヘルスケアなどのニッチなドメイン領域に限定されるのではないかと考えています。

2011 年の夏の時点では、プラグインや OS 固有の UI テクノロジではなく、純粋な Web テクノロジ (HTML5、JS、CSS) の機会が増え、将来は細分化されているように見えるかもしれません。

私は、いくつかのチュートリアルを読み、XAMLPad を試して、XAML を学習することから始めます。これにより、実際にアプリを構築する前に基本を理解することができます。

私は WPF から始めて、非常に簡単なコントロールに慣れるサンプルを作成します。目標は、XAML とバインディングを学習することです。したがって、いくつかの基本的な WPF ウィンドウ アプリを作成するだけで、学習速度が大幅に向上します。その後、最終的には Silverlight に移行できます。はい、ここで他の人が言及したように、Silverlight は WPF のサブセットです。

まあ、それはあなたが何に取り組むかによって異なります。クライアント/サーバーで作業している場合は、WPF を使用するでしょう。すべてのマシンに .Net がインストールされていることを保証できる環境で作業している場合は、WPF を使用することをお勧めします。これは、XBAP と呼ばれるものを使用できるためです。XBAP は、実行される WPF アプリケーションです。ブラウザ。

それは本当にあなた次第です。ただし、Silverlight はまだ RTM ではなく、WPF は RTM であると申し上げておきます。WPF ではこのテーマに関する書籍が多数出版されていますが、Silverlight では出版されていません。これらの本を何冊か読んで、WPF の全体像を理解してから、実際に試してみたいものに取り組むほうが簡単かもしれません。

Silverlight には、ペアになった .Net フレームワークである WPF のコントロールのサブセットがあり、同期呼び出しは行わないことに注意してください。それを事前に知っていれば、基礎全体の中核を学び始め、後で自分にとって最適なテクノロジーに合わせて実践的な経験を調整することができます。

いくつかのヒント Silverlight 開発を始める

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top