本記事は、アーカイブに保存されている過去の記事です。最新の情報は、公益社団法人日本印刷技術協会(JAGAT)サイトをご確認ください。

Microsoftの次世代Webアプリ戦略

株式会社デジタルアドバンテージ 代表取締役 小川 誉久 氏


PAGEコンファレンス、「Web2.0時代のサイト構築」は、Web2.0時代のアプリ開発、サイト構築に必要なポイントを考察した。その中でWindows VistaやInternet Explorer 7の特徴、関連技術を用いたWebアプリケーション開発などについて解説した。

RSS対応ブラウザを標準搭載

Web2.0というキーワードはよく聞くが、実体として、そもそものインターネット、Webと何が違うのか。あるいは、Web2.0時代がやってきていると仮定して、具体的に何が起こっているのか。また、MicrosoftやAdobeがインターネットの新しい時代を作っていこうといろいろな技術開発をしているが、彼らが何をしているのか、これから何をしようとしているのか。

最初に、Microsoftが今何を考えているのかという話をしたい。日本では2007年1月30日に、新しいクライアントWindows OSとして、「Windows Vista」のパッケージが販売された。テレビニュースなどでVistaの特徴として紹介されたのは、非常にグラフィックがきれいになった、使い勝手が上がった、3Dの表示がダイナミックにできるようになったということである。

このVistaには「Internet Explorer7(IE7)」というWebブラウザの最新版が標準で組み込まれている。IE 7自身はVista専用ではなく、前バージョンのWindows XPやWindows Server 2003にもダウンロードしてインストールすることができる。だが新OSへの標準搭載によって、新しいWebブラウザがいよいよ広く普及する時代がやってきたということである。Web2.0時代を考える上においては、ブラウザが新しくなったというのは1つの大きなポイントと考えている。

IE 7の一番重要なポイントは、RSSに対応したことである。今までもRSS対応のアグリゲーターは世の中にあったが、一般のユーザーから見ると、ツールを追加インストールしないと使えないものだった。IE 7には標準でRSS対応が入ったので、標準でアイコンが見える。一般ユーザーから見ても、RSSというメディアのインターフェースは非常に身近になると考えている。今後、ブログ購読などに使っていこうという人口は増えていくのではないか。

Vistaで何が変わるのか

例えばRSS対応のサイトを出すと、このRSSのアイコンがグレーからオレンジに変わる。購読しようと思ってクリックすると、「購読しますか」という確認が出ている。「購読する」をクリックすると、確認がさらに出て、購読対象としてそのページが指定される。 購読対象にしたリストは、「お気に入り」の脇に「フィード」というボタンがある。その「フィード」の中に購読対象としたものが追加される。その中で太字になっているものが新情報があるという意味である。ユーザーは購読しているものから太字のものを見つけて「更新があるから見に行こう」という使い方ができる。

Windows Vistaではデスクトップ画面右側に、ガジェットという、ちょっとしたプログラムを置ける場所がある。デフォルトでは時計や、画像が入っているフォルダをスキャンして絵を一定時間ごとに表示するようなものがある。また、RSSのフィードをIE 7で指定したものの情報を常時表示するような領域があり、ガジェットを操作することでRSSのフィードの内容を確認することもできる。

Windows VistaとIE 7が出たことで、RSSというインターフェースが、より多くの人たちにとって非常に身近な存在になる。今までもブログを見る人は見ていたが、見方がよくわからないという人にとっても、標準でこういうものが使えるようになるので、使っていこうという人口は増えていくのではないか。

Windows Vistaで何が変わるのか。正直に言うと、「こういうメリットがある」というのはなかなかわかりにくい。確かに触ってみるときれいで格好いいが、本当に生産性が上がるのかとか、今までできなかったこんなことができるようになるというようなことは、まだ明らかになっていない。

恐らく、これからVistaの対応アプリケーションが世の中に出てきて、「なるほど、Vistaのグラフィックスの強化というのはこういうふうに活用されるのか」とわかる時代はやってくるのだろう。逆に言えば、そこにある種のビジネスチャンスがあり得ると思う。

WPF(Windows Presentation Foundation)

Webアプリケーション開発という視点でVistaとIE 7を眺めてみると、リッチなグラフィックス・ユーザ・インターフェースが使える、視認性が高まるとか、操作性が良くなると言われている。しかし、実際どれくらい良くなるのかは、どんな新しいアプリケーションが出てくるのかということによる。可能性としては、そういうものが広がったということが言えるだろう。

ただし、ニュースでも取り上げられているが、そういうリッチなグラフィックスを使うためにはハードウェア的に要求が高いと言われている。ハードウェア要求以外にも、互換性の問題も結構取り上げられている。1年、2年かけてじっくり評価して、それから本格的に展開すると予想している。Windows95とかWindows XPで起こったような、劇的な早期の普及はなかなか難しいのではないか。

