티스토리 뷰

Others

.NET Standard, .NET Core, .NET Framework?

풍요로운 해구름 2017. 12. 12. 14:45

.NET Standard 란?

.NET Standard는 .NET Portable의 차기 버전으로 볼 수 있습니다.

.NET Portable은 .NET Framework의 Portability(휴대성, 이식성)을 강조한 플렛폼이지만 시간이 지나면서 파편화 문제가 심각해졌습니다. 예를들어 Silverlight, Windows8, Windows Universal, Xamarin, Windows Phone, WCF 등등을 지원하기 위해 각 버전별로, 플렛폼별로 수십개의 .NET Portable 버전으로 갈라지고 파편화되었습니다.

.NET Standard는 .NET Portable의 장점인 이식성(Portability)을 계승하고 파편화의 문제를 개선하고 단순화한 새로운 .NET API 정규화 스펙입니다. .NET Standard 기반으로 작성된 코드는 .NET Standard를 지원하는 모든 플렛폼을 지원하는데 기존의 .NET Framework(WPF, WinForm, ASP.NET) 상에서도 동작하고, .NET Standard를 지원하는 Xamarin (iOS, Android, OS X)에서도 동작합니다. 또한 .NET Standard의 API스펙을 따르면서 새로운 기능을 추가한 .NET Core 플렛폼 (ASP.NET Core, UWP)에서도 동작합니다.

.NET Standard vs .NET Core

.NET Standard는 .NET Portable의 표준화된 API 스펙으로 볼수 있습니다.

.NET Standard는 표준화된 API 스펙이기 때문에 이를 계승하여 새로운 플렛폼을 만들수도 있는데 대표적으로 .NET Core가 있습니다. .NET Core는 .NET Standard를 바탕으로 UWP(Windows 응용프로그램), ASP.NET(WEP)을 지원하기 위해 개발되었습니다.

따라서 .NET Standard에서 작성된 코드는 .NET Core에서 동작합니다. 반대로 .NET Core에서 작성된 코드가 .NET Standard에서 반드시 동작한다는 보장은 없습니다.


즉 .NET Standard, .NET Core, Xamarin, .NET Framework의 관계는 간략히 위와 같이 설명할 수 있습니다.

  • .NET Framework 플렛폼에서 동작하는 응용프로그램: WPF, Win Forms, ASP.NET (참고: ASP.NET Core는 .NET Framework도 지원합니다)
  • .NET Core 플렛폼에서 동작하는 응용프로그램 : UWP, ASP.NET Core
  • Xamarin (Xamarin은 .NET Standard를 지원합니다): iOS 앱, MAC, Android 앱
  • .NET Standard 코드: 위의 .NET Framework, .NET Core, Xamarin 모든 환경에서 동작합니다.


댓글
댓글쓰기 폼