Ajaxフレームワーク「Atlas」で変わるASP.NETアプリケーション

米Microsoft
Product Unit Manager
UI Framework and Services
シャンク・ニョーギ(Shanku Niyogi)

聞き手、文責:デジタルアドバンテージ
2006/10/11

 Windows Vistaの登場に合わせてまた大きく進化する.NETプラットフォームであるが、それより一足先に、ASP.NETによるWebアプリケーション開発にも1つの大きな波が訪れようとしている。Ajax(Asynchronous JavaScript And XML)技術とJavaScriptを駆使し、ASP.NETアプリケーションのユーザー・インターフェイス(UI)をよりリッチなものにするフレームワーク「Atlas」である。

 過去最高の参加者があったという2006年8月末のTech・Ed 2006 Yokohamaでは、Atlasに関するセッションもいくつか設けられたが、広いホールと英語による解説にもかかわらず、会場は多くの参加者で埋め尽くされ、皆がAtlasのデモに見入った。今回はそれらのセッションのスピーカーとして来日した米Microsoftのシャンク・ニョーギ氏にAtlasについてお話を伺った。

―― まずはあなたの担当と使命についてお聞かせください。

 

 わたしはMicrosoftでUIフレームワークおよびサービスを担当しています。わたしのチームでは、今回のAtlasをはじめ、ASP.NET、Windowsフォーム、そして新しいWindows Presentation Foundation(WPF)などを担当しています。これらの製品は、プレゼンテーション層における戦略の拡大に伴って、複数プラットフォームや複数ブラウザで実行可能なスタンダード・ベースのクライアントから、Windows上でリッチなエクスペリエンスを提供するものまでかなり広範囲にわたっています。

 この領域で、われわれが達成しようとしている目的は主に2つです。

 その1つはデベロッパーに一貫したプログラミング・モデルを提供することです。これは、それらのプラットフォーム上でアプリケーションを開発するときに開発者の生産性を大きく改善します。WPFならWindows、Atlasならブラウザ環境といった、そのプラットフォームの能力を最大限に活用できるようなベストなエクスペリエンスの提供を達成しようとしています。

 そしてもう1つは、すべての開発ライフサイクルに通じたソリューションを提供するということです。デザイナーと開発者がいっしょになって取り組む、あるいはアーキテクトやテスター、データベース設計者が共通のツールを使用し、協業ができるようにするといったことです。

 そして今回のAtlasとASP.NETの組み合わせでは、どんなブラウザでも利用できるスタンダード・ベースの(=標準的なHTMLやCSSで記述された)Webアプリケーションを提供できます。つまり、クライアントをインストールしたりダウンロードしたりする必要がなく、より生産性の高い豊かなエクスペリエンスを体験することができます。

 Atlasには、2つのキーとなる要素があります。1つは、Ajaxプログラミング・モデルの提供です。ASP.NET開発者はJavaScriptなどを学ばなくてもASP.NETアプリケーションの表現力や操作性をより豊かなものにできます。もちろん、Ajaxで要求される非同期プログラミングなどもカバーしています。

 またAtlasにはクライアント・スクリプト・ライブラリというものがあり、JavaScriptやコンポーネント、アプリケーション構築のための、よりリッチな環境を提供します。これは、複数のブラウザ上で動作し、Windows、Linux、Macなどの複数プラットフォームにも対応できるようになっています。

―― コード名である「Atlas」ですが、これには何か意味があるのですか?

 

 ASP.NETチームでは、よく土星に関連するものをコード名として使っています。Atlasは土星の衛星の名前です*1。もちろんコード名なので、まもなくこの名称は正式なものに変わります*2

