programing

.NET Core, .NET Framework 및 Xamarin의 차이점은 무엇입니까?

abcjava 2023. 5. 26. 20:23
반응형

.NET Core, .NET Framework 및 Xamarin의 차이점은 무엇입니까?

Microsoft는 이제 .NET Core, .NET Framework 및 Xamarin(Mono) 제품군을 보유하고 있습니다.

여기는 겹치는 부분이 많은 것 같습니다.이러한 .NET 플랫폼 유형의 차이점은 무엇입니까?프로젝트에서 .NET Framework 또는 Xamarin 대신 .NET Core를 사용하는 것을 언제 선택해야 합니까?

여기에 나와 있는 문서에 따라 다음과 같은 6가지 일반적인 시나리오에서는 .NET Framework 또는 Xamarin 대신 .NET Core를 사용해야 합니다.

교차 플랫폼 요구사항

플랫폼(윈도우즈, 리눅스 및 MacOS) 간에 실행할 수 있는 애플리케이션(웹/서비스)을 설치하는 것이 목표라면 .NET 에코시스템에서 최선의 선택은 런타임(CoreCLR)으로 .NET Core를 사용하고 라이브러리는 크로스 플랫폼입니다.다른 선택은 모노 프로젝트를 사용하는 것입니다.

두 가지 모두 오픈 소스이지만 .NET Core는 마이크로소프트의 직접적이고 공식적인 지원을 받고 있으며 앞으로 막대한 투자를 받게 될 것입니다.

여러 플랫폼에서 .NET Core를 사용할 경우 프로젝트 관리, 디버깅, 소스 제어, 리팩터링, IntelliSense, 테스트 등을 포함한 풍부한 편집 기능을 지원하는 Visual Studio IDE를 통해 Windows에서 최고의 개발 환경을 제공합니다.그러나 Mac, Linux 및 Windows에서 Visual Studio Code를 사용하면 인텔리센스 및 디버깅을 포함한 풍부한 개발이 지원됩니다.Sublime, Emacs, VI 등과 같은 타사 편집자도 잘 작동하며 오픈 소스 Omnisharp 프로젝트를 사용하여 편집자의 지식을 얻을 수 있습니다.

마이크로서비스

여러 개의 독립적이고 동적으로 확장 가능한 상태 저장 또는 상태 비저장 마이크로서비스로 구성된 마이크로서비스 지향 시스템을 구축하는 경우 마이크로서비스 레벨에서 다양한 기술/프레임워크/언어를 사용할 수 있다는 것이 큰 장점입니다.이를 통해 시스템의 마이크로 영역별로 최적의 접근 방식과 기술을 사용할 수 있으므로 매우 성능이 뛰어나고 확장 가능한 마이크로 서비스를 구축하려면 .NET Core를 사용해야 합니다.결국 .NET Core와 호환되지 않는 .NET Framework 라이브러리를 사용해야 하는 경우에는 문제가 없습니다. 이 마이크로 서비스를 .NET Framework로 빌드하면 나중에 .NET Core로 대체할 수도 있습니다.

사용할 수 있는 인프라 플랫폼은 다양합니다.크고 복잡한 마이크로서비스 시스템의 경우 Azure 서비스 패브릭을 사용하는 것이 좋습니다.그러나 상태 비저장 마이크로 서비스의 경우 Azure App Service 또는 Azure Functions와 같은 다른 제품도 사용할 수 있습니다.

2016년 6월 현재 Azure 내의 모든 기술이 .NET Core를 지원하는 것은 아니지만 .NET Core가 RTM을 출시함에 따라 Azure 내의 .NET Core 지원은 크게 증가할 것입니다.

최고의 성능과 확장성을 갖춘 시스템

시스템에 최고의 성능과 확장성이 필요하여 사용자 수에 관계없이 최고의 응답성을 얻을 수 있다면 .NET Core와 ASP.NET Core가 바로 여기에 있습니다.동일한 양의 인프라/하드웨어로 더 많은 작업을 수행할수록 더 적은 비용으로 최종 사용자에게 더 풍부한 환경을 제공할 수 있습니다.

단일 CPU에 대한 Moore의 법적 성능 개선 시대는 더 이상 적용되지 않습니다. 하지만 시스템이 성장하는 동안 더 많은 작업을 수행해야 하고 기하급수적으로 증가하는 일상적인 요구 사항이 많은 사용자를 위해 더 높은 확장성과 성능이 필요합니다.효율성을 높이고, 어디서나 최적화하며, 궁극적으로 시스템, VM 및 CPU 코어의 클러스터 전반에서 더 나은 확장이 필요합니다.이는 사용자 만족도의 문제일 뿐만 아니라 비용/TCO에서도 큰 차이를 가져올 수 있습니다.이것이 성능과 확장성을 위해 노력하는 것이 중요한 이유입니다.

