1. .NET Framework란?
- 정의:
마이크로소프트가 개발한 소프트웨어 개발 플랫폼으로, 윈도우 응용 프로그램, 웹 애플리케이션, 웹 서비스를 제작하기 위한 풍부한 라이브러리와 도구를 제공. - ASP.NET:
.NET Framework의 일부로, 동적 웹 애플리케이션을 제작하기 위한 웹 기술.
2. .NET Framework의 주요 구성 요소
a. 공용 언어 런타임 (Common Language Runtime, CLR)
- 역할:
.NET 언어로 작성된 프로그램의 실행 환경 제공.
메모리 관리, 보안, 오류 처리 등과 같은 작업을 자동화하여 프로그래밍을 단순화. - 주요 기능:
- 코드 관리:
- CLR에서 실행되는 코드는 **관리 코드(Managed Code)**라고 불림.
- 메모리 관리, 가비지 컬렉션, 스레드 관리 등 자동 처리.
- 언어 독립성:
- 다양한 프로그래밍 언어(C#, VB.NET 등)를 지원하고 상호 운용 가능.
- 보안 관리:
- 응용 프로그램 실행 시 보안 검사 수행.
- 코드 관리:
b. .NET Framework 클래스 라이브러리 (.NET Framework Class Library, FCL)
- 정의:
응용 프로그램 개발에 필요한 다양한 기능(입출력, 데이터 처리, 네트워크 통신 등)을 미리 패키지화한 표준 라이브러리 집합. - 구성 요소:
- ASP.NET:
- 웹 애플리케이션 및 웹 서비스 개발을 위한 기능 포함.
- XML 웹 서비스 기술과 통합.
- Windows Forms:
- 윈도우 기반 응용 프로그램 제작에 사용되는 도구 제공.
- Data and XML:
- ADO.NET을 통해 데이터베이스와의 연결 및 XML 데이터 처리를 지원.
- Base Class Library (BCL):
- 문자열 처리, 파일 입출력, 컬렉션, 네트워크 통신 등의 기본 기능 제공.
- ASP.NET:
3. .NET Framework의 특징
- 언어 상호 운용성:
- 다양한 언어(C#, VB.NET, F# 등) 간 상호 호환 가능.
- 플랫폼 통합:
- 윈도우 운영 체제와 긴밀히 통합되어 강력한 API 제공.
- 개발 생산성:
- 풍부한 클래스 라이브러리와 자동화된 환경으로 생산성 향상.
- 보안:
- CLR의 보안 기능으로 실행 중 코드의 무결성과 안전성 보장.
- 유연성:
- 웹, 데스크톱, 모바일, 클라우드 등 다양한 응용 프로그램 개발 가능.
4. ASP.NET의 역할
- 정의:
동적 웹 애플리케이션과 XML 웹 서비스를 개발하기 위한 웹 기술. - 주요 기능:
- HTTP 요청 처리.
- 서버 측 데이터 관리 및 처리.
- 사용자 인증 및 권한 관리.
- AJAX 및 JavaScript 통합 지원.
- 다양한 웹 페이지 제작 지원(Web Forms, MVC).
5. .NET Framework의 작동 원리
- 코드 작성:
- 개발자는 C#, VB.NET 등의 언어로 소스 코드를 작성.
- 컴파일:
- 작성된 코드는 **CIL(Common Intermediate Language)**로 변환.
- 실행:
- CIL 코드는 CLR에서 실행되며, 운영 체제에 맞는 기계어로 JIT(Just-In-Time) 컴파일 후 실행.
6. .NET Framework의 주요 용도
- 웹 개발:
- ASP.NET을 사용하여 웹사이트와 웹 서비스 개발.
- 데스크톱 응용 프로그램:
- Windows Forms 또는 WPF(Windows Presentation Foundation)를 활용.
- 데이터베이스 응용 프로그램:
- ADO.NET으로 데이터베이스와 연동.
- 네트워크 응용 프로그램:
- HTTP, FTP, SMTP 등 네트워크 통신 처리.
7. .NET Framework와 .NET Core 비교
특징.NET Framework.NET Core
플랫폼 지원 | 윈도우 전용 | 크로스 플랫폼(윈도우, 리눅스, macOS) |
성능 | 비교적 낮음 | 성능 최적화 |
개발 용도 | 기존의 데스크톱 및 웹 애플리케이션 | 현대적 웹, 클라우드, IoT 애플리케이션 |
오픈소스 | 비공개 | 완전한 오픈소스 |
8. 요약
- .NET Framework는 마이크로소프트의 강력한 개발 플랫폼으로, 웹, 데스크톱, 데이터베이스 응용 프로그램을 쉽게 개발할 수 있도록 지원.
- 핵심 구성 요소는 **공용 언어 런타임(CLR)**과 클래스 라이브러리(FCL).
- ASP.NET은 웹 애플리케이션 개발을 위한 강력한 도구.
- 현대 개발 요구에 맞춰 .NET Core와 통합된 .NET 5 이상이 크로스 플랫폼 개발에 적합.
'소프트웨어 개발 및 시스템 프로그래밍' 카테고리의 다른 글
API (Application Programming Interface) (1) | 2024.12.14 |
---|---|
WPF (Windows Presentation Foundation) (0) | 2024.12.14 |
소프트웨어 아키텍처란 (0) | 2024.12.14 |
공유기, 허브, 라우터의 차이점 (0) | 2024.12.14 |
RS-232 시리얼 통신: 기본 원리와 C# 구현 가이드 (0) | 2024.12.13 |