*1 以前には土星探索機「Cassini」がコード名に使われたこともあった(参照:Web Matrix日本語版開発秘話

*2 インタビュー後に掲載されたMicrosoftのScott Guthrie氏のブログによると、Atlasに含まれる各モジュールは以下のような名称になるとされている。

・クライアント・サイドのJavaScriptライブラリ
 → 「Microsoft AJAX Library」

・サーバ・サイドのモジュール
 → 「ASP.NET 2.0 AJAX Extensions」

・コントロール/コンポーネント・パッケージ(Atlas Control Toolkit)
 → 「ASP.NET AJAX Control Toolkit」

Atlasのリリースについて

―― Atlasのリリース時期はいつごろになりますか?

 

 Atlasの開発はいろいろな方法で進められました。例えば、早い段階からCTP(Community Technology Preview)版をリリースして、いろいろなフィードバックをいただきました。現在でもCTP版を使ってアプリケーションをデプロイできます。ただしこれはまだコミュニティ・サポートに限られています(Microsoftによる正式サポートは行われない)。

 当初の予定では、次期.NET FrameworkといっしょにAtlasをリリースしようと考えていました。しかし、もっと早くリリースしてほしいというリクエストが多く寄せられたので、今年(2006年)の末にはリリースしたいと考えています。

―― では、Windows Vistaに搭載される.NET Framework 3.0には含まれるのでしょうか?

 

 いえ、すでに.NET Framework 3.0はほとんどロックダウンされて(仕様が確定されて)いるため、それには含まれません。

 .NET Frameworkのバージョン番号に関しては少しややこしくなっています。Atlasは今年末に出すといいましたが、これは.NET Framework 2.0があれば動作するものです。

Vistaの地平:第1回 Windows Vistaとは何か?
「2.Vista OSの構成」

 .NET Framework 3.0は、かつてWinFXと呼ばれていたもので、.NET Framework 2.0をベースに、WPFやWCF(Windows Communication Foundation)、WF(Windows Workflow Foundation)を組み込んだものです。Windows Vistaとともにリリースされ、XP、2003用にもリリースされます。

 そして、その次のバージョンの.NET Frameworkは、現時点では「3.5」となる予定です。これにはAtlasが含まれる予定です。

―― ちなみに、ASP.NET 2.0はASP.NET 3.0となるのですか?

 

 確定していませんが、皆さんの混乱を避けるためにASP.NETと.NET Frameworkは同じバージョンにしようと思っています。ただ、3.0は先ほどいった3つが入れられただけなので、ASP.NET 2.0の次はASP.NET 3.5になります。ASP.NET 3.0というものは存在しません。AtlasをASP.NET 3.0だと考えていただいてもよいのですが、そういう名称にはなりません。

―― Atlasは単体でリリースされるということですが、これは無償ですか? また、どのような形で提供されるのでしょうか?

 

 はい。フレームワーク・テクノロジは基本的に無償で提供していきます。Webからダウンロードしていただく形でリリースします。CTP版との大きな違いはMicrosoftが全面的にサポートするということです。

Atlasの使いどころ

―― Ajaxの知識やJavaScriptの知識がまったくなくてもAtlasは使えますか?

 

 例えばいまWebアプリケーションがあるとします。これにはデータ連結コントロールであるデータグリッドが配置されているとしましょう。Atlasにはアップデート・パネルというコンセプトがあり、データグリッドをアップデート・パネルの中に入れることができます。

 アップデート・パネル内に配置されたデータグリッドは、ページ全体を更新せずに(画面をちらつかせずに)その部分だけを更新することができます。すべてのサーバ・コントロールはアップデート・パネルとともに機能して、より素晴らしいエクスペリエンスを提供します。

―― 少なくとも日本では、クライアントの多くはWindowsです。WindowsアプリケーションであればClickOnceというテクノロジがありますが、ClickOnceとAtlasで作ったWebアプリケーションはどのように使い分けられるのですか?

 

 私のチームはWindowsフォームとASP.NETの両方を担当しているので、それについてはユニークな観点から意見を述べることができます。

 もちろん多くのアプリケーションのシナリオがありますが、ClickOnceを活用したスマート・クライアントは生産性が強く求められる場面で使われるべきです。しかし同時に、クライアント・アプリケーションをデプロイするのはWebアプリケーションよりも難しく、広範囲なユーザーに対して提供する場面では使えません。

 使い分けの1つの例としてOutlookがあります。多くのデスクトップ・コンピュータ(Windows)にはOutlookが搭載されており、メールのエクスペリエンスに関しては、これはベストなプレゼンテーション能力を持つUIであり、オフラインでも作業できます。しかし例えば空港に行ってPDAや備え付けのコンピュータを使う場合には、デスクトップ版のOutlookはかえって使いにくい、あるいは使えないものになります。

 しかしOutlook Web Accessであれば、どのコンピュータからもメールにアクセスできます。これはベストなエクスペリエンスを提供するものではありませんが、限られた環境でもその機能は十分に果たせると思います。

 Outlook Web Accessの構築にはユーザー・エクスペリエンスを向上させるための数多くのテクニックが使われましたが、そのようなテクニックをすべての開発者が使えるように、われわれはAtlasを開発しました。もちろん、これによってデスクトップ版のOutlookが不要になるということではありませんし、デスクトップ版の方がより優れたエクスペリエンスであることは明らかですが。

―― Atlasでやろうとしていることは、すでにFlashなどで実現できることではないのですか?

 

 AtlasとFlashは似たような機能性を持っていますが、AtlasがFlashと大きく違うのは、完全にオープンでスタンダードなクライアントで使えるという点です。ActiveXコントロールやプラグインをインストールする必要がありません。

 これはAtlasがHTMLやJavaScript、CSSなどの現在のWebスタンダードに準拠しているからです。つまり、Atlasにより既存Webアプリケーションの操作性を、システムの再構築なしに改善できるということです。

―― イントラネット向けの業務用Webアプリケーションの場合でも、わざわざAtlasを学んでまでUIをリッチにする必要はありますか?

 

 ええ、その理由はいくつかあります。まず、コンシューマ・エクスペリエンスの差別化です。イントラネットであっても、より便利なインターフェイスをデザインできればユーザーの生産性を向上させることができると思います。もちろんこれはインターネット向けのWebアプリケーションでも同様です。

 デプロイメント・コストのためにWindowsクライアントからWebへ移行している企業では、アプリケーションの使い勝手が悪くなり生産性も落ちているでしょう。そのような場合にはAtlasが提供するAjax技術は非常に有効だと思います。 End of Article

 
インデックス・ページヘ  「Trend Interview」


Insider.NET フォーラム 新着記事
  • 第2回 簡潔なコーディングのために (2017/7/26)
     ラムダ式で記述できるメンバの増加、throw式、out変数、タプルなど、C# 7には以前よりもコードを簡潔に記述できるような機能が導入されている
  • 第1回 Visual Studio Codeデバッグの基礎知識 (2017/7/21)
     Node.jsプログラムをデバッグしながら、Visual Studio Codeに統合されているデバッグ機能の基本の「キ」をマスターしよう
  • 第1回 明瞭なコーディングのために (2017/7/19)
     C# 7で追加された新機能の中から、「数値リテラル構文の改善」と「ローカル関数」を紹介する。これらは分かりやすいコードを記述するのに使える
  • Presentation Translator (2017/7/18)
     Presentation TranslatorはPowerPoint用のアドイン。プレゼンテーション時の字幕の付加や、多言語での質疑応答、スライドの翻訳を行える
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Insider.NET 記事ランキング

本日 月間