제 1장 .NET Framework
1. 닷넷 프레임워크
1.1 닷넷 프레임워크에 대한 소개
많은 사람들이 .NET에 대해 얘기하지만 .NET은 프로그래밍 언어가 아니다. 비록 .NET이라는 환경을 위한 다양한 언어들 (C#.NET, VB.NET, VC.NET, 등)을 제공하지만, 엄격히 말해 .NET을 프로그래밍 언어라고 볼 수는 없다. 여기서 얘기하고자 하는 .NET은 공통된 환경(CLR, Common Language Runtime)과 공통된 라이브러리(FCL, Framework Class Libraries)를 제공하는 사용자 플랫폼이라고 보면 될 것이다. 이를 위해 CLI(Common Language Infrastructure)에서 실행 코드와 실행 환경에 대한 명세를 제공한다. 서로 다른 언어들과 플랫폼에서 상호 호환성을 유지하기 위해서는 각각의 언어들이 플랫폼과 는 독립적으로 동일한 형태의 형을 지원해야 한다. 이를 .NET Framework에서는 CTS(Common Type System)라는 형태로 지원하고 있다. 자바의 JVM(Java Virtual Machine)과 비슷하다고 보면 된다. CTS은 다양한 형태의 형들에 대한 지원을 지원한다. CTS는 다양한 언어들의 컴파일러에 의해 공유되며, 공통된 형을 통해 다양한 언어들에 대한 통합, 형 안전성, 실행코드들의 성능을 향상 시킨다.
CLI는 CTS에 정의된 형들에 대한 참조를 위해 메타 데이터를 사용한다. Metadata는 프로그램 언어에 독립적으로 저장된다. 그런 이유로, 메타데이터는 컴파일러나 디버그와 같은 툴과 VES(Virtual Execution System)사이에 교환 메커니즘을 제공한다. VES는 메타데이터와 수행가능한 관리 코드들에 대한 수행과 로딩을 담당하며, CLI기반의 언어들과 VES와 메타데이터들을 이용해서 통신이 가능하다.
1.2 닷넷 프레임워크의 장단점
2. 닷넷 프레임워크 3.0
닷넷 프레임워크 3.0은 .NET Framework 2.0에 WPF(Windows Presentation Foundation), WCF(Windows Communication Foundation), WF(Windows Workflow Foundation), CardSpace의 4가지 기술이 결합 확장된 형태라고 보면 된다. 닷넷 프레임워크 3.0를 이용하기 위해서는 각각의 프레임워크 SDK와 Visual Studio .NET 2005의 확장 플러그인 형식으로 제공되는 파일을 다운받아 이용할 수 있다. 여기서는 WPF, WCF, WF, CardSpace에 대한 각각의 소개는 다음으로 미루기로 하겠다.
3. C#에 대한 소개
C#은 ECMA-334와 ISO/IEC 23270에 의해 표준화 되어 있으며, Microsoft의 C# 컴파일러는 이 표준에 따라 작성되었으며, 닷넷 프레임워크 하에서 돌아간다. C#은 C, C++, Java, Delpi와 같은 기존 프로그래밍 언어들에 영향을 받아 디자인 되었다. 현재는 닷넷 프레임워크 3.0이 릴리즈 되어 기존의 1.1에 비해 많은 API와 개선된 성능을 제공하고 있다. 닷넷 프레임워크 3.0은 기존의 닷넷 프레임워크 2.0 기반에 소개된 몇가지 구성요소들이 추가되어 있는 형태로서 닷넷 프레임워크 2.0을 그대로 이용하고 있다.
C#의 장점은 닷넷 프레임워크의 장점을 그대로 가진다. 또한, 기존의 시스템들과의 통합된 개발이 가능하게 확장되어 있다.
4. Visual Studio .NET 2005
4.1 Visual Studio .NET 2005 소개
2005년 영문판을 정식 출시하면서 그 모습을 드러냈다. 한글판은 2006년 3월 출시 되었다. Visual Studio .NET은 개발자들이 .NET Framework하에서 돌아가는 프로그램을 개발하기 위한 통합 개발환경이다. 2005 버전에서는 다음과 같은 형태의 제품군들이 있다.
형태 |
Express Edition |
Visual Studio Standard Edition |
Visual Studio Professional Edition |
Visual Studio Tools For Office |
Visual Studio Team System |
IntelliSense |
Yes |
Yes |
Yes |
Yes |
Yes |
Code editor |
Yes |
Yes |
Yes |
Yes |
Yes |
Code snippets |
Yes |
Yes |
Yes |
Yes |
Yes |
언어 지원 |
VB, VC#, VC++, VJ# 과 같은 단일 언어 지원 |
All |
All |
VB와 VC# |
All |
Office 개바 지원 |
No |
No |
No |
Office 제품군 개발 지원 |
Office 제품군 개발 지원 |
사용자 지원 |
기본 옵션과 메뉴 |
기본 옵션과 메뉴 |
Full |
Full |
Full |
윈폼 디자이너 |
VB, VC#, VC++, VJ# |
Yes |
Yes |
Yes |
Yes |
웹폼 디자이너 |
Visual Web Developer |
Yes |
Yes |
Yes |
Yes |
모바일 디바이스 지원 |
No |
Yes |
Yes |
No |
Yes |
데이터베이스 디자인 도구 (테이블과 Stored Procedure 생성/수정) |
Local |
Local과 Remote |
Local과 Remote |
Local과 Remote |
Local과 Remote |
데이터 엑세스 디자이너 |
Local |
Local과 Remote |
Local과 Remote |
Local과 Remote |
Local과 Remote |
문서 |
기본 문서 |
MSDN |
MSDN |
MSDN |
MSDN |
클래스 디자이너 와 객체 테스트 |
No |
Yes |
Yes |
Yes |
Yes |
XML 에디터 지원t |
No |
No |
Full XML/ XSLT |
Full XML/ XSLT |
Full XML/ XSLT |
배포 툴 |
Click Once |
Click Once |
Yes |
Yes |
Yes |
소스 제어 |
No |
MSCCI 호환 (Visual SourceSafe 별도 판매) |
MSCCI 호환 (Visual SourceSafe 별도 판매) |
MSCCI 호환 (Visual SourceSafe 별도 판매) |
MSCCI 호환 (Visual SourceSafe 포함, VS Team Foundation Server 따로 판매) |
디버깅 |
Local |
Local |
Local/ Remote |
Local |
Local/ Remote |
64비트 컴파일러 지원(Itanium) |
No |
No |
No |
No |
Yes |
64비트 컴파일러 지원(X64) |
No |
Yes |
Yes |
Yes |
Yes |
서버 탐색기 |
No |
No |
All |
All |
All |
SQL Server 2005 통합 |
No |
No |
Yes |
Yes |
Yes |
Code Profiling |
No |
No |
No |
No |
Yes |
Static Analysis |
No |
No |
No |
No |
Yes |
단위 테스트 |
No |
No |
No |
No |
Yes |
프로젝트 관리 |
No |
No |
No |
No |
Yes |
Test Case 관리 |
No |
No |
No |
No |
Yes |
Visual Studio 외에도 .NET 개발환경으로서 Sharp Developer이라는 무료 IDE 환경이 존재한다. 여기서는 Visual Studio를 이용한 개발을 소개하며 따로 다른 IDE 환경에 대한 소개는 언급하지 않겠다.
/* 출처 */
inobae의 놀이터
http://blog.naver.com/inobae
'프로그램&DB > C#' 카테고리의 다른 글
[C# 강좌] C# 프로그래밍 #06 - 변수와 상수 (0) | 2009.04.08 |
---|---|
[C# 강좌] C# 프로그래밍 #05 - 연산자와 표현식 (0) | 2009.04.08 |
[C# 강좌] C# 프로그래밍 #04 - 데이터 형식과 변수 (1) | 2009.04.08 |
[C# 강좌] C# 프로그래밍 #03 - namespace와 using (0) | 2009.04.08 |
[C# 강좌] C# 프로그래밍 #02 - 시작하기 (0) | 2009.04.08 |