1

Windows 용 Mac에서 실행해야하는 응용 프로그램을 만들고 해당 상점에 배포해야합니다. GUI는 WebView 컨트롤에서 로컬로 호스팅되는 HTML 기반 GUI입니다. GUI는 주로 간단한 Json 메시지를 사용하여 나머지 시스템과 통신합니다.Mac 및 Windows 용 C#을 사용하는 크로스 플랫폼 클래스 라이브러리

주요 로직은 두 플랫폼 모두 동일하며 최대한 많은 코드를 공유하고 싶습니다. 이 아이디어는 Mac에서 Xamarin을 사용하고 Windows에서 .NET을 사용하고 공유 할 수있는 공통 클래스 라이브러리를 만드는 것입니다. 이 공유 어셈블리의 대상이 (PCL, netstandard 또는 Mac 및 Windows 용 다른 프로젝트 파일이 그냥 소스 파일? 공유)이 PCL를 사용하는

답변

1

장기적으로 PCL을 대체하기 때문에 모든 새 프로젝트에 .NET 표준을 사용합니다. 는 여러 .NET 플랫폼을 대상으로 휴대용 클래스 라이브러리를 대체합니다 때문에 .NET 표준 로의 전환을 고려해야합니다, 도서관 저자로서 https://blogs.msdn.microsoft.com/dotnet/2016/09/26/introducing-net-standard/

에 단락 As a library author, what should I do now?를 참조하십시오.

.NET Standard 1.x의 경우 사용 가능한 API 세트는 PCL과 매우 유사합니다. 그러나 .NET Standard 2.x는 훨씬 더 큰 API 세트를 가지며 .NET Framework를 목표로하는 라이브러리에 의존 할 수도 있습니다. PCLs 및 .NET 표준 사이

주요 차이점은 다음과 같습니다

  • 플랫폼 제휴있다.
  • 플랫폼 가용성.
  • 라이브러리 가용성.

은 내가 플랫폼 고유의 작은 조각을 가지고있는 경우에만 공유 라이브러리 (공유 코드 파일)을 사용하십시오. 그러나 일반적으로 인터페이스를 구현하는 클래스에서 인터페이스를 작성하고 플랫폼 특성을 구현해야합니다. 그리고 나서 의존성 삽입을 사용하여 교차 플랫폼 라이브러리에서 실제 구현을 얻습니다.

0

I 조언을해야합니까

. Windows 10 (Net Core), Android 및 iOS (Xamarin Forms) 용 앱을 보유하고 있습니다. 이 응용 프로그램은 PCL 라이브러리를 사용합니다. 그것은 최선의 방법입니다.

+0

PCL이 가장 좋은 이유는 무엇입니까? – thepirat000