Atlasを使ったASP.NET 2.0アプリケーションの開発

Scott Guthrie により、ASP.NET 2.0とAtlasを使った簡単なTo do listのウェブアプリケーションを実装が紹介されています(英語)

https://download.microsoft.com/download/8/5/8/85803fdd-fe9a-4783-ab37-e0c565172ffd/asp_net_atlas.wmv

18分間のビデオ(スクリーンキャスト)です。

素直に見た感想、「え、こんなに簡単に実装できるものなの!?」。

英語はちょっと・・・という方も、一度は見ておいて損はないかと思います。すべての作業をVisual Studio 2005のIDEで実行するので、Visual StudioやSQL Serverの前提知識についてはあってもなくても構いません。

ビデオでは、まず、Postbackを使ったWebアプリケーションによる、データアクセスが紹介されます。これだけでは、Ajaxの動きではありません。Webベースのデータベースアプリケーションの入門的な部分をカバーしているため、Ajaxの実装、Atlasを利用するまでの段階を丁寧に説明しています。

ASP.NET 2.0のGridView、DetailViewを使って、データベース側はSQL Server 2005 Express Edition上のテーブルを作成するところから、DataAdapter Configuration Wizardを使ってデータアクセス層をプログラミングレスで作っているのがわかります。

ページを書き換えるタイミングになったら、必要な部分をレンダリングするのがAjaxのいいところでありますが、このビデオではAtlasを使って、複雑なプログラミングをすることなく、レンダリングの問題を解決しています。もちろん、Internet Explorerだけでなく、FireFoxでも動作するのが紹介されています。

ASP.NET 2.0とAtlasで、ページの一部をレンダリングすることを指示するための処理は、非常に簡単です。

<atlas:ScriptManager ID="s1" EnablePartialRendering="true" runat="server" />

<atlas:UpdatePanal ID="p1" runat="server">

  <ContentTemplate>

      ... ここにレンダリングするコントロールを配置する

  ... 例

    <asp:GridView ID="GridView1" ... >

    </asp:GridView>

  </ContentTemplate>

  <Triggers>

  ... ここにレンダリングのトリガーを記述する

  ... 例

    <atlas:ControlValueTrigger ControlID="DropDownList1" PropertyName="SelectedValue" />

  </Triggers>

</atlas:UpdatePanel>

また、非同期処理を行う際に、通信中(更新中)であることをブラウザに表示する場面があるかと思います。これも簡単です。

<atlas:UpdateProgress ID="progress1" runat="server">

  <ProgressTemplate>

  ... ここにアニメーションGIFや文字を配置する

  </ProgressTemplate>

</atlas:UpdateProgress>

ビデオの中で、登場するプログラムコードは、ほとんどありません。一部、サーバとの通信時間をシミュレートするために意図的にC#でスレッドを作り、待ち時間を作るコードが紹介されていますが、本ビデオの本筋ではありません。

AjaxでのWebアプリケーション実装において、Atlasを使えば、JavaScriptをゴリゴリ書かなくてもよい点。また、マルチブラウザ環境への対応。これからAjaxアプリケーションを作ってみたい人には、ASP.NET 2.0 & Atlasがおすすめです。

参考情報: Atlasを使ったサイトがインターネット上に存在しますよー。https://www.pageflakes.com/