2010-12-13 14 views
3

Silverlight/WPF for Windows Formsのスキルをどの程度までプログラムできますか?Silverlight/WPF with Windows Formsスキル

開発者の内部アプリケーションをWindowsフォームと似たスタイルでどの程度までOKですか?


私の質問の背景には、私はSilverlightのが必要な箇所に適用することであり、私は私のWindowsは経験が内部アプリケーションのために十分なものでなければならないフォームと主張してみてください。

私は、Silverlight/WPFのほうがはるかに多くを提供していますが、主にウェブのような「派手な」ものと、MVVMパターンの高いSoCの可能性を認識しています。

+0

はい、競合他社は実際にSilverlightを知っています。だから、彼らはあなたに仕事を得る上で大きな利点を持つでしょう。 Silverlightで作業したい場合は、Silverlight(またはWPFなど)を学ぶことをおすすめします。 –

+0

@Matt競合他社だけでなく、同僚。すべてのプロジェクトが単独のプロジェクトでない限り、同様の知識ベースを使って作業している場合、他のプロジェクトと作業する方がはるかに簡単です。 – Raumornie

+0

@Matt - ほとんどの.NET開発者は、Windows Forms/WPF/Silverlightではなく、ASP.NETを行うと思いますか? – Olav

答えて

3

はい、間違いなくWPF/SLでの作業を開始することができ、WinFormsの経験は役立ちますが、十分であると私は同意しません。

興味深いことに、現在WPFで作業している開発者のほとんどは、基本的にWinFormsのバックグラウンド(私の経験によると)であり、WPFはWinFormsとあまり変わらないと信じています。同じ問題解決を適用するWPFアプリケーションを開発しようとします。技術、概念、および方法論。これはすべての問題が始まる場所です。

私はあなたが最初のWPF/SL帳を通過することをお勧め(少なくとも半分最初)(XAMLBindingCommandsとあなたがWPF/SLのアプリケーションで作業しながら、その後、新しい概念を試してみて、使用、DependencyPropertyStylesTriggersなど)あなたが遭遇するすべての問題(でも簡単に解決/実装できる場合でも、)を解決します。

一部はこれに同意しないかもしれませんが、私は私の友人は、リサイズの方法で(WPFで)ほとんどすべてを実装し、以降のメモリリーク不満見てきました、パフォーマンスなど

+0

私は同意します... SLのために私は銀色の4を解き放つことをお勧めします...多くの方法でコードを変更する方法を変更しました – basarat

+0

私の意見では、これを行うと(純粋なMVVMの方法ですべてを解決しようとします)良い経験がたくさんありますが、最終的には、純粋なMVVMスタイルで*すべて*を行うことは、それが価値があるよりも難しいと結論づけられます。 MVVMはある種の問題に対してはかなり良い解決策です。それはまた、MSツールセットが依然としてたくさん残されている顕著な実用的な理由のために、他の人にとってはかなり良い反パターンでもあります。しかし、このアドバイスに従えば、最初のプロジェクトを非常に遅くしても、MVVMがどこで動作し、どこで動作しないのかがわかります。 –

+0

@Ken - 私はMVVMについてあなたに同意します。あなたがカスタムコントロールを作成している場合の例としてMVVMは一般に好まれていない/使用されていません。私はあなたがMVVMの使用について自慢していると感じていると確信していますが、私の答えではMVVMを提案していないという事実から、MVVMはWPF/SLアプリケーションにとって素晴らしいパターンですが、WinFormsの背景最初に学ぶべきこと/専門知識ではありません。 – akjoshi

0

最初のwpfアプリケーションは、必然的にwinformsアプリケーションのようになります。私が関心を持つ限り、これをするのは大丈夫です。しかし、あなたがMVVMを使用せずに30ダイアログアプリケーションを作成した場合、あなたを殺すだろう人があります:)
いずれにしても...あなたの最初のWPFプロジェクトがあります...あなたはおそらくそのwinforms(コードが重い)のようなコーディング。

+1

私はBasaratに「あなたはおそらくwinformsのようにコーディングするつもりだが、これをしないように誓ってください」と同意すると、あなただけがWPFの本当の力を理解してそれを利用できるようになります。 – akjoshi

2

大規模なWinFormsの経験があれば、SL/WPFにかなり簡単に移行できるはずです。 XAML、依存関係のプロパティ、および他のプラットフォームの特殊性についての基本的な理解がなくても、現在SL/WPFアプリケーションを開発できるとは言いません。

ピートブラウンの投稿「10 things Beginning Silverlight and WPF Developers Need to Know」をご覧になることをおすすめします。私は彼の本Silverlight 4 in Actionを実際にこれらのスキルを基礎から構築することをお勧めします。

1

私は大きな差があることを言うだろうSilverlight/WPFに慣れ親しんだチームの一員として、独立してアプリケーションを開発したり、チームの一員として働くことができます。ドラッグアンドドロップでUIを設計し、ビジュアルデザイナでプロパティを割り当て、必要な背後にあるすべてのコードをXAMLベースのフレームワークに書き込んで、使用しているWinformsエクスペリエンスとの違いにほとんど気づかないことは事実ですに。間違いなく異なるのは、WPF/Silverlightの世界で標準となっているすべての概念やパターン(バインディング、コマンド、スタイル、依存関係のプロパティなど)に精通している他の人々と協力するプロセスです。それらと統合するには、2つのプラットフォームの違いを無視すれば問題があります。

これは、Winformsのエクスペリエンスが役に立たないという意味ではありません。ロジックはすべてそのまま残っていますが、同じサーバー側のコードをすべて記述する必要があります。おそらく、使用しているUIの種類が問題にならない場所が6つあります。そして、おそらく、SilverlightやWPFについて学ぶ最も良い方法は、新しいアイデアのいくつかを、以前使っていたのと同じロジックで動かすことができる、実際のプロジェクトを作ることです。

経験の有無にかかわらず、多くの質問がプログラマーの品質に下がります。もちろん、誰かが既存のWPFアプリケーションを維持したければ、そのような経験を持つプログラマが欲しいですが、私は喜んで良いWinformsコードを書いた人物を連れて行き、探していたら新しいパラダイムを学びたいと思っていました新しいアプリケーションを開発したり、まったく新しいチームをまとめることができます。

Silverlight/WPFプログラマーが呼び出されるほとんどのケースで、Winformsの経験が「十分に良い」と考えるのは間違いでしょう。経験豊富な人が必要な場合はC++の経験が「十分に良い」と同じではありませんC#プログラマー概念的にはという相違点があります。パラダイムシフトを行う意欲と、おそらく新技術の中核となるコンセプトに精通している必要があります。つまり、良いコードは良いコードであり、誰かが特定の技術だけでは経験不足で解雇されるべきではないと思います。

3

私がプロジェクトにスタッフを雇っていて、誰かがWinFormsの豊富な経験を持っているために良いWPF開発者になると主張する人は、コールバックを受ける確率は低いです。 特にの場合、WPFが提供するものが「ほとんどの場合、ファンシーなものをウェブのようにしている」ということについて何か言われました。

「私はあなたが使っているこの技術を読んだことがあり、それについては経験はありませんが、私がそれを変えなければならないという意見が形成されたことに支障はありません。

+0

私はCRUDがたくさんある小さな内部プロジェクトを考えていて、すばらしく見える必要はありません。私が見ている広告がそのような種類のプロジェクトのものなのかどうかはわかりません。 – Olav

+1

もう一度、WPFの要点は物事をどのように見せるかということです。あなたの意見は、あなたの態度が自分のプロジェクトに迷惑をかけるという私の感覚を強めるだけです。 WPFのポイントは、UIアプリケーションのアーキテクチャを合理化することです。 WinFormsのパターンとプラクティスが世界に与えた大きな被害を取り除きます。あなたがそれについて学ぶことができるなら、これは興味深いものです。その開放への第一歩は、あなたが知らないことを認めていることです。 –