今回は、高品質なUIコンポーネントを専門に開発するインフラジスティックス・ジャパンにSilverlight開発と今後への期待についてお聞きしました。同社の製品「NetAdvantage」ではWindows FormsやWPF、ASP.NET向けのコントロールが提供されていますが、これにSilverlight用のコントロールが加わります。

同社のSilverlightコントロールは、こちらのサイトでサンプルが公開されています。インストールすることなくブラウザ上で動くサンプルが見れるのもSilverlightの大きなメリットです。

図01 Silverlightコントロールのサンプル

図02 タイル状に並べられた顧客データ。項目を選択すると詳細画面に移動する

図03 顧客の詳細情報。画面遷移にアニメーションを使って自然な流れを演出できる

図04 階層化されたグリッド

図05 入力内容をデータに合わせて制限できるマスク

図06 機能の一覧に便利なメニューバー

図07 Silverlight内でダイアログを表示

図08 重み付けによってレイアウトされるタグクラウド

図09 データの視覚化に必要な各種チャート機能

また、同社はUXデザインをカタログ化した「Quince」というサービスも提供しています。このサービスにもSilverlightが全面的に利用されており、開発時におけるUXデザインのヒントとして役立てることができます。

高品質なUXの実現には開発技術だけではなくデザインも重要になりますが、専門的なデザイナが配属されていない開発チームではSilverlightの魅力を十分に引き出せないこともあるでしょう。インフラジスティック・ジャパンのデビッド・クーニング代表取締役は、デザインを専門としていない開発者でも同社製品を使ってもらえれば、事前に用意されているいくつかのスタイルから選択するだけで苦労せずに綺麗なUIが実現できると説明します。Silverlight開発において豊富な経験を持つ同社デベロッパー エバンジェリストの池原大然氏、山田達也氏をまじえて、Silverlightに関する見解を伺いました。

左から、インフラジスティック・ジャパン代表取締役 デビッド・クーニング氏、同社デベロッパー エバンジェリスト 山田達也氏、同社デベロッパー エバンジェリスト 池原大然氏

──Silverlightは、よくAdobe Flashの競合製品として比較されることが多いのですが、Flashと比較してSilverlightで作る利点って何だと思いますか?

池原 バックエンドのシステムに関わる人口が違うと思います。.NETベースの基幹システムは沢山ありますが、Flash(Adobeプラットフォーム)ベースの基幹システムってあまり聞かない気がします。

クーニング (基幹システムは)FlashではなくFlexで作らなければならないですよね。日本の事情は分からないのですが、米国ではFlashができる人は沢山いるものの、Flexでシステムを作れるプログラマはすごく限られています。何より開発者コストが高いため、システムを作ろうと思えば、コストは必然的に高くなります。.NETなら開発者がたくさんいるので、もっと気軽にプログラミングできると思います。

クーニング氏の指摘は興味深い観点です。Macromedia時代にはWeb上でアニメーションや双方向なコンテンツを再生することが主目的だったFlashは、Adobe Systemsに吸収されてからはFlexやAdobe AIRが登場し、アプリケーション・プラットフォームへと進化してきました。しかし、歴史的にデザイナが主要な顧客であったAdobeには、システムを設計できる開発者が不足しています。

一方でMicrosoftもまた、同じ問題を抱えています。Windowsプラットフォームを中心にシステム開発では歴史と実績を持っていますが、Webやデザイン分野では他社に後れをとっています。RIAの重要性が高まるにつれて、Microsoftがデザイナを顧客に取り込めるかが重要になってきています。アプリケーション・プラットフォーム発展のために、両者ともに競合相手が得意とする顧客の能力を求めているのは面白い現象です。

──デザイナさんにとってのSilverlightってどうなんでしょう。デザイナさんは「Expression Blend」などを使ってくれますか?

池原 現状を言うと弊社のデザイン部門もAdobe製品を使用しています。画像データ自体をAdobe製品で作って、最終的にBlendにインポートする形式です。そういう意味で言うと、うーん、どうなんだろう……というところですね。

クーニング Microsoftがすごく上手なのはエコシステム作りですよね。Expressionは、(Microsoftから)デザイナに向けた最初の恋文なんですよ。あるお客様のところでは、デザイナがPhotoshopで作った画像をExcelなどに貼り付けてやりとりしていました。そして、開発者がそれを実装すると、デザイナが違うじゃないかと文句を言う。これは建設的なやり方ではないので、そこに(デザイナの意図が正確に伝わる)ツールが必要だというのは正しいと思うんです。それに対するMicrosoftの回答がExpression Blendであり、5年後、10年後に向けたファーストステップなのでしょう。

──Expression Blend 3の新機能である「Sketch Flow」はどうでしたか? あれは、開発者が使うべきツールなのか、それともデザイナが使うツールなのでしょうか。

山田 仕事の内容としては上流SEがやることですから、開発者向けなのかなと私は感じます。

やはりExpression Blendを使って行われる作業の多くは、まだ完全にデザイナに委ねられるものではないと考えられているようです。生成されるXAMLの精度などを考慮すると、現状では開発者による調整なしにアプリケーションと正しく結合するのは難しいでしょう。今はシステム・エンジニアが行っている画面設計やUXデザインといった作業を、どれだけ専門のデザイナに委譲できるようになるかが今後の課題になりそうです。

──SilverlightとWPFの棲み分けについてはどう思われますか?

池原 Silverlight 3になって、いよいよ違いはなくなってきたのかなと思います。まだ違いはあるにしても、Silverlightの守備範囲が広くなってしまってWPFを浸食しているという雰囲気を感じていますね。でも、フルセットの.NET Framworkなら簡単にできることが、現状のSilverlightだと回り道をしなければならないことがあります。例えば、ADO.NETが無いとかですね。

確かに、社内だけで運用するツールであればデータベースに直接問い合わせてデータを取得すれば簡単なものを、Silverlightで実装する場合はWebサービスを介さなければなりません。過去の資産との相互運用や、プレゼンテーション以外の部分で求められるものが大きければWPFのほうが有利な点も多く、適切に使い分ける必要がありそうです。

クーニング 私たちは、お客様を幸せにしなきゃいけない。開発者が悩んでいるところを探して解決していきたいと思っています。

Silverlightは、コントロールの組み合わせで制約の多かったWindows フォームやGDIとは異なり、柔軟にデザインすることができます。それだけに、単純にボタンやグリッドを貼り付けるだけのUIから脱却し、ユーザー視点のUXを取り入れていかなければ差別化が難しくなります。生産性と高品質なデザインの実現をいかに両立させるか、インフラジスティックスのSilverlightコンポーネントから学べることは多いでしょう。

著者プロフィール:赤坂玲音

フリーランスのテクニカルライタ兼アプリケーション開発者。主にクライアント技術、プレゼンテーション技術が専門。2005年から現在まで「Microsoft MVP Visual C++」受賞。技術解説書を中心に著書多数。近著に『Silverlight入門』(翔泳社)などがある。