- .NET Framework의 거의 모든 능력은 다종다양한 ‘관리되는 형식(managed type)’들을 통해 제공된다. 이 형식들은 계통구조(hierarchy) 형태의 이름공간들로 조직화되어 있으며, 일단의 어셈블리 파일들로 배포, 설치된다. 이들과 CLR(공용 언어 런타임)을 합친 것이 바로 .NET 플랫폼이다.
- .NET Framework의 형식들 일부는 CLR이 직접 사용한다. 이들은 관리되는 호스팅 환경에 필수적인 형식들로, mscorlib.dll 이라는 어셈블리 안에 들어 있다.
- C#의 내장 형식들과 기본 컬렉션 클래스들, 그리고 스트림 처리나 직렬화, 반영(reflection), 스레드 적용, 네이티브 상호운용성을 위한 형식들이 여기에 속한다.
- 이보다 한 수준 위에는 CLR 수준의 기능성에 살을 붙이는 추가적인 형식들이 있다. 이들은 이를테면 XML 처리나 네트워킹, LINQ 같은 기능을 제공한다.
- .NET Framework의 그 나머지 부분은 응용 API 들로 구성되어 있는데, 이들 대부분은 크게 다음과 같은 3가지 기능 영역으로 분류된다.
- 사용자 인터페이스 기술
- 뒷단(backend) 기술
- 분산 시스템 기술
- .NET Framework 4.6의 새로운 기능
- 쓰레기 수거기가 수거를 실행하는 시점을 좀 더 세밀하게 제어할 수 있는 새 메서드들이 GC 클래스에 추가되었다.
- 새롭고 더 빠른 64비트 JIT 컴파일러가 도입되었다.
- System.Numerics 이름공간에 하드웨어 가속 행렬 및 벡터 형식들이 추가되었다.
- 라이브러리 작성자를 위해 System.AppContext라는 새로운 클래스가 추가되었다. 이를 이용해 라이브러리를 작성하면 라이브러리 사용자가 새로운 API 기능들을 선택적으로 전환할 수 있다.
- Task 인스턴스 생성시 현재 스레드의 문화 설정과 UI 문화 설정이 반영된다.
- 더 많은 컬렉션 형식들이 IReadOnlyCollection<T>를 구현한다.
- WPF가 개선되었다. (더 나은 터치 및 고 DPI 처리 등)
- ASP.NET이 HTTP/2와 Window 10의 TBP(Token Binding Protocol)를 지원한다.
- .NET Framework 4.5의 새로운 기능
- Task를 돌려주는 메서드들을 통한 광범위한 비동기성 지원
- ZIP 압축 프로토콜 지원
- 새로운 HttpClient 클래스를 통한 HTTP 지원 개선
- 쓰레기 수거기와 어셈블리 자원 조회 성능 향상
- WinRT 상호운용성 및 Windows 스토어 모바일 앱 구축을 위한 API 지원
- 새로운 TypeInfo 클래스 추가
- 정규 표현식 부합시 만료 시간을 지정하는 능력 추가
- 병렬 컴퓨팅 부분에서 생산자-소비자 스타일의 네트워크 구축을 위한 Dataflow라는 특화된 라이브러리가 추가
CLR과 핵심 프레임워크
(기본적인 설명들 생략)
응용 기술
UI 기술
(기본적인 설명들 생략)
- ASP.NET으로 작성된 응용 프로그램은 Windows IIS에 호스팅되며, 임의의 웹브라우저를 통해 접근할 수 있다.
- ASP.NET으로 웹 페이지를 작성할 때는 전통적인 Web Forms를 사용할 수도 있고 좀 더 최근의 MVC API를 사용할 수도 있다. 둘 다 ASP.NET 기반구조를 바탕으로 한다.
WPF (Windows Presentation Foundation)
- WPF는 .NET Framework 3.0에서 도입되었다. WPF가 Windows Forms에 비해 갖는 장점은 다음과 같다.
- 임의 변환, 3차원 렌더링, 진짜 투명 등의 정교한 그래픽 기능을 지원한다.
- 기본 측정 단위가 픽셀이 아니라서 그 어떤 DPI(dots per inch) 설정에서도 응용 프로그램이 제대로 표시된다.
- 동적 레이아웃을 잘 지원한다. 덕분에 응용 프로그램을 현지화해도 UI 요소들이 겹칠 위험이 없다.
- 렌더링에 DirectX를 사용하기 때문에 속도가 빠르다. 그래픽 하드웨어 가속을 잘 활용한다.