かずきのBlog@hatena

すきな言語は C# + XAML の組み合わせ。Azure Functions も好き。最近は Go 言語勉強中。日本マイクロソフトで働いていますが、ここに書いていることは個人的なメモなので会社の公式見解ではありません。

Windows FormsからWPFへの乗り換えの障壁2

前回は、プログラミングの視点からですが、その他に思ったことをつらつらと書いていきます。
もちろん、個人の主観入りまくりです。そして推敲してないので、矛盾してる部分があるかもしれません。
他に、何かこんな障壁もあるよ!っていうのがあったら教えてください。

まだまだ大きい?Windows XPの存在。

  • WPF + XPは何かといい噂を聞かない
    • あくまで噂ですが…
  • 私が使ってるXPだとたまに描画がされない部分があったり・・・

プログラミングモデルが違い過ぎる

  • レイアウトコントロールなんて概念が無かった?
    • Swingとか他の所では結構使われてたけど、Windows Formsしか触ったことのない人には新鮮な感覚なのかなと
    • でも、Grid+デザイナで大体同じノリでポトペタできるようになってきたので前のXAML手書き前提みたいな時よりは壁はないかも
      • ただし、デザイナが吐くXAMLは人が見てぱっと、どんな画面かイメージするのは難しい(手書きでも大きくなるとそうだけど)
  • コンテンツモデルって何よ
    • 何でも柔軟に表示してやろうという仕組み
      • 文字列でも、コントロールでも、オブジェクトでも表示できる
      • 詳しくはこちら
  • データバインドが凄い
    • Windows Formsでもデータバインドあったけど細かい制御しようとするとデータバインドを使わない選択をすることが多かった?
    • でもWPFはデータバインド前提
    • え〜!まだデータバインドしてないの〜!データバインドしてないのが許されるのはWinFormsまでだよね〜!
  • ListBoxがおかしい
    • これがListBoxだと・・・!?
    • とにかくUIが柔軟過ぎる
    • UIをカスタマイズするためにカスタムコントロールなんてナンセンス
    • 機能をカスタマイズするためにカスタムコントロールは作る
    • 見た目は、極論どうにでもなる
  • アニメーションし過ぎじゃね?
    • ボタン押すとボタンが回りだす(荒ぶるボタン!(最近好き))
    • 無駄に点滅して目が疲れる
    • 一瞬で切り替わってほしいのに、アニメーションして無駄に待たされる
    • とまぁ、こんな悪いイメージを植え付けるようなアニメーションさせなければいいんだけど、最適なUIをデザインする方法が、体系立てて説明されているところがない?

お高いんでしょ・・・?

  • 何かとExpression Blend前提な説明がある
    • 今までVisual Studioだけで済んでたのに・・・
    • デザイナ向けといいつつ実際にはプログラマも結構使ったりする
    • Visual StudioをバリバリつかってたとしてもBlendを使いこなすには、それなりの時間がかかる
      • まぁ、勉強しろって気もしますが

とりあえず思いついたことだけ書いてみました。でも、私はWPF大好きです。