목차
WPF 프로젝트를 생성할 때 .NET Framework와 .NET Core 그리고 .NET중에 하나를 선택하여 만든다. 이 세 가지는 무엇이며 어떠한 차이점이 있는지 알아보자.
.NET Framework란?
.NET Framework란 한국어로 해석하면 .NET 뼈대이다. 즉, Windows환경에서 프로그램을 개발하고 실행할 수 있도록 Microsoft에서 제공하는 뼈대이다. .NET Framwork는 다양한 프로그래밍 언어(C#, F#등)와 다양한 라이브러리를 사용하여 기능을 구현할 수 있다. .NET Framework는 아래의 그림과 같이 버전 별로 기능이 추가되면서 발전해왔다. 초기에는 새로운 기능들이 주기적으로 추가되었지만 최근 몇 년 간은 업데이트가 자주 되지는 않았다. 어느 정도 안정화가 되기도 하였고 .NET으로 넘어가는 영향도 있다. 마지막 업데이트 버전은 4.8.1로 2022년 8월 9일에 업데이트 되었다.

.NET Core란?
Windows환경에서만 구동하는 .NET Framework의 단점을 보완하기 위하여 .NET Core가 등장하였다. .NET Core는 Windows 뿐만 아니라 masOS, Linux와 같이 멀티 플랫폼에서 실행될 수 있도록 개발되었다. 무료 오픈 소스로 개방되어 있으며, 구조가 모듈화, 경량화 되어 있어 .NET Framework보다 속도가 더 빠르다. 현재 .NET Core는 .NET에 흡수되어 업데이트 중이다.
.NET이란?
.NET이란 기존의 .NET Framework와 .NET Core를 통합한 버전으로 2020년 11월에 출시되었다. 하나의 프로젝트에서 여러 운영체제(Windows, macOS, Linux, Docker, WEB, Android, IOS등)를 구동할 수 있도록 크로스 플랫폼 개발을 지원한다. .NET 5.0버전부터 시작하여 꾸준히 업데이트 되고 있기 때문에 차세대 개발 Framework로 자리매김하고 있다.

.NET Framework vs .NET 비교
.NET Framework | .NET |
---|---|
Windows환경에서만 구동 된다. | Linux, macOS, Windows환경에서 구동 된다. |
일부 오픈 소스이지만 코드 기여자는 받아들이지 않음 | 오픈 소스로써 커뮤니티로부터 코드 기여자를 받아 들임 |
보안 및 안정성 버그만 수정 중 | 새로운 기능이 계속 추가되는 중 |
Windows에 포함되어 있고 Windows Updates의해 업데이트 된다. | 운영 체제에 함께 제공되지 않음 |
.NET Framework vs .NET 적합한 것은?
프로젝트에 따라 적합한 것을 선택하면 된다. 기존의 프로그램이 이미 .NET Framework로 작성되었거나 .NET Framework에서만 사용할 수 있는 기능을 사용해야 하는 경우는 .NET Framework를 사용하는 것이 좋다. 하지만 멀티 플랫폼 통합 개발을 해야 하거나 가벼우면서 확장성을 가져야 할 때는 .NET으로 개발 하는 것이 좋다. 필자는 특별한 경우가 아니라면 .NET을 권하고 싶다. 이유는 새로운 기능과 기술이 주기적으로 업데이트 되고 있고, 추후 여러 플랫폼 지원하기에도 용이하기 때문이다.