.Net Framework
- 마이크로소프트에서 지원하는 윈도우 프로그램 개발 및 런타임 실행 환경
- 메모리 관리, 유형 및 메모리 안전성, 보안, 네트워킹, 응용 프로그램 배포 등 서비스 제공
- C#, F#, Visual Basic 등의 언어로 사용 가능
cf) .Net Core를 사용하여 Window, MacOS 및 Linux에서 앱 실행 가능
.Net Framework 구조
출처 : https://ko.wikipedia.org/wiki/%EB%8B%B7%EB%84%B7_%ED%94%84%EB%A0%88%EC%9E%84%EC%9B%8C%ED%81%AC#/media/File:Overview_of_the_Common_Language_Infrastructure.svg
1) CLR : 공통 언어 기반
- 마이크로 소프트가 구현한 CLI(Common Language Infrastructure)
- Common Language Runtime의 약자
- 언어에 종속적이지 않은 플랫폼을 제공
구성요소
- CTS (공통 타입 시스템) : .Net Framwork에서 사용되는 데이터 형식
- CLS (공통 언어 스펙) : .Net 프로그래밍 언어가 갖는 공통 언어 규약, 이를 만족해야 Managaed Code의 자격이 됨
- JIT (just-in-time compilation) : 동적 번역이라고 프로그램을 실행하는 시점에 기계어로 번역하는 기법, JVM, .NET, node.js에서 JIT 컴파일을 지원함
- VES (가상 실행 시스템) : 공통 중간 언어(CIL)을 하드웨어에 맞춰 기계어로 컴파일
2) .Net Framework 클래스 라이브러리
- CLR과 강력하게 통합된 다시 사용할 수 있는 형식의 컬렉션
- 객체 지향적
구성요소
- ASP.NET : 웹 구현을 위해 사용되는 기능 패키지
- Windows Forms : Windows GUI 응용 프로그램 개발을 위해 사용되는 기능 패키지
- WPF(Windows Presentation Foundation) : windows 데스크톱 응용 프로그램을 구축하기 위한 모델 제공
- Data and XML : .NET을 통해 만ㄷ르어진 응용 프로그램과 데이터가 연결이 잘 될 수 있도록 하는 기능 패키지
- Base Class Library(BCL) : .NET Framework를 사용하는 모든 언어가 사용할 수 있는 클래스들의 라이브러리, 파일입출력, 그래픽렌더, 데이터베이스,xml 조작 등의 기능 제공