Vista内部には.NET Framework 3.0という新しいアプリケーション・インターフェースが入っている。この中のWindows Presentation Foundation(WPF)というクラスライブラリを使うことで、アプリケーションツールごとでリッチなグラフィックス・アプリケーションが可能になった。

構成としては、一番土台にWindows VistaのOSがある。この中にWin32という、従来XPでも使われていたWindows APIが入っているので、当然、今までのアプリケーションもVistaで実行できる。

もう1つ、DirectXというものがある。DirectXはWindows XPにもあったが、マルチメディアとかゲームとか、リアルタイムの高速なグラフィックス描画を必要とするようなアプリケーションが主に使うものであった。VistaではDirectXを全面的に使って、リッチなインターフェースを可能にしている。

.NET Framework 3.0

OSのもう1つ上のレイヤには.NET Framework 3.0という、アプリケーションを作るためのさまざまなインターフェースが提供される。

3.0というメジャーバージョンアップになっているが、実際には中に今までの2.0がまるまる含まれている。したがって、.NET Framework 2.0対応アプリケーションは、Vistaでは基本的に実行できるはずである。

Vistaで違うところは、.NET Framework 2.0の上に新しいクラスライブラリが3つ増えていることである。1つはプレゼンテーションというグラフィックス関係のクラスライブラリ、もう1つはコミュニケーションというネットワーク関係で、Webサービスなどが使うクラスライブラリ。もう1つは、まだ活用がなかなか見えないところだが、ワークフロー処理のクラスライブラリである。これはコネクションレスのトランザクションをアプリケーションで管理するようなことに使えると聞いている。

これらのクラスライブラリを使って、Vistaのアプリケーションは実行する。これから徐々に新しいインターフェースを活用したアプリケーションが出てくるだろうと言われている。

Flash対抗のWPF/E

WPFというのはあくまでもVistaのネイティブアプリケーションを対象にしたインターフェースだが、MicrosoftはWPFのサブセット版としてWPF/Eを開発している。EはEverywhereの略と言われているが、Microsoftは肯定していないようだ。

WPF/Eは、一言で言えばAdobeのFlash対抗と呼べるようなものである。コンピュータにインストールして、それを使ってアプリケーションを実行する。 インターフェースがなかったら、まずランタイムをダウンロードさせてインストールさせて、その上でプログラムを送り込んでクライアントで実行する。ちょうどFlashと同じような仕組みになると思う。

Microosoftの強みとしては、WPFという名前が共通していることからわかるように、Vistaのインターフェース、Vista用に作ったアプリケーションをWeb経由で配布して、Flash型で実行することができるということであろう。

MicrosoftのWPF/Eを紹介するページがある。そこに幾つかサンプルが上がっている。パソコンにインストールされていない状態でそのリンクをクリックすると、まず「ランタイムを入れてくれ」というメッセージが出る。それをインストールすると、アプリケーションが起動する。

サンプルを見るとWebマガジンというか、雑誌のページをマウスでめくるような形で操作できる。またスプラウルというゲームソフトでも、WPF/Eを使ってサーバからクライアントにプログラムをダウンロードさせて実行する。ほとんどWindowsのアプリケーションと変わらないことができている。

従来型のHTMLのフォームを使うWebアプリケーションは、今後も残る。まだ開発途中だが、いずれそれらに加えてWPF/Eが使える時代になるだろう。

Ajaxを使ったアプリケーション開発も

その途中ということではないが、例えばGoogle Mapなどに使われているAjaxというインターフェースを使ってWebアプリケーションを開発することができる。

これはWindowsアプリケーションと変わらないような、例えばドラッグ&ドロップができるとか、マウスの右ボタンをクリックするとブラウザではないメニューが出るとか、そういう操作がWebアプリケーションなのにできるという技術である。

Microsoftはどちらかというと後発というか、先行のGoogleが開発したアプリケーションなどを見て、自分たちも対応しなければいけないということで開発環境を作っている。Ajax向けの開発環境、ASP.NET AjaxをMicrosoftのVisual Studioという開発環境に追加インストールすることで、Ajax対応のアプリケーションを開発できるモジュールを提供した。したがって、Ajaxを使ったアプリケーション開発もMicrosoftのプラットフォームでできるようになる。

Ajaxを使ってどこまでできるのかということだが、MicrosoftはOutlook Web Accessという、エクスチェンジサーバの上にあるメールソフトウェアにブラウザ経由でアクセスするWebアプリケーションを、Ajaxを駆使して作ったと説明している。

外見はOutlookに見えるが、アドレスを入れると自動的にアドレス帳を探す、予定表の予定をドラッグ&ドロップで移動させる、右クリックメニューもアプリケーションのコンテクストで出すことができる。

