1. .NET Framework란?

  • 정의:
    마이크로소프트가 개발한 소프트웨어 개발 플랫폼으로, 윈도우 응용 프로그램, 웹 애플리케이션, 웹 서비스를 제작하기 위한 풍부한 라이브러리와 도구를 제공.
  • ASP.NET:
    .NET Framework의 일부로, 동적 웹 애플리케이션을 제작하기 위한 웹 기술.

2. .NET Framework의 주요 구성 요소

a. 공용 언어 런타임 (Common Language Runtime, CLR)

  • 역할:
    .NET 언어로 작성된 프로그램의 실행 환경 제공.
    메모리 관리, 보안, 오류 처리 등과 같은 작업을 자동화하여 프로그래밍을 단순화.
  • 주요 기능:
    1. 코드 관리:
      • CLR에서 실행되는 코드는 **관리 코드(Managed Code)**라고 불림.
      • 메모리 관리, 가비지 컬렉션, 스레드 관리 등 자동 처리.
    2. 언어 독립성:
      • 다양한 프로그래밍 언어(C#, VB.NET 등)를 지원하고 상호 운용 가능.
    3. 보안 관리:
      • 응용 프로그램 실행 시 보안 검사 수행.

b. .NET Framework 클래스 라이브러리 (.NET Framework Class Library, FCL)

  • 정의:
    응용 프로그램 개발에 필요한 다양한 기능(입출력, 데이터 처리, 네트워크 통신 등)을 미리 패키지화한 표준 라이브러리 집합.
  • 구성 요소:
    1. ASP.NET:
      • 웹 애플리케이션 및 웹 서비스 개발을 위한 기능 포함.
      • XML 웹 서비스 기술과 통합.
    2. Windows Forms:
      • 윈도우 기반 응용 프로그램 제작에 사용되는 도구 제공.
    3. Data and XML:
      • ADO.NET을 통해 데이터베이스와의 연결 및 XML 데이터 처리를 지원.
    4. Base Class Library (BCL):
      • 문자열 처리, 파일 입출력, 컬렉션, 네트워크 통신 등의 기본 기능 제공.

3. .NET Framework의 특징

  1. 언어 상호 운용성:
    • 다양한 언어(C#, VB.NET, F# 등) 간 상호 호환 가능.
  2. 플랫폼 통합:
    • 윈도우 운영 체제와 긴밀히 통합되어 강력한 API 제공.
  3. 개발 생산성:
    • 풍부한 클래스 라이브러리와 자동화된 환경으로 생산성 향상.
  4. 보안:
    • CLR의 보안 기능으로 실행 중 코드의 무결성과 안전성 보장.
  5. 유연성:
    • 웹, 데스크톱, 모바일, 클라우드 등 다양한 응용 프로그램 개발 가능.

4. ASP.NET의 역할

  • 정의:
    동적 웹 애플리케이션과 XML 웹 서비스를 개발하기 위한 웹 기술.
  • 주요 기능:
    • HTTP 요청 처리.
    • 서버 측 데이터 관리 및 처리.
    • 사용자 인증 및 권한 관리.
    • AJAX 및 JavaScript 통합 지원.
    • 다양한 웹 페이지 제작 지원(Web Forms, MVC).

5. .NET Framework의 작동 원리

  1. 코드 작성:
    • 개발자는 C#, VB.NET 등의 언어로 소스 코드를 작성.
  2. 컴파일:
    • 작성된 코드는 **CIL(Common Intermediate Language)**로 변환.
  3. 실행:
    • CIL 코드는 CLR에서 실행되며, 운영 체제에 맞는 기계어로 JIT(Just-In-Time) 컴파일 후 실행.

6. .NET Framework의 주요 용도

  1. 웹 개발:
    • ASP.NET을 사용하여 웹사이트와 웹 서비스 개발.
  2. 데스크톱 응용 프로그램:
    • Windows Forms 또는 WPF(Windows Presentation Foundation)를 활용.
  3. 데이터베이스 응용 프로그램:
    • ADO.NET으로 데이터베이스와 연동.
  4. 네트워크 응용 프로그램:
    • 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 이상이 크로스 플랫폼 개발에 적합.

+ Recent posts