Global Knowledge Japan

Win Win Windows
ホーム > Win Win Windows > .NET Framework

Win Win Windowsコラム
第19回: Visual Studio .NET登場から10年
執筆:大貫淳子

新年あけましておめでとうございます。本年もよろしくお願いします。


今年も、昨年に引き続き「クラウド」がIT分野の大きなテーマになりそうです。クラウド時代では、システム管理者の仕事が減り、システム開発者の仕事が増えると言われています。この機会に、プログラミングの勉強を始めてみてはどうでしょう。


マイクロソフトが提供しているアプリケーション実行環境が「Microsoft .NET Framework」、通称「.NET(ドットネット)」です。そして、NETの標準開発環境として2002年に登場したのがMicrosoft Visual Studio 6.0から大きく進化したMicrosoft Visual Studio .NETです(現在の最新版は「Visual Studio 2010」)。


10年ひと昔と言いますが、Visual Studioはこの10年に5回のバージョンアップを重ね、よりリッチで、さらに使いやすい開発用アプリケーションに洗練されています。一方で、基本的な操作そのものには大きな変化はありません。言い換えれば、それだけ完成度が高いとも言えます。


Visual Studioの人気は高く、非マイクロソフト系言語を使う人からも「あれが○○言語でも使えればいいのに」という話もよく聞きます。Visual Studioは複数の言語に対応していますが、Javaを含め対応していない言語も多くあります。


Visual Studioで使える代表的な言語に "Visual Basic" と "C#" があります。Visual Basicは.NET以前から存在する歴史のある言語です。WindowsベースのGUI画面のあるアプリケーションの作成に、非常に効力を発揮します。C#は、.NETとともに登場したので.NET Framework による開発を最も効率よく行える言語と言えます。


今回は、それぞれの言語で採用された新機能をいくつか紹介します。


まずはVisual Basicからです。


● 複数行の最後の _ (アンダースコア)が不要

Visual Basicユーザーからすると、かなり驚きの仕様変更ではないかと思います。少なくても私はそうです。


Visual Basicは行単位で処理を行っていくので、行のつながりを示す " _ " というキーワードが必須となっていたのですが、_ がなくても複数行の処理を記述できるようになりました(一部条件あり)。「暗黙の行連結」あるいは暗黙の行継続と呼びます。


以前のコード

txtFullName.Text = "姓:" + txtLastName.Text +  _   
"名:" + txtFirstName.Text

最新版

txtFullName.Text = "姓:" + txtLastName.Text +
 "名:" + txtFirstName.Text


● プロパティ プロシージャの自動化

こちらは、C#ではすでに取り入れられていた機能で「自動実装プロパティ」と呼びます。

詳しいコードは記述しませんが、コーディングの際にアクセサーブロックを記述する必要がなくなりすっきりとします。


つづいてC# です。


● 名前付き引数と省略可能引数

メソッド(処理のかたまり)の呼び出しの際に、引数として情報を渡しますが、引数の順番や数の指定が、より柔軟になりました。ちなみに、Visual Basicでは、.NET以前から採用されていた機能です。

例えば、4つの数字を受け取り加算するメソッドがあるとします。


public int AddArg(int arg1, int arg2, int arg3 = 0, int arg4 =0 ) 
{
return arg1 + arg2 + arg3 + arg4;
}


呼び出しの際、以前のバージョンでは引数はメソッドの定義と同じく4つ

AddArg(10, 20, 0, 0);

でなければいけませんでしたが、最後2つの引数は指定がない場合に0が代入されますので、

AddArg(10,20);


と必須の2つだけの指定でもOKになりました。

また、引数を渡す順番を変えることもできます。この時は名前付き引数を指定します。


AddArg(arg2:10,arg3:20,arg1:0);


「Visual BasicとC#、どちらをつかったらよいか?」という質問を耳にすることがあります。


弊社大阪支店では、何度かこのタイトルのセミナーも開催されました。そのぐらい、比較対象としてよく挙げられる言語ですが、バージョンアップを重ね、それぞれの仕様の良いところを取り入れ、切磋琢磨しているように感じます。


Visual Basic、C# の最新のコースはこちらです


なお、「Visual Studio Express」は無償で提供されています。Expressではグループでアプリケーション開発をする機能が削除されていますが、基本的な開発機能はすべて備わっています。これからWindowsアプリケーションの開発を検討されている方はぜひ試してみてください。

[.NET Framework][2012年1月10日配信]

Win Win Windowsコラム
第7回: Web アプリケーション フレームワークを有効活用しましょう
執筆:鈴木 和久

●手早くおいしい物をつくりたいのです

 

必要に迫られて台所に立つことがあります。とりたてて料理好きという訳ではありませんし、残念ながら上手でもありません。できるだけ「おいしいもの」を作りたいので、少ないレパートリーの中からなにかしら手作り感のあるものをと奮闘するのですが、食べ盛りの子供が「すぐになにか食べたい」と間断なく主張を繰り返すなか調理するとなると、結局「下ごしらえ済みの食材」のお世話になる訳です。

よく使うのが、ホールトマト缶です。しかも、こまかくカットされたもの。これがあれば、ミネストローネとかチキントマト煮込み、煮込みハンバーグなどのレシピのハードルを下げてくれます。大豆水煮缶とか固形スープの素とかもいろいろな料理で使います。
これらの「食材」がなかったら私のレパートリーはさらに限られたものになるでしょうし、調理にかかる時間、出来上がり具合などもレベルダウンすること必至です。

 


●アプリケーション フレームワークはソフトウェアの食材

 

ソフトウェア開発の世界で、「下ごしらえ済みのソフトウェア部品」と言えるのが「アプリケーション フレームワーク」です。一般的にはクラスライブラリの形式で提供されるクラスのセットを指すことが多いようです。人によってフレームワークの範囲が異なる場合がありますが、ここでは、OSが提供するシステムコールや言語に組み込まれた関数群などは含まず、「具体的な用途向けに最適化されたソフトウェア部品のセット」と定義します。
Microsoft から提供されているアプリケーション フレームワークが .NET Framework です。2002 年にバージョン 1.0 がリリースされ、1.1(2003年)、2.0(2005年)、3.0(2006年)、3.5(2008年)、4.0(2010年)とバージョンアップを重ねています。4,000個を超える膨大なクラス群と20種以上のプログラミング言語に対応した共通言語ランタイムから構成されます。様々なアプリケーションのタイプ毎にグループ化されたクラスライブラリの中で、Web アプリケーション向けのものは ASP.NET と呼ばれます。

 

●Web アプリケーション フレームワークの選択肢がいろいろ

 

ASP.NET の中でも、アーキテクチャやデザイン パターンによっていくつかのフレームワークに分類されます。

 

(1) Web フォーム
.NET Framework 1.0から提供されています。サーバー コントロールと呼ばれるクラスによって、ブラウザ毎に最適化された HTML の自動生成と、クライアント側イベントをサーバー側で処理するための包括的なフレームワークを提供します。MVC(Model View Controller)アーキテクチャの実装パターンとして、ページ毎に独立したコントローラ クラスを実装するページコントローラ パターンを適用することが可能です。MVCは、ユーザーインターフェイスを持つアプリケーションを、データ構造(モデル)、表示と入力(ビュー)、および制御(コントローラ)に分割し、プログラムの拡張性向上を目指す設計手法です。

 

(2) ASP.NET AJAX
.NET Framework 3.5から標準提供されました。Web フォームに組み込まれるサーバー コントロールのセットで、Ajax(Asynchronous JavaScript + XML)機能を、ASP.NET に統合します。ページの部分更新のためのクライアント側 JavaScript の自動生成と、クライアント側のユーザー インターフェースを拡張する Microsoft AJAX Library で構成されます。

.NET Framework 4.0 からは後者の役割として、jQuery(JavaScriptライブラリ標準)も正式サポートされました。

 

(3) ASP.NET MVC
.NET Framework 4.0から標準提供されました。MVC アーキテクチャを、単一のコントローラ クラスによって実装するフロント コントローラ パターンを採用しています。

MVCアーキテクチャの実装パターンによって、「Webフォーム」、「ASP.NET MVC」のどちらかを選択することができます。
また、ASP.NET は別に Silverlight と呼ばれる Web アプリケーション フレームワークも提供されています。Silverlight は、Web ブラウザのプラグインとしてインストールされるクライアント側のテクノロジです(Mac OS Xもサポートされます)。プラグインには .NET Framework for Silverlight と呼ばれる .NET Framework のサブセットが含まれます。C# などの言語で作成された Silverlight アプリケーションは、OBJECT タグによって Web ページに組み込まれ、プラグインによって実行されます。JavaScript だけでは実現できない高度な RIA(Rich Internet Application)を実装することを可能にします。

 


●アプリケーション フレームワークを有効活用するために

 

アプリケーション フレームワークの使用目的は、「開発生産性の向上」と「成果物の品質の均一化」でしょう。ただ、この目的は、使用するアプリケーション フレームワークの機能と仕組みをしっかり理解しないと達成することは困難だと思います。アプリケーション フレームワークは、一定の開発ルールを開発者に課しますので成果物の破たんをある程度抑制してはくれますが、それには限界があります。また生産性の向上は、言うまでもなく「使い慣れている」ことが前提です。

グローバルナレッジでは、アプリケーション フレームワークを短期間で効果的に修得していただくための研修をご提供します。

 

ASP.NETプログラミング ~Visual Studio 2008によるWebアプリケーション開発~(MSC0174G)

  

ASP.NET Ajaxプログラミング ~ASP.NET Ajaxによるリッチユーザーインターフェース構築~(MSC0176G)

  

速習Silverlightプログラミング ~SilverlightによるRIA開発概要~(MSC0215G)

 

 



鈴木 和久
グローバル ナレッジネットワーク株式会社で、ITプロフェッショナル向け教育コースを担当。
現在は、Micosoft ,NETを中心に、研修の企画、開発、実施を行う。

「基礎からのASP.NET」(ソフトバンククリエイティブ発行)をグローバルナレッジ 目時秀典と共著。
講師が執筆した書籍・寄稿記事関連はこちら 


[.NET Framework][2010年9月14日配信]

*Microsoft、Windowsは、米国Microsoft社の登録商標です。
*Oracleは、米国オラクル・コーポレーションおよびその子会社、関連会社の米国およびその他の国における登録商標です。
*BOOT CAMP、NEW TRAIN、NETGUNはグローバル ナレッジ ネットワーク株式会社の登録商標です。
*その他このサイトに掲載された社名、製品名は、各社の商標、または登録商標です。
*推奨ブラウザ:Internet Explorer 6.0/FireFox 3.0以上

© Global Knowledge Network Japan, Ltd. 2008-2011, All Rights Reserved.
  • Get ADOBE READER