내보내기(0) 인쇄
모두 확장
정보
요청한 주제가 아래에 표시됩니다. 그러나 이 주제는 이 라이브러리에 포함되지 않습니다.

Windows Phone 8과 Windows 8 간 코드 재사용 최대화

2014-06-18

적용 대상: Windows Phone 8 및 Windows Phone Silverlight 8.1 | Windows 8

 

이 섹션에서는 앱에서 코드 재사용을 최대화하기 위해 적절한 기술을 선택할 수 있도록 도와 줍니다. 개발자는 개발을 간소화하고 앱을 최대한 효율적으로 유지하려고 합니다. 좀 더 스마트하게 작업하면 더 많은 시간을 절약하여 더 많은 앱을 개발하고 직접 만든 앱으로 마켓플레이스를 채울 수 있습니다. Windows Phone 8 및 Windows 8 용 앱을 빌드하는 경우 코드, 디자인 및 자산을 최대한 많이 공유하여 투자 수익을 최대화할 기회를 찾아야 합니다. 이 섹션에서는 두 플랫폼에 대한 앱을 빌드할 때 사용할 수 있는 공유 기술에 대해 설명합니다.

다음 표에서는 Windows Phone 8 앱과 Windows 8 앱 간에 코드를 공유하는 데 사용할 수 있는 몇 가지 기술을 보여 줍니다. 각 기술은 링크로 연결된 항목에서 자세히 설명합니다. 표에서는 기술이 관리 코드, C#이나 VB 또는 네이티브(C++) 코드에 적용되는지를 설명합니다. 이러한 기술 중 하나를 선택하거나 조합하여 사용할 수 있습니다.

공유 기술

용도

Model-View-ViewModel 패턴을 사용하여 UI와 앱 논리 구분

이 지침은 많은 앱 유형에 적용되지만 특히 XAML UI를 사용하는 앱에 적용됩니다. 분리를 통해 앱 논리를 작성하고 별도로 사용자 환경 디자인에 집중할 수 있습니다. 또한 앱 논리가 두 플랫폼의 앱에서 공통으로 사용될 가능성이 많으므로 여기서 설명하는 나머지 기술을 사용하는 코드 공유에 적합한 후보라는 장점이 있습니다. MVVM(Model-View-ViewModel)은 이러한 분리를 수행하는 가장 적합한 방법입니다.

이식 가능한 클래스 라이브러리를 사용하여 기능 공유

Windows Phone 8 과 Windows 8 은 동일한 .NET Framework 엔진을 공유합니다. XAML 앱에서 대부분의 앱 논리는 관리 코드로 작성됩니다. MVVM 디자인 패턴을 사용하는 경우 viewmodel과 잠재적으로 모델을 공유할 수 있습니다. 이식 가능한 클래스 라이브러리는 .NET Framework 개념이며 C++를 지원하지 않습니다.

링크로 추가를 사용하여 코드 공유

이 기술은 이식할 수 없는 코드에 사용되므로 이식 가능한 클래스 라이브러리에서 구현할 수 없습니다. 예를 들어 Windows Phone 8 과 Windows 8 은 공용 Windows 런타임 API 화면을 사용하여 각 플랫폼의 강력한 기능을 네트워킹, 근접성, 앱에서 바로 구매 및 많은 다른 기능에 사용할 수 있습니다. 이식 가능한 클래스 라이브러리는 Windows 런타임 API를 지원하지 않습니다. 대신 두 플랫폼에 공통된 이식할 수 없는 이 코드를 Visual Studio에서 링크로 추가를 사용하여 공유할 수 있는 클래스로 추출할 수 있습니다. C++ 프로젝트에서 파일은 기본적으로 연결된 파일로 프로젝트에 추가됩니다.

Windows 런타임 구성 요소를 사용하여 공유

두 플랫폼에서 제공되는 공용 Windows 런타임 API를 사용할 뿐만 아니라 지원되는 모든 언어에서 기능을 사용할 수 있도록 하는 Windows 런타임 구성 요소를 직접 작성할 수도 있습니다. 이 API는 C++로 작성되며 C# 또는 VB에서 사용할 수 있습니다. 이 기술은 언어 간 상호 운용성을 제공하려는 경우 또는 C++로 CPU를 많이 사용하는 코드를 작성하여 모든 언어에서 사용할 수 있도록 하려는 경우에 매우 유용합니다.

XAML UI 공유

Windows Phone 8 및 Windows 8 의 UI는 XAML로 작성됩니다. 그러나 XAML 구현은 플랫폼 간에 이식할 수 없습니다. 하지만 일부 사용자 지정 기본 UI 빌딩 블록을 UserControl로 격리하고 해당 클래스를 각 플랫폼에 대해 컴파일될 연결된 파일로 공유할 수 있습니다. 이 기술은 제한적이며 간단하고 재사용이 가능한 UI 부분에만 사용해야 합니다. UI의 핵심은 각 플랫폼에 대해 별도로 빌드되고 조정되어야 합니다.

전처리기 지시문을 사용한 조건부 컴파일

Windows Phone 8 및 Windows 8 에서 다르게 구현되는 기능이 있는 경우 조건부 컴파일을 사용하여 각 플랫폼에 적합하게 코드를 컴파일할 수 있습니다. 이식 가능한 클래스 라이브러리에서는 조건부 컴파일을 사용할 수 없습니다. 이 기술을 사용하는 정도는 앱의 복잡성에 따라 달라지지만 광범위하게 사용될 경우 코드 유지 관리가 더 어려워질 수 있습니다.

표시:
© 2015 Microsoft