hello ".net" world
TRANSCRIPT
わんくま同盟 http://www.wankuma.com/
自己紹介
• ハンドルまさる• 性別 ♂見ての通り• 職業 SE兼プログラマ( C#がメイン)• 趣味
– 楽器演奏 バスクラリネット– 読書
•小説•技術書•ビジネス書
わんくま同盟 http://www.wankuma.com/
.NETの歴史
• 2000年 Microsoft .NET構想発表• 2002年 .NET Framework 1.0発表• 2003年 .NET Framework 1.1発表• 2005年 .NET Framework 2.0発表• 2006年 .NET Framework 3.0発表• 2007年 .NET Framework 3.5発表• Future .NET Framework 4.0?
わんくま同盟 http://www.wankuma.com/
Microsoft .NET構想とは?
• 2000年 6月に Microsoftが発表した同社の次世代インターネット戦略
• SOAP+XMLを用いたWebサービスを主軸に置く
• Webサービスを使い、企業 -企業、個人 -企業、個人 -個人が、いつでもネットワークで連携できるようにしようという考え
わんくま同盟 http://www.wankuma.com/
.NET Frameworkとは?
• Microsoft .NET構想に対応したエンタープライズアプリケーションの開発プラットフォーム
• Windowsアプリケーション、Webアプリケーションなど幅広いアプリケーションの開発をサポート
• .NET Frameworkに対応したアプリケーションの開発には Visual Studioを用いる– 最新バージョンは Visual Studio 2008
わんくま同盟 http://www.wankuma.com/
CLR(Common Language Runtime)
• CLI(Common Language Infrastructure)のWindow用実装。– CLIは Microsoft .NETのプログラムの動作環境の仕様で、 ECMAによって規格化されている
• .NET プログラムはこのランタイム上で動作する
わんくま同盟 http://www.wankuma.com/
BCL(Base Class Library)
• .NET Frameworkの基本クラスライブラリ• 基本となるクラスが定義されている
– 基本型– IO– コレクション– 配列– etc...
わんくま同盟 http://www.wankuma.com/
ASP.NET
• Webアプリケーション用クラスライブラリ– Web用コントロール群– Session操作– Cookie操作– Htmlエンコード、デコード– URLエンコード、デコード– etc...
わんくま同盟 http://www.wankuma.com/
ADO.NET
• DBアクセス用クラスライブラリ– 対象 DB
• SQL Server• Oracle• etc...
– コネクション管理– トランザクション管理– クエリ実行– DataSet, DataTable– etc...
わんくま同盟 http://www.wankuma.com/
Windows Forms
• Windowsアプリケーション用クラスライブラリ– ウィンドウ– 各コントロール群– クリップボード操作– 各種ダイアログ– etc...
わんくま同盟 http://www.wankuma.com/
.NET 言語
• CLSに準拠したプログラミング言語– C#– VB.NET– C++/CLI– IronPython– IronRuby– etc...
CLS: Common Language Specification– 共通言語仕様– CLRで動作するプログラム言語の共通仕様を定めたもの
わんくま同盟 http://www.wankuma.com/
.NET言語
• CTSに基いた型、クラス、インターフェイスが利用できる– CTS(Common Type System)
.NET 言語で使われる統一されたデータ型
数値型
日付型
文字列型
整数型 (32bit)
型名
DecimaldecimalDecimal
DateDatetimeDatetime
StringstringString
IntegerintInt32
VBC#CTS
わんくま同盟 http://www.wankuma.com/
.NET プログラムの動作原理
• .NET 言語で記述• コンパイラ MSIL(Microsoft Intermediate
Language)で記述された EXE,DLLが作られる• MSILが CLRによってネイティブ形式に変換され実行される– JIT(Just-In-Time)コンパイル
MSIL:Microsoft Intermediate Language– マイクロソフト中間言語– プログラミング言語とネイティブコードの中間に位置する、アセンブラのような言語
わんくま同盟 http://www.wankuma.com/
.NET プログラムの動作原理
public class Hoge { public static void Main() { string hoge = “Hello World!”; Console.WriteLine(hoge); }}
C# : Hoge.cs
.assembly hello{}
.method public static void main() { .entrypoint ldstr “Hello World!“ call void [mscorlib]System.Console::WriteLine(string) ret}
MSIL : Hoge.exe
コンパイル : csc.exe
実行
CLR
ネイティブコード
00 1F 9B CD CC ...
JIT コンパイル
わんくま同盟 http://www.wankuma.com/
.NET プログラムの特徴
• メリット– 必要なファイルを配置するだけで実行可能– 他の言語で作成されたライブラリを使用できる
– ガベージ・コレクタによりメモリ管理が自動で行われる
• デメリット– .NET Frameworkをインストールしなければならない• Vista以降は既定でインストールされているため問題ない
わんくま同盟 http://www.wankuma.com/
まとめ
• .NETを使えば、Windowアプリ、Webアプリなど、様々なプログラムを手軽に作成できる
• プログラミング言語は好きなものを選べる• ただし、動作には .NET Frameworkのインストール必須