앞서 언급한 바와 같이, 시스템의 작은 부분을 마이크로서비스 또는 기타 느슨하게 결합된 접근 방식으로 분리할 수 있다면, 각 작은 부분/마이크로서비스를 독립적으로 발전시킬 수 있을 뿐만 아니라 장기적인 민첩성과 유지보수 능력을 향상시킬 수 있기 때문에 더 나을 것입니다.또한 필요한 작업이 .NET Core와 호환되지 않는 경우 마이크로서비스 수준에서 다른 기술을 사용할 수 있습니다.그리고 최종적으로 가능한 경우 리팩터링하여 .NET Core로 가져올 수 있습니다.

Mac, Linux 또는 Windows용 명령줄 스타일 개발.

이 접근 방식은 .NET Core를 사용하는 경우 선택 사항입니다.물론 전체 Visual Studio IDE도 사용할 수 있습니다.그러나 경량 편집기와 명령줄을 많이 사용하여 개발하고자 하는 개발자라면 .NET Core는 CLI용으로 설계되었습니다.지원되는 모든 플랫폼에서 사용할 수 있는 간단한 명령줄 도구를 제공하므로 개발자는 개발자, 연구소 운영 시스템에 최소한의 설치만으로 애플리케이션을 구축하고 테스트할 수 있습니다.Visual Studio Code와 같은 편집자는 개발 환경에 동일한 명령줄 도구를 사용합니다.IDE는 Visual Studio와 마찬가지로 동일한 CLI 도구를 사용하지만 풍부한 IDE 경험 뒤에 숨깁니다.개발자는 이제 CLI에서 편집기, IDE에 이르기까지 도구 체인과 상호 작용할 수준을 선택할 수 있습니다.

애플리케이션 수준별로 .NET 버전이 나란히 필요합니다.

.NET에서 다른 버전의 프레임워크에 종속된 응용 프로그램을 설치하려면 이 문서에서 설명한 대로 100% 병렬로 제공하는 .NET Core를 사용해야 합니다.

Windows 10 UWP .NET 앱.

또한 다음을 읽을 수도 있습니다.

  1. .NET Core를 사용하지 않아야 하는 경우
  2. 언제도 .NET Core 대신 .NET Framework 4.x를 사용해야 합니까?
  3. .NET Core 대신 Xamarin을 사용해야 하는 경우는 언제입니까?

Microsoft는 다음과 같이 설명합니다.

.NET Framework, .NET Core, Xamarin

.NET Framework는 Windows와 함께 배포되는 .NET의 "전체" 또는 "전통" 버전입니다.데스크톱 Windows 또는 UWP 앱을 구축하거나 이전 ASP.NET 4.6+로 작업할 때 사용합니다.

.NET Core는 윈도우즈, Mac 및 Linux에서 실행되는 크로스 플랫폼 .NET입니다.도커 컨테이너 내부를 포함하여 모든 플랫폼에서 실행할 수 있는 콘솔 또는 웹 앱을 빌드하려는 경우 이 옵션을 사용합니다.현재 UWP/데스크톱 앱은 포함되지 않습니다.

Xamarin은 iOS, Android 또는 Windows Phone 장치에서 실행할 수 있는 모바일 앱을 구축하는 데 사용됩니다.

Xamarin은 일반적으로 Microsoft가 공식적으로 .NET Core와 크로스 플랫폼을 사용하기로 결정하기 전에 크로스 플랫폼 지원을 위해 구축된 .NET 버전인 Mono 에서 실행됩니다.사마린과 마찬가지로 유니티 플랫폼도 모노 위에서 실행됩니다.


일반적으로 혼동되는 점은 ASP.NET Core가 적합한 위치입니다. ASP.NET Core는 ASP.NET Core(.NET Core)와 ASP.NET Core(.NET Framework)의 차이에 설명된 대로 .NET Framework(윈도우즈) 또는 .NET Core(크로스 플랫폼) 위에서 실행될 수 있습니다.

줄에서 ASP.NET Core(.NET Core)와 ASP.NET Core(.NET Framework)의 차이를 참조할 수 있습니다.

.NET Framework, .NET Core, Xamarin

사마린은 전혀 논쟁거리가 아닙니다.C#을 사용하여 모바일(iOS, Android 및 Windows Mobile) 앱을 구축하고자 할 때는 Xamarin이 유일한 선택입니다.

.NET Framework는 윈도우즈 및 웹 응용 프로그램을 지원합니다.이제 Windows Forms, WPF 및 UWP를 사용하여 .NET Framework에서 Windows 응용 프로그램을 빌드할 수 있습니다. ASP.NET MVC는 .NET Framework에서 웹 응용 프로그램을 빌드하는 데 사용됩니다.

.NET Core는 Windows, Mac 및 Linux를 포함한 모든 운영 체제용 애플리케이션을 구축하기 위한 새로운 오픈 소스 및 교차 플랫폼 프레임워크입니다. .NET Core는 UWP 및 ASP.NET Core만 지원합니다.UWP는 Windows 10 대상 Windows 및 모바일 응용 프로그램을 빌드하는 데 사용되고 ASP.NET Core는 브라우저 기반 웹 응용 프로그램을 빌드하는 데 사용됩니다.