Outlook Web Accessは、ビューのモードが2つある。IE向けのものと、FireFox等、別のブラウザを使う場合には簡易モードがある。Ajaxは、基本的にはブラウザに依存しないようなインターフェースということになっているが、リッチさを追求すれば、特定の環境に依存せざるを得ないような部分も出てくるようだ。

ブラウザに依存しない、なるべくジェネリックなものにするのか、それとも特定のIEなりのブラウザに依存してもいいからよりリッチさを追求するのか、そういう選択肢がWebアプリケーション開発者は判断として求められるだろう。

Expression

Microsoftは今、Expressionというツール群を開発している。今までOffice製品としてFrontPageというHTMLエディタがあったが、これがExpression Webという名前に変わり、まもなく発売される予定(講演当時。現在発売中)である。Expression Designは、対抗製品としてはAdobeのIllustrator、Photoshopと言われている。グラフィックス・エディタである。

Expression Blendは、ダイナミックなユーザインターフェースをデザインするものである。例えばユーザーが様々なパーツを置いて、アニメーション効果等をデザインするためのツールである。デザインした結果は、XAMLというXMLベースの定義言語で保存される。それを使ってVisual Studioにそのまま情報を持っていき、ディベロッパとやりとりするようなことが可能になる。

ここで重要なのは、Expressionを使う人たちの多くがWebデザイナーやグラフィックスデザイナーということである。 Microsoftの今までの開発環境、Visual Studioは、プログラマがいて、C言語やC#などを使ってアプリケーション開発をしていた。しかし、Webデザイナー、グラフィックデザイナーの領域は、Microsoftはなかなか手が出せていなかったので、Adobe製品を使っている人が多いと思う。Microsoftとしては、そこを何とか取り込んでいきたいと考えているはずだ。

デザイナーを取り込む

Vista時代のリッチなアプリケーションをたくさん作って欲しい。そのためには、プログラマはもちろん重要だが、その人たちは既に自分たちとしては囲い込んでいる。そこでリッチなインターフェース、アニメーションとかパーツのグラフィックスなどを作ってくれるデザイナーを何とか開発環境の中に取り込みたい。

人を取り込むというだけでなく、開発環境としては統合化の方向にあるので、Expressionというツール群を使って作ったパーツを、例えばVisual Studioのディベロッパにそのまま持っていって使えるようにする。あるいは、ディベロッパが開発したパーツ群をExpressionに持ってきて貼れるようにするというように、開発環境の中で統合化を進めていくということであろう。

Expressionの紹介ビデオを見るとHTMLエディタでは、スタイルシート等、最新のものに対応しているし、標準対応を進めたと説明している。いろいろなブラウザのチェックができるという。

Microsoftの大きな特徴としては、開発環境をずっと作ってきたので、例えばスクリプト開発などの部分では入力支援機能が、Visual Studioで洗練されたインターフェースがここでも使えるようになったということである。

Expression Webで作ったWebページの情報をVisual Studioに持っていくと、デザインしたばかりのWebページが開発者向けのVisual Studioでも見ることができる。Microsoftはそのようなツール群の開発を進めている。

開発環境は統合化の方向

VistaをベースにしたサーバOSも、2007年末か翌年に出てくる予定である。つまり、リッチなグラフィックスを活かしたクライアントOSが広く普及してくる。ユーザの視点で見ると、今までWindowsアプリケーションは非常にリッチで使いやすいが、Webアプリケーションはプアで使いにくい、遅いというのが一般的な認識だったと思う。そこの垣根が、今後、例えばWPF/EとかAjaxを使うことによって、だんだん見えにくくなってくる。ユーザから見ると、Webアプリケーションかローカルのアプリケーションなのかよくわからないという時代が、まもなくやってくると思う。

開発者の視点で見ると、今までWebアプリケーションを作るときには、全く異なるテクノロジーとか開発環境とか言語を使わなければいけなかった。Windowsアプリケーションもまた違った開発環境、言語を使って、インターフェースを使わなければいけないという形だったが、Microsoftとしては、これからはそこをなるべく統一化していきたい。

作るプログラムは、最終的にどういうテクノロジー、インターフェースを使うのかということに依存しないで、Webアプリケーション、WPF/E、あるいはWindowsアプリケーションとしてローカルにインストールすればいい。

ただし、そこで必要となる開発スキルはメディアに依存するのではなく、あくまでも1本の統一されたものがあって、そこから派生的にいろいろ作り出すことができるというような状況になっていくと思う。

2007年2月9日PAGE2007コンファレンス「C4 Web2.0時代のサイト構築」より(文責編集)


会報「VEHICLE」2007年5月号 Vol.19 No.2通巻218号

会報ページへ

2007/08/29 00:00:00


公益社団法人日本印刷技術協会