정보
요청한 주제가 아래에 표시됩니다. 그러나 이 주제는 이 라이브러리에 포함되지 않습니다.

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

2014-06-18

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

 

이제 Windows 런타임 구성 요소를 통해 프로그래밍 언어와 API 기술을 혼합하여 원하는 앱을 빌드할 수 있습니다.

이 항목에는 다음 단원이 포함되어 있습니다.

 

타사 Windows 런타임 구성 요소라고도 하는 Windows 런타임 구성 요소는 기능을 모든 지원되는 언어에 노출하기 위해 빌드하는 구성 요소입니다. Windows Phone 8 및 Windows 8 에서 지원되는 Windows 런타임 을 사용하여 구성 요소를 만들고 선택한 언어에서 단순하고 자연스러운 방법으로 구성 요소를 호출할 수 있습니다. 구성 요소는 Visual Studio에서 Windows 런타임 구성 요소 템플릿을 사용하여 빌드됩니다. 해당 기능은 기능을 C#, C++, VB 및 JavaScript에 자동으로 프로젝션하는 데 필요한 메타데이터가 들어 있는 .winmd 파일로 출력됩니다.

다음 목록에서는 Windows 런타임 구성 요소에서 앱의 기능 공유를 고려해야 하는 경우에 대해 설명합니다.

  • C++ 기능 활용: 앱이 많은 계산 과정이 필요한 작업을 수행하는 경우 C++에서 해당 코드를 작성하여 최적 성능을 달성할 수 있습니다. 이 기능을 사용하는 코드가 C# 또는 VB로 작성된 경우 기능을 Windows 런타임 구성 요소로 패키지화하고 관리 코드에서 구성 요소를 호출할 수 있습니다.

  • 언어 경계 넘기: 일반적으로 Windows 런타임 구성 요소 사용은 코드를 모든 지원 언어에 노출할 수 있는 좋은 방법입니다. 앱이 단일 언어로 작성되고 기능을 다른 언어에 노출하지 않으려는 경우에는 이 방법이 필요하지 않습니다. 대신에 일반 클래스 라이브러리, 이식 가능한 클래스 라이브러리로 앱을 구성하거나 앱의 크기와 복잡도에 따라 동일 프로젝트에서 전체 앱을 작성할 수 있습니다.

  • Direct3D, Win32 또는 COM API 사용: Windows Phone 8 은 강력한 게임 시나리오, 네이티브 네트워크 및 네이티브 코드에서 카메라 API로 액세스를 가능하게 하는 네이티브 API를 제공합니다. 관리 코드에서 이러한 API를 사용하려면 Windows 런타임 구성 요소에서 이 기능을 래핑합니다. 자세한 내용은 Windows Phone 8에 지원되는 Win32 APIWindows Phone 8의 게임을 참조하세요.

  • 타사 라이브러리 사용: 이전에는 앱이 다른 언어로 작성된 경우 한 언어로 작성된 타사 라이브러리를 사용하기가 어려웠습니다. Windows 런타임 구성 요소를 통해 라이브러리를 얻고 Windows 런타임 구성 요소로 래핑하고 모든 지원되는 언어로 작성된 앱에 기능을 노출할 수 있습니다.

이전 목록은 Windows 런타임 구성 요소 작성이 유용한 코드 공유 방법으로 사용된 몇 가지 시나리오입니다. 하지만 Windows 런타임 구성 요소는 표준 DLL 또는 어셈블리가 아닙니다. Windows 런타임 구성 요소를 만들 때 따라야 하는 특정 요구 사항이 있습니다. 이러한 요구 사항에는 허용된 데이터 형식만 사용, 컬렉션 처리, 봉인 클래스만 만들기 등이 포함됩니다. Visual Studio는 컴파일 시간에 도움이 되며 문제가 발생하는 경우를 분명히 나타냅니다.

Windows 런타임 구성 요소 작성 시 사용할 수 있는 언어와, Windows 런타임 구성 요소 사용 시 사용할 수 있는 언어는 각 플랫폼에 따라 다릅니다. 다음 표에는 Windows Phone 8 에서 지원되는 것과 Windows 8 에서 지원되는 것이 요약되어 있습니다.

플랫폼

만들기

사용

Windows Phone 8

C++

C++, C#, VB

Windows 8

C++, C#, VB

C++, C#, VB, JavaScript

표시: