スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
当サイトは基本をすっ飛ばしてます。基本文法等は、@ITをどうぞ
カテゴリー: スポンサー広告

WPF4で開発を始めるなら(壱)

 うちの部署の中でも、業務内容によってチーム(課)が分かれている。最近別のチームに移った後輩にある話を聞いた。

こっちのチーム、WPFを敬遠して、Windows Formsが良いわ~って話になってるっす。

へぇー。WPFよりWindows Formが良いと。敬遠される理由としては、

  • 長年Windwos Formsで開発してきている。
  • なので、Windows Formsで開発した方が速い。
  • XAMLの書き方が一定していない。人によって異なる。
  • MVVMの実装がめんどい。コードビハインドで良いじゃん。
などなど。まあ、しょうが無いよな~と納得できる話ではある。まあ、ぶっちゃけ、こっちに干渉しなければどうでも良い話ではある。何で開発しようと、ユーザーの要件を満たせられるなら問題ないし。自分的には、WPF4の方が開発しやすいけどなぁと、今なら思える。そう、今ならね。
自分のチームで、「WPF4で開発してみよう」という話になり、いざ始めた時は結構大変だった。

  • フレームワークはあるけど、「これが主流」っていうのがなかった。
  • WPF4に関する記事が少ない(ない訳ではない)。詳しい書籍も少なかった。
  • 3rd Party製品も少なかった。
まあ、ある意味、VS2010というIDEしかなかった為、共通系(要するにフレームワーク)の検討から始まった。
で、その頃、何から用意していったかなと、昔の記憶を掘り起こして、メモしてみようと思った。

○共通系(フレームワーク)の用意。
 ここでいう「共通系」というのは、WPFすら関係ない。DBすらも関係ない。そういうコアな括りで作られるもの。
クラスを如何に作るか?≒基本的な設計思想 で書いた内容に近い。最近MSがそういう類も全部サポートしようとするので、寂しい限り。
 このフレームワーク的な部分は、基本的に業務に無関係ないので、開発するアプリの要件、仕様等々に影響を受けない。影響を受けるならそれはこの範疇から外れる。ある意味、そういうシステム設計、外部設計と同時進行でやれる開発でもある。というか、並行でやっとかないと到底間に合わない。まあ、最初に作っておけば、別のプロジェクトにも再利用ができるという利点がある。再利用ができるという事は、その分だけ開発工数が下がり、期間も短くできるという事だ。或いは、それ以外の事に時間をかけられるという事でもある。
 このフレームワークにも、それなりのポリシーというかこだわりがあり、規模が大きくさえなければ、作るのは多くて三人までが良いと思っている。それも、一人がメイン、残りはサブ的な役割で。
 人にはそれぞれの好みってものがあり、「自分ならこう作る」というのが少なからずある。自由度が高い時により顕著になる。稀に「なんでもいいっす」という人もいるけど。それを内々では「思想」と呼んでいる。「流派」とか「流儀」でも良いかもしれない。自分も例外ではなく、師匠(主にJava)から学んだ(盗んだ)ものをベースに作り続けている。なので、メインをはる一人が大体の設計を決め、それに従って他のメンバーが実装するというのが、ベターだと思っている。うちのもう一人の師匠(こっちは主にDB)の言を借りるなら、「開発一案件内の個性は一つで良い」かな。最低限必要なものを揃えて、必要になったら肉付けしていく感じかな。

○WPF共通系を用意する。
 まあ、これは時間がなければ、3rdパーティ製品やフリーのフレームワークを持ってくるでも良いと思う。JavaでWebアプリを作っていた頃は、主にStrutsだったけど。共通系というからには、これも業務とは関係なく使うコントロールや、添付プロパティ(ビヘイビア)達である。
メインは
  • ローカライズ(言語切り替え)。
  • (拡張)コントロール
  • 添付ビヘイビア
  • コマンド各種
  • ViewModelクラス(基本型)
  • WPF向けユーティリティクラス
になるだろうか。実際の開発では、DatePicker以外は継承クラスを作らずに済ませた。TextBoxもComoboBoxもDataGridも、ほぼ添付プロパティでやっつけた。今から同じことをやれと言われてたら、間違いなく拒否する所だ。これも必要に応じて肉付けしていく。

○WPFを支える開発ツールを用意する。
 共通系なフレームワークを揃えてからも、開発が楽になったわけではなかった。フレームワークを使うという大きな方針は決まるけども、コマンド系もXAMLも一から自分で書くか、前に書いたコードをコピペして変えていくくらいだった。でも、やはりそれだけでは足りない。主に時間と忍耐力が。そして欲しくなったのは、XAMLを作り、それに応じたViewModel側のコード。フレームワークを自分で造ろうと、外から持ち込もうと、それ用の書き方がある。資料にするという手もあるけど、誰も読もうと思わない。だって聞いたほうが早いから。なので、ある程度までは自動で書き起こしてくれるツールを作ってしまえば、効率があがる。楽になる。主には
  • 自前で作るアプリ。
  • コードスニペット
  • 拡張機能(VS2010 ProとかSDKが必要になる)
かな。

WPF4を使った開発は、Windwos Formsと違って、「ないなら作る」がある程度のレベルで可能になる所が良いところかな。ただし、痒いところに手が届く代わりに、全部自分達で面倒を見る必要があるけど。
スポンサーサイト
当サイトは基本をすっ飛ばしてます。基本文法等は、@ITをどうぞ
カテゴリー: WPF4 | コメント: 0 | トラックバック: 0


この記事へのコメント

コメントの投稿

非公開コメント


サイドバー背後固定表示サンプル

当ブログに書かれたソースコードは流用自由です。

バグ、スペルミス等はありうる事です。

ご利用の際は自己責任でお願いしますm(_ _)m

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。