닷넷 프레임워크(영어: .NET Framework)는 마이크로소프트에서 개발한 소프트웨어이다.
용도
닷넷 프레임워크는 공용 중간 언어(영어: CIL; Common Intermediate Language)를 구동하는 공용 언어 런타임(영어: CLR; Common Language Runtime)이라고 하는 런타임을 포함한다. 마이크로소프트와 썬 마이크로시스템 사이의 분쟁의 결과로 자바가상머신을 대체하기 위해 만들어졌다.
자바가상머신과 마찬가지로 어떤 환경에서든 CIL로 구현된 결과물을 실행하기 위해 만들어졌으나, 실제로는 데스크톱 환경에서는 닷넷 프레임워크, 모바일 환경에서는 닷넷 컴팩트 프레임워크가 구동되며, 두 프레임워크의 동작 방식과 런타임이 다르기 때문에 목표 프레임워크가 다르면 CIL로 구현된 것은 같지만 실행이 되지는 않는다.
다만 CIL의 존재로 인해 다양한 고급 언어로 닷넷 프레임워크 런타임을 사용할 수 있다. 기본적으로 C#과 비주얼 베이직 닷넷, F#을 사용할 수 있고, C++/CLI, 아이언파이썬, 아이언루비 등 다양한 언어를 더 이용할 수 있다.
종류
이름 | 최신 버전 | 용도 | 비고 |
---|---|---|---|
.NET Framework | 4.7 | 개인용 컴퓨터 | |
.NET Compact Framework | 3.9 | 모바일, 임베디드 시스템, 셋톱박스 등 | |
.NET Micro Framework | 4.4 | 임베디드 시스템 | |
Mono | 5.4.1 | 개인용 컴퓨터 | 오픈소스 버전 .NET Framework |
Xamarin | 안드로이드 및 iOS | Mono의 모바일 버전, 플랫폼 별로 다른 런타임 사용 | |
.NET Core | 2.0 | 범용 | 표준 API로 .NETstandard 사용 |
오픈소스
닷넷 프레임워크가 클로즈드소스였을 때, 오픈소스 커뮤니티를 통해 Mono라는 이름의 오픈소스 버전 닷넷 프레임워크가 개발되었다. 이 때 리처드 스톨먼을 비롯한 자유 소프트웨어 진영에서는 C#과 Mono를 이용해 개발할 경우 마이크로소프트에 특허권과 관련된 소송이 있을 수 있다며 부정적인 견해를 밝혔다. 이에 대해 마이크로소프트에서는 모노 및 C#과 관련된 어떠한 특허권에 대해서도 주장하지 않겠다고 한 적이 있다.
2014년에 마이크로소프트에서는 닷넷 프레임워크의 일부 소스코드를 오픈소스로 공개하였다. 또한 런타임의 소스코드를 Reference Source 웹 사이트에 공개하였다.
개발 도구
같이 보기
링크
- 공식 홈페이지 - .NET Foundation
- 공식 소스코드 저장소 - .NET Foundation GitHub Organization
- 모노 홈페이지 - Mono Project
- MSDN - .NET Framework의 개요