hello ".net" world

38
わんくま同盟 http://www.wankuma.com/ Hello “.NET” World! まさる@わんくま同盟 http://blogs.wankuma.com/masaru/

Upload: sho-takano

Post on 20-Jul-2015

855 views

Category:

Technology


0 download

TRANSCRIPT

わんくま同盟 http://www.wankuma.com/

Hello “.NET” World!

まさる@わんくま同盟http://blogs.wankuma.com/masaru/

わんくま同盟 http://www.wankuma.com/

自己紹介

• ハンドルまさる• 性別 ♂見ての通り• 職業 SE兼プログラマ( C#がメイン)• 趣味

– 楽器演奏 バスクラリネット– 読書

•小説•技術書•ビジネス書

わんくま同盟 http://www.wankuma.com/

…詳しくは

まさる blogでググってくださいませ<(_ _)>

わんくま同盟 http://www.wankuma.com/

Agenda

• .NETってなに?• .NET Frameworkとは?• .NETプログラミング• .NETの特徴

わんくま同盟 http://www.wankuma.com/

.NETってなに?

わんくま同盟 http://www.wankuma.com/

.NETってなに?

• .NETの歴史• Microsoft .NET構想

わんくま同盟 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/

… ただ、今のところあまりうまくいってない (^ ;̂

わんくま同盟 http://www.wankuma.com/

. NET Frame wo rkとは?

わんくま同盟 http://www.wankuma.com/

.NET Frameworkとは?

• Microsoft .NET構想に対応したエンタープライズアプリケーションの開発プラットフォーム

• Windowsアプリケーション、Webアプリケーションなど幅広いアプリケーションの開発をサポート

• .NET Frameworkに対応したアプリケーションの開発には Visual Studioを用いる– 最新バージョンは Visual Studio 2008

わんくま同盟 http://www.wankuma.com/

.NET Frameworkの構成

.NET Framework

CLR

BCL

ASP.NET ADO.NET etc・・・

わんくま同盟 http://www.wankuma.com/

CLR(Common Language Runtime)

わんくま同盟 http://www.wankuma.com/

.NET Frameworkの構成

.NET Framework

CLR

BCL

ASP.NET ADO.NET etc・・・

わんくま同盟 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)

わんくま同盟 http://www.wankuma.com/

.NET Frameworkの構成

.NET Framework

CLR

BCL

ASP.NET ADO.NET etc・・・

わんくま同盟 http://www.wankuma.com/

BCL(Base Class Library)

• .NET Frameworkの基本クラスライブラリ• 基本となるクラスが定義されている

– 基本型– IO– コレクション– 配列– etc...

わんくま同盟 http://www.wankuma.com/

様々なクラスライブラリ

わんくま同盟 http://www.wankuma.com/

.NET Frameworkの構成

.NET Framework

CLR

BCL

ASP.NET ADO.NET 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/

XML

• XML操作用クラスライブラリ– XMLの読み書き– XPath– XSL– etc...

わんくま同盟 http://www.wankuma.com/

. NET プログラミング

わんくま同盟 http://www.wankuma.com/

.NET プログラミング

• .NET 言語• .NET プログラムの動作原理

わんくま同盟 http://www.wankuma.com/

.NET 言語

わんくま同盟 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 プログラムの動作原理

わんくま同盟 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 プログラムの特徴

わんくま同盟 http://www.wankuma.com/

.NET プログラムの特徴

• メリット– 必要なファイルを配置するだけで実行可能– 他の言語で作成されたライブラリを使用できる

– ガベージ・コレクタによりメモリ管理が自動で行われる

• デメリット– .NET Frameworkをインストールしなければならない• Vista以降は既定でインストールされているため問題ない

わんくま同盟 http://www.wankuma.com/

まとめ

わんくま同盟 http://www.wankuma.com/

まとめ

• .NETを使えば、Windowアプリ、Webアプリなど、様々なプログラムを手軽に作成できる

• プログラミング言語は好きなものを選べる• ただし、動作には .NET Frameworkのインストール必須

わんくま同盟 http://www.wankuma.com/

みんな .NETやればいいよ!

わんくま同盟 http://www.wankuma.com/

おしまい!

ご静聴ありがとうございました<(_ _)>