자세한 내용은 이 링크를 참조하십시오.
https://blogs.msdn.microsoft.com/dotnet/2016/07/15/net-core-roadmap/https://learn.microsoft.com/en-us/dotnet/articles/standard/choosing-core-framework-server

  1. .NET은 c# 언어를 기반으로 하는 에코시스템입니다.
  2. .NET Standard는 .NET Ecosystem의 Standard(즉, 사양)입니다.

.Net Core 클래스 라이브러리는 를 기반으로 합니다.Net Standard . .NET Standard 독립 실행이 불가능하고 다른 .NET Core 또는 .NET Framework 실행 가능 프로젝트에서 참조해야 하는 클래스 라이브러리 프로젝트만 만들 수 있습니다. 이식 가능한 라이브러리를 구현하려는 경우.Net Framework, .Net Core 및 Xamarin에서 a를 선택합니다. 표준 라이브러리

  1. .NET Framework는 .NET 기반의 프레임워크이며 Windows 및 웹 응용프로그램을 지원합니다.

(.NET Framework를 사용하여 실행 가능한 프로젝트(예: 콘솔 응용 프로그램 또는 ASP.NET 응용 프로그램)를 만들 수 있습니다.

  1. ASP.NET은 .NET Framework를 기반으로 구축된 웹 애플리케이션 개발 기술입니다.
  2. .NET Core는 또한 .NET을 기반으로 하는 프레임워크입니다.

Windows, Mac 및 Linux를 포함한 모든 운영 체제를 위한 애플리케이션을 구축하는 새로운 오픈 소스 및 크로스 플랫폼 프레임워크입니다.

  1. Xamarin은 C#사용하여 플랫폼 간 모바일 애플리케이션(iOS, Android, Windows Mobile)을 개발하기 위한 프레임워크입니다.

.NET Standard[blue]의 구현 지원 및 .NET Standard의 완벽한 지원을 위한 최소 실행 가능한 플랫폼(예: [https://learn.microsoft.com/en-us/dotnet/standard/net-standard#net-implementation-support ])

.NET 5는 2020년 11월에 출시될 모든 .NET 버전의 통합 버전이므로 더 이상 버전을 선택할 필요가 없습니다.여기에 이미지 설명 입력

[2022년 2월 기준]

.NET 프레임워크

  • 독점 프레임워크
  • 기본적으로 Windows OS용
  • 버전 4.8이 최종 버전이었습니다.
  • Windows 10(및 다른 서버 형제)의 지원으로 끝날 것입니다.

.NET(이전의 .NET Core)

  • 자유-오픈 소스
  • 크로스 플랫폼
  • .NET Framework의 후속 제품
  • 현재 .NET 6은 LTS 버전입니다.

사마린

  • 자유-오픈 소스
  • .NET 및 C#로 Android 및 iOS 앱 구축용
  • .NET의 일부
  • .NET Framework - Microsoft의 .NET에 의한 Windows 전용 레거시 구현입니다.2002년에 도입되어 단계적으로 폐지되었습니다.
  • .NET 5(.NET Core 3.1의 후속 제품) - .NET Framework의 현대적인 재구현으로 Windows, macOS 및 Linux를 지원합니다.2016년에 도입된 추가 버전은 사마린을 흡수할 수 있습니다.
  • Xamarin - 모바일 앱 개발(iOS, Android 및 최근 데스크톱)에 맞춘 도구와 비 Windows OS 및 API에 대한 플랫폼 바인딩이 포함된 Mono.2012년에 도입되었습니다.Mono는 커뮤니티에서 개발하고 2000년대 초에 소개되었으며 .NET Framework와 경쟁하는 .NET의 비 Microsoft 구현체입니다.

.NET Core는 현재 사용 중인 .NET의 최신 버전입니다(추가 기능, 수정된 버그 등).

Xamarin은 C#으로 코딩된 교차 플랫폼 모바일 문제에 대한 솔루션을 제공하는 플랫폼이므로 IOS용으로 Swift를 별도로 사용할 필요가 없으며 Android도 마찬가지입니다.

Xamarin은 전화 애플리케이션(IOS/Android 모두)에 사용됩니다..NET Core는 Apache 및 IIS에서 모두 작동할 수 있는 웹 응용 프로그램을 설계하는 데 사용됩니다.

그것이 두 문장의 차이입니다.

  1. .Net Framework(최신 버전 4.8)는 윈도우즈 플랫폼만 지원합니다.데스크톱 응용 프로그램이 Windows에서만 작동함을 의미합니다.또한 웹 애플리케이션은 Windows Server/Windows OS에서만 호스팅할 수 있습니다.

  2. .Net Core(.net core 1, 2, 2.1, 3.1, 최신 버전 5부터 시작)는 크로스 플랫폼입니다.(Windows, Linux, Mac)

  3. 반면 사마린은 모바일 플랫폼(Android 및 IOS)을 지원합니다.모바일 앱 개발용.

.Net Framework는 Windows 기반 응용 프로그램에 사용됩니다.NetCore Framework는 교차 플랫폼 기반 응용프로그램에 사용됩니다.사마린 프레임워크는 모바일의 애플리케이션 개발에 사용됩니다.

언급URL : https://stackoverflow.com/questions/38063837/whats-the-difference-between-net-core-net-framework-and-xamarin

반응형