RIA 開発に携わるクリエイタはデザインツールに 「表現能力」 を求める。しかし Web 開発にとって「表現」はあくまで Web がもたらす性能や機能に顔を与える行為であり、エンジニアリングの延長上にあるものだ。ここが外観と機能の両立が求められる建築デザインと、Web デザインの共通点でもある。そしてどちらも 「アーキテクト」 の存在が欠かせない。
アークウェイ代表取締役社長でソフトウェア アーキテクトの森屋英治氏は 「Web 制作はソリューションを作ることであって画面を作ることではない。」 と断じる。ソリューションの背後にはシステムがある。その流れのなかで今何が必要か、というシステムの構造を含めた全体像を把握することの必要性を説いた言葉だ。
Silverlight™ 2 の登場で、RIA がエンタープライズ側のニーズに答える準備が整いつつある。RIA 開発現場で表現の可能性を追求してきたクリエイタと性能を追求してきたエンジニアとの 「仕事の差」 が今マージするのだ。
そのインパクトを森屋氏は 「過去に Windows® で Visual Basic® (以下 VB) ができた時と同じ衝撃」 にたとえる。VB 開発者は Silverlight™ によって .NET ライブラリを Web 上で、なおかつ Mac OS に対しても使えるようになる。これが Expression® を初めとする道具の実力の幅だ。
サービスを檻から開放する
Silverlight™ のポテンシャルは、ビル ゲイツ氏が生んだ 「.NET 構想」 まで俯瞰すると理解しやすい。
.NET は UI とデータの中間にサービスという概念を持ち込むアーキテクチャを意味する。この構想の発展型が SOA (サービス志向アーキテクチャ) である。ユーザーが .NET に対応したオンラインのデバイスを通じて、プラットフォームの違いを意識せずにサービスへアクセス可能になるというしくみだ。この構想はマイクロソフトの新サービス 「Live Mesh」 にも生かされている。
.NET アーキテクチャにのっとってテクノロジを実装する際、利用できるコンポーネントの総称が 「.NET Framework」だ。Silverlight™ 同様 XAML で UI が定義できる WPF の場合 .NET Framework 3.0 および 3.5 が開発と実行環境を担っている。
.NET 構想が誕生した 1 つのきっかけは 「98、2000、NT、XP という歴代の Windows® が持つバージョンの差異を克服することだった」 (森屋氏) という。基本的な OS 部分と上位層にライブラリを置き、ランタイム層で OS に非依存なプラットフォームを作った。
この状態を Web という場に移して考えてみよう。
ブラウザ上でアプリケーションを動かす基盤はプラグインだ。これまで ActiveX® がその役割を担ってきたが、ActiveX® は .NET に対応した技術ではなかった。
今回その上に Silverlight™ というプラグインを乗せることで .NET Framework の活用を可能にした。言うなれば Silverlight™ は 「.NET Framework という .NET ライブラリが使える、クロスプラットフォーム、クロスブラウザのプラグイン」 (森屋氏) なのだ。
こうしたアーキテクチャを理解すると、今までに .NET が安定して実現してきた機能の多くをブラウザを通じて異なるプラットフォームのクライアントに届けられるという面白みもつかめてくる。
スケーラブルな実力
また、ソフトウェアの外観をデザインする際の自由度に目が向きがちな Silverlight™ だが、その性能の本質は別にある。
例えば、Silverlight™ は大量のデータをブラウザを通じてユーザー領域に保存できるという機能を持っている。オフラインで動作可能なアプリケーションの実現には欠かせない機能だ。ブラウザ側にデータを取り込むしくみを作れば、サーバーに負荷をかけないサービスが作れるという。この点をおさえると、これまで VB などでしか実装できなかった機能がクロスプラットフォームの環境にも持ち込めることがわかる。
映像などのリッチなコンテンツも活用できるうえ、 Web の技術なのでデプロイメントにも長けている。今後データサービスに関する機能の充実も図られる見通しだ。さらに 「ブラウザで動かすなら Silverlight™ 、クライアントで動かすなら WPF だが XAML での UI の定義は一緒」 (森屋氏) というほど両者はコンパチブルな関係になることも予想できると言う。
森屋氏はクリエイタが 3D データが扱える、タイムラインの概念が使えるといった表現系の部分に注目しがちな点をもったいないと言う。
「もっと .NET などバックエンド全般の技術要素を理解すれば、Silverlight™ 本来の実力を駆使できる。道具を理解しないで表現はできないはず」 としたうえで、クリエイタもアプリケーション開発の変革を楽しんで欲しいと語った。
(インタビュー : 矢野りん)