もう Windows Forms で UI を開発することは難しいのでしょうか?(1)

仕事柄、お客様からは利用するべき UI テクノロジーの選択について相談を受けることがよくあります。なかでもよく聞かれるのが、「リッチな UI を作るのであれば、もう Windows Forms を使うべきではないのでしょうか?」といった質問です。

もちろん「リッチ」の定義にもよるのですが、多くの場合要件を細かく聞いていくと「特に Windows Forms で開発しても問題ない、むしろ望ましい」と考えられるケースが想像以上に多いことがわかっています。UI テクノロジーの選択の基準はいくつかありますが、第一に要件に対するフィット感を確かめ、次に現在保有しているスキルセットとの連続性を考えることになります。そのため、要件的に十分であった場合には、現在利用しているテクノロジーを利用するのが最もリスクの低い行為であり、歴史の長い Windows Forms においては未確認のバグもほとんど無い状態でテクノロジーが枯れており、都合の良いことも多いのです。

リッチ UI に対して寄せられるニーズは大きく下記のようなケースが大多数を占めます。

1.スタイルを適用したい
2.柔軟なレイアウトを行いたい
3.利用したい UI コントロールが無い/機能が不足している

もし上記のような理由でWindows Forms の採用をやめ、別のプラットフォームに移行しようとしているのであれば、一旦弊社のコントロール製品である NetAdvantage For Windows Forms をぜひ一度ダウンロードいただき、実現できる機能をチェックしてみてください。弊社の製品の中でも最も歴史が長く、多くの市場からの要望に応えながら今日に至っているだけに、多くの良くあるニーズを満たすことが可能です。

トライアル版をダウンロード!

それでは順を追って課題を見ていきましょう。まずはスタイルです。

ユーザーインターフェイスに一貫性や統一感をもたせるにあたり、利用されているコントロールに対するスタイル設定はとても重要であり、iOSに代表されるなどの影響もあって現在注目されている領域です。多くの業務アプリケーションではデフォルトの状態のコントロールが使われていることが多いのですが、スタイル設定によって「仕上げ」処理を行うことにより、クオリティはずいぶん違って見えることも事実です。ここで問題になるのは、「設定できることがわかっていても時間をかけることが難しい」と判断されていることが多いことです。iOS や Windows Phone を例にとって考えみると、コントロールに適用されているスタイルはしっかりと一貫性を持っているため、利用していて非常に統一感を感じますが、スタイルデザインは単純な一枚絵を作るよりもずっと複雑な作業になります。

例えば、ボタンはmouseOver などのイベントに対して幾つかの状態を持っており、それぞれに対してボタンの形状や色の設定を持っている必要があります。かつ、通常はラベルを設定できるため、可変長の文字列を内包できるようにしなければなりません。XAMLならばかなり細かくこれらの設定を行うことが可能ですが、それでもなかなか骨の折れる作業となります。

そこで、もう少し手軽にスタイル設定を行う方法が望まれることになります。弊社では Windows Form で利用可能な AppStylist というツールをご提供しております。このツールを利用することで、用意された多くのプリセットのスタイルライブラリを適用することができ、スタイルライブラリの内容に変更を加える形で新たなスタイルライブラリを作ることも可能になっています。詳細は下記のBLOG記事を御覧ください。

アプリケーションデザインツール NetAdvantage AppStylist ご存知ですか?
NetAdvantage AppStylist ご存じですか? その2


[ AppStylist ]

AppStylist 自体はかなり細かい設定を行えるツールです(画面キャプチャをみていただければ多くの設定項目があることがわかります)が、2011 Vol.2 では新たに Office 2010 Black / Silver というスタイルライブラリも追加し、たくさんのスタイルライブラリを利用することができます。これらをそのまま使うもよし、少しだけ変更して使うもよし、というところですが、まずは「IG」というスタイルライブラリから確認してみてください。このスタイルライブラリは比較的最近用意されたもので、弊社のデザインチームがゼロからデザインしているものになります。Windows Form / Web / XAML それぞれの製品で同じデザインのスタイルライブラリを適用できるように用意していますので、まずはこちらをベースに検討されてみてはいかがでしょうか。

再掲となる部分も多かったのですが、今後しばらくは Windows Forms に再びフォーカスをあてて、スタイル以外にもレイアウトやコントロール利用の観点から掘り下げていきたいと思います。お楽しみに!