前回は、MSDN オンラインの初心者向けコンテンツ・Code Recipeの中から、サンプルコードを提供する切り口としての「10行コードで学ぶ…」と「逆引きサンプルコード」について取り上げた。こうしたサンプルコードを、最初はそのまま、問題なく動作したらいろいろ手を加えつつ動作させてみることで、徐々に学習が進んでいくことだろう。

ところが、ひとつのアプリケーションがさまざまなテクノロジーの集合体で成り立つ傾向が強まっている昨今では、単に特定のテクノロジーについてコードを書けるだけでは完成品にならない場合が多い。そういった課題に対して、MSDN オンラインはどういった取り組みを行っているのだろうか?

実例で学ぶアプリケーション開発 Ver.2

といったところで登場するのが、タイトルにもある「実例で学ぶアプリケーション開発」だ。これは、開発のツールとしてVisual Studio 2010を使用して、さまざまな.NET関連テクノロジーを組み合わせながら、ひとつのアプリケーションを構築する過程について解説したものだ。

実例で学ぶアプリケーション開発 Ver.2
http://msdn.microsoft.com/ja-jp/samplecode.application.aspx

「実例で学ぶアプリケーション開発 Ver.2」は、Webベースのオンラインショップ構築を題材に、さまざまなテクノロジーを組み合わせたサンプル集だ

たとえばWebアプリケーションであれば、Webブラウザ上で動作するユーザーインタフェースが必要になる。昔ならHTMLタグを駆使して記述したところだが、現在ではSilverlightを活用することで、もっときれいで使いやすいユーザーインタフェースを構築できる。

ただし、それではユーザーが操作する部分の話だけだから、その操作を受けて作業を行うWebサーバ側のプログラムも必要だ。これはASP.NETの仕事になる。また、データベースにデータを格納したり、それを呼び出したりするのであれば、データベースアクセスに関するテクノロジーも関わってくる。もちろん、データの格納に使用するデータベース製品についての知識も必要だ。

「実例で学ぶアプリケーション開発 Ver.2」の場合、サーバとしてはWindows Server 2003、あるいはWindows XP SP3以降のWindowsとIIS 6.0ないしはそれ以上、データベースはMicrosoft SQL Server 2008、さらに.NET Framework 4とSilverlight 4を組み合わせている。Silverlightを利用しているため、Visual Studioだけでなく、Silverlight 4 Tools、WCF RIA Service Toolkit、Silverlight Toolkit April 2010(これのみ英語版)といったものも必要だ。

そして、何か具体性がないとピンとこないものだから、「MS Collection Store Sample」と名付けられた架空のアパレル企業による電子商取引サイトをモデルにして、開発を進めていく形をとっている。どの機能にどういったテクノロジーが関わっているかは、前述した「実例で学ぶアプリケーション開発 Ver.2」の中程にある「使用テクノロジ」を見ると、一覧表が載っているので、それを見るのが分かりやすいだろう。

Webアプリケーションひとつとっても、このようにさまざまなテクノロジーが関わってくる。それだけに、複数のテクノロジーを組み合わせたサンプルが提供されている意味は大きい

ちなみに、「Ver.2」があるのだから、当然ながらその前に「Ver.1」があった。「実例で学ぶアプリケーション開発 Ver.1」として、ADO.NETとAJAXを用いたものを提供していた。ひところ、ユーザーインタフェース構築の手段としてAJAXが脚光を浴びていたが、現在ではSilverlightのような新しいテクノロジーが出てきたので、それを受けてサンプルもバージョンアップしたわけだ。

実例で学ぶアプリケーション開発 Ver.1
http://msdn.microsoft.com/ja-jp/dd266962.aspx

個別のテクノロジーについて知りたいときは

この「実例で学ぶアプリケーション開発」は、さまざまなテクノロジーを組み合わせて具体的なアプリケーションを形にする手法について解説している。さらに、そこで使用するサンプルコードをダウンロードして、実際に動かすことができるようにもなっている。

もっとも実際問題としては、組み合わせて動作させる各種のテクノロジーについて知らなければ、実際に動作させるアプリケーションを開発するのは難しい。すでに本連載で取り上げている「10行コードで学ぶ…」や「逆引きサンプルコード」といったものを使えば、確かに特定の用途に関して動作するコードを手に入れることはできるが、それはWordやExcelで「ここをこう操作すると、こうなります」と教えられた状態と同じ。

そこからさらに理解を深めるためには、テクノロジーそのものの概念や基本となる考え方、動作原理などについて知っていく必要がある。そうなると、個々の開発製品やテクノロジーごとに用意されている「デベロッパーセンター」、あるいは「MSDNライブラリ」といったものの出番になる。

たとえばSilverlightについては、「Silverlightデベロッパーセンター」の中に「Silverlightとは」というコンテンツがあり、Silverlightが何者で、どんなことができるのかについて解説している。また、関連資料へのリンクも用意されている。

Silverlightとは
http://www.microsoft.com/japan/silverlight/aboutSilverlight.aspx

Silverlightリソース
http://www.microsoft.com/japan/silverlight/resources.aspx

個別のテクノロジーについて詳しく知りたいときには、製品、あるいはテクノロジーごとに用意されている「デベロッパーセンター」を活用したい(これはSilverlightのもの)