스토어 앱용 C#, VB 및 C++ 프로젝트 템플릿

Applies to Windows and Windows Phone

Microsoft Visual Studio 프로젝트 템플릿을 통해 Windows 및 Windows Phone 8.1용 앱을 만드는 방법을 알아봅니다. 이 항목에서는 각 템플릿에 대해 설명하고 템플릿을 선택할 수 있도록 도와줍니다.

JavaScript용 프로젝트 템플릿에 대해 알아보려면 Windows 스토어 앱용 JavaScript 프로젝트 템플릿을 참조하세요.

Blend for Visual Studio용 프로젝트 템플릿에 대한 자세한 내용은 새 프로젝트 만들기를 참조하세요.

템플릿을 가져오려면 Windows 개발을 지원하는 Visual Studio 버전이 필요합니다. 자세한 내용은 도구 얻기를 참조하세요.

중요  이 항목의 정보는 Windows 8.1에 맞게 업데이트되었습니다. 새 템플릿으로 마이그레이션하는 방법에 대한 자세한 내용은 XAML 개발자를 위해 Windows 8에서 Windows 8.1로 업그레이드Windows 8 앱의 대상을 Windows 8.1로 변경을 참조하세요.

로드맵: 이 항목은 다음 항목과 연관되어 있습니다. 참조할 항목:

프로젝트 템플릿 살펴보기

새 프로젝트 대화 상자에서는 템플릿이 Windows 앱, Windows Phone 앱범용 앱의 세 그룹으로 구성됩니다. 이 이미지는 각 그룹을 보여줍니다. 각 그룹에 대한 자세한 내용은 빌드할 앱의 유형 선택을 참조하세요.

스토어 앱 범주

각 그룹에는 템플릿 목록이 포함되어 있습니다. 템플릿은 하나의 목록에 표시되지만 이러한 템플릿을 다음 범주 중 하나에 속하는 것으로 생각할 수 있습니다.

  • 앱을 만드는 데 사용하는 템플릿
  • 앱의 일부를 빌드하는 데 사용하는 템플릿
  • 앱을 테스트하는 데 사용할 수 있는 템플릿

앱을 만드는 데 사용할 수 있는 템플릿

일반적으로 이러한 템플릿 중 하나로 시작합니다.

템플릿설명
빈 템플릿미리 정의된 컨트롤 또는 레이아웃이 없는 단일 페이지 Windows 스토어 앱 또는 Windows Phone 스토어 앱 프로젝트입니다. 시작 코드나 XAML 없이 처음부터 앱을 빌드하려는 경우 이 템플릿을 사용합니다.

중요  빈 프로젝트는 Windows Phone의 뒤로 단추를 처리하지 않습니다. 기본적으로 사용자가 해당 단추를 누르면 앱이 닫힙니다. Windows Phone 스토어 앱용 빈 프로젝트를 만드는 경우 이 항목의 빈 프로젝트에서 Windows Phone의 뒤로 단추 처리 섹션을 참조하세요.

허브허브 컨트롤을 사용하는 세 페이지 Windows 스토어 앱 또는 Windows Phone 스토어 앱 프로젝트입니다. 전용 페이지에 그룹 및 항목 정보가 표시됩니다.

자세한 내용은 허브를 참조하세요.

그리드그리드에 정렬된 그룹화된 항목을 탐색하는 세 페이지 Windows 스토어 앱 또는 Windows Phone 스토어 앱 프로젝트입니다. 전용 페이지에 그룹 및 항목 정보가 표시됩니다.

자세한 내용은 그리드를 참조하세요.

분할그룹화된 항목을 탐색하는 두 페이지 Windows 스토어 앱 또는 Windows Phone 스토어 앱 프로젝트입니다. 첫 번째 페이지에서는 그룹 선택을 허용하지만 두 번째 페이지에서는 선택한 항목의 세부 정보와 함께 항목 목록을 표시합니다.

자세한 내용은 분할을 참조하세요.

피벗피벗 컨트롤 및 Windows 런타임을 사용하는 Windows Phone 스토어 앱 프로젝트입니다.

자세한 내용은 피벗을 참조하세요.

WebViewWebView 컨트롤 및 Windows 런타임을 사용하는 Windows Phone 스토어 앱 프로젝트입니다.

WebView 컨트롤에 대한 자세한 내용은 WebView를 참조하세요.

DirectXDirectX 및 Windows 런타임을 사용하는 Windows 스토어 앱 또는 Windows Phone 스토어 앱 프로젝트입니다.

자세한 내용은 Microsoft Visual Studio 2013 DirectX 템플릿 사용을 참조하세요.

DirectX 및 XAMLDirectX, XAML 및 Windows 런타임을 사용하는 Windows 스토어 앱 또는 Windows Phone 스토어 앱 프로젝트입니다.

자세한 내용은 Microsoft Visual Studio 2013 DirectX 템플릿 사용을 참조하세요.

 

참고  일부 템플릿은 이름의 끝에 (Windows Phone Silverlight)가 추가되어 있습니다. 이전에 Windows Phone 8용으로 개발했으며 기존 코드를 크게 수정하지 않고 Windows Phone 앱에 사용 가능한 일부 새로운 기능에 액세스하려는 경우 이러한 템플릿을 사용하는 것이 좋습니다. 이러한 템플릿 및 템플릿 사용 이유에 대한 자세한 내용은 Windows Phone용 Silverlight 8.1 앱을 참조하세요.

앱의 일부를 빌드하는 데 사용할 수 있는 템플릿

앱이 더 복잡해짐에 따라 이러한 템플릿 중 하나를 사용하여 구성 요소로 기능을 추가할 수도 있습니다.

템플릿설명
DLL(C++만 해당) Windows 스토어 앱, Windows Phone 스토어 앱 또는 C++로 작성한 Windows 런타임 구성 요소가 사용할 수 있는 기본 DLL(동적 연결 라이브러리) 프로젝트입니다.

자세한 내용은 Visual C++의 DLL을 참조하세요.

정적 라이브러리(C++만 해당) Windows 스토어 앱, Windows Phone 스토어 앱 또는 C++로 작성한 Windows 런타임 구성 요소가 사용할 수 있는 기본 LIB(정적 연결 라이브러리) 프로젝트입니다.

자세한 내용은 연습: 정적 라이브러리 만들기 및 사용(C++)을 참조하세요.

클래스 라이브러리C# 또는 Visual Basic으로 작성한 Windows 스토어 앱 또는 Windows Phone 스토어 앱의 관리되는 클래스 라이브러리(.dll)를 만들기 위한 프로젝트입니다.
클래스 라이브러리(휴대용)C# 또는 Visual Basic으로 작성한 Windows 스토어 앱, Windows Phone 스토어 앱 및 Silverlight 앱의 관리되는 클래스 라이브러리(.dll)를 만들기 위한 프로젝트입니다.

자세한 내용은 .NET Framework를 사용한 플랫폼 간 개발을 참조하세요.

Windows 런타임 구성 요소앱을 작성한 프로그래밍 언어에 관계없이 Windows 스토어 앱이 사용할 수 있는 C++ 또는 관리되는 Windows 런타임 구성 요소를 만들기 위한 프로젝트입니다.

자세한 내용은 Windows 런타임 구성 요소 만들기를 참조하세요.

 

앱을 테스트하는 데 사용할 수 있는 템플릿

앱 게시에 가까워질수록 이러한 템플릿 중 하나를 사용하여 성능과 코드 품질을 최적화하는 것이 좋습니다.

템플릿설명
단위 테스트 라이브러리Windows 스토어 앱, Windows 런타임 구성 요소 또는 Windows 스토어 앱의 클래스 라이브러리를 테스트하는 데 사용할 수 있는 단위 테스트가 포함된 프로젝트입니다.

자세한 내용은 Visual Studio에서 Windows 스토어 앱에 대한 단위 테스트 만들기 및 실행을 참조하세요.

코딩된 UI 테스트Windows 스토어 앱의 자동화된 UI 테스트에 사용되는 코딩된 UI 테스트가 포함된 프로젝트입니다.

자세한 내용은 UI 자동화를 사용하여 코드 검증을 참조하세요.

 

템플릿 자세히 살펴보기

템플릿으로 시작하고 처음부터 앱을 빌드하지 않는 경우 대체로 허브, 그리드, 분할, 피벗 또는 프로젝트 템플릿을 사용하여 시작합니다. 다음은 각 템플릿에 대한 자세한 설명입니다.

DirectX 템플릿과 DirectX 및 XAML 템플릿을 사용하는 방법에 대한 자세한 내용은 Microsoft Visual Studio 2013 DirectX 템플릿 사용을 참조하세요.

허브 프로젝트 템플릿

허브 템플릿은 Windows Phone 8의 파노라마 템플릿과 비슷합니다.

콘텐츠에 액세스하는 다양한 방법을 제공하는 가로 이동 보기에 콘텐츠를 표시하려면 이 템플릿을 사용합니다.

기본 허브 페이지에서는 새 항목, 강조된 항목, 항목 범주 등의 섹션으로 콘텐츠가 구성됩니다. 이 템플릿은 쇼핑, 뉴스, 스포츠 또는 미디어 허브 앱에 적합합니다.

사용자가 대화형 섹션 제목(">"로 표시)을 탭할 경우 앱은 해당 섹션의 항목이 나열된 섹션 페이지를 엽니다. 사용자가 홈페이지 또는 섹션 페이지에서 항목을 선택할 경우 전체 페이지 보기에 항목에 대한 세부 정보가 표시됩니다. 다음 이미지는 최소 세 개의 섹션이 포함된 허브 앱의 홈페이지를 보여 줍니다.

Windows용 허브 앱 프로젝트 템플릿

디자이너에 표시되는 이러한 섹션은 표시할 수 있는 콘텐츠 종류의 예입니다. 원하는 콘텐츠가 원하는 방식대로 앱에 표시되도록 쉽게 섹션을 추가 및 제거할 수 있습니다.

템플릿의 섹션에는 정적 콘텐츠가 포함되어 있으므로, 전역화된 리소스를 손쉽게 제공할 수 있습니다. 샘플 리소스 파일에서는 en-us 로캘에 대한 지역화된 문자열을 제공합니다.

허브 프로젝트 템플릿을 사용하여 사용자가 부동산을 쇼핑하도록 도울 수 있는 방법의 예는 빠른 시작: 서비스에서 데이터 읽기를 참조하세요.

  • Applies to Windows

그리드 프로젝트 템플릿

그리드 앱 템플릿은 사용자가 콘텐츠 범주를 검색할 수 있도록 하는 또 다른 방법입니다. 이 템플릿은 쇼핑, 뉴스, 사진 또는 동영상 앱에 적합합니다.

그리드 앱은 그룹 목록을 표시합니다. 앱에서 사용자가 그룹을 선택하면 오른쪽에 항목 목록을 표시하는 그룹 세부 정보 페이지가 열립니다. 사용자는 홈페이지나 그룹 세부 정보 페이지에서 항목을 선택할 수 있습니다. 이 경우 항목 세부 정보를 표시하는 데 사용할 수 있는 전체 페이지 보기가 열립니다. 다음 이미지는 그리드 앱의 홈페이지를 보여 줍니다.

그리드 앱 프로젝트 템플릿
  • Applies to Windows

분할 프로젝트 템플릿

분할 앱 템플릿은 2열 보기로 항목 목록과 항목 세부 정보를 표시합니다. 사용자는 항목 간에 빠르게 전환하고 동적으로 업데이트될 수 있는 목록에서 정보를 볼 수 있습니다. 이 템플릿은 뉴스 뷰어, 스포츠 득점 또는 메일 앱에 적합합니다.

분할 앱 템플릿은 그룹 목록을 표시합니다. 사용자가 그룹을 탭하거나 클릭하여 선택하면 앱에서 분할 보기 페이지가 열립니다. 다음 이미지는 분할 보기 페이지를 보여 줍니다.

분할 앱 프로젝트 템플릿

분할 보기 페이지에는 2열 보기(또는 마스터/세부 정보 보기)가 표시됩니다. 사용자가 왼쪽에서 항목을 선택하면 오른쪽에 있는 세부 정보가 바뀝니다. 왼쪽에 뉴스 목록이 있고 오른쪽에 실제 뉴스가 있다고 가정해 보세요.

  • Applies to Windows Phone

피벗 프로젝트 템플릿

피벗 앱 템플릿을 사용하면 보기 또는 페이지를 빠르게 관리할 수 있습니다. 큰 데이터 집합을 필터링하거나, 여러 데이터 집합을 보거나, 앱 보기를 전환하는 데 사용할 수 있습니다. 예를 들어 페이지의 왼쪽에서 오른쪽으로 긋거나 이동하면 다음 콘텐츠 페이지로 진행합니다. 다음 이미지는 피벗 앱의 홈페이지를 보여 줍니다.

피벗 프로젝트 템플릿
  • Applies to Windows Phone

빈 프로젝트에서 Windows Phone의 뒤로 단추 처리

빈 프로젝트는 Windows Phone의 뒤로 단추를 처리하지 않습니다. 기본적으로 사용자가 뒤로 단추를 누르면 앱이 닫힙니다.

다른 프로젝트 템플릿은 NavigationHelper .cs|.vb|.cpp|.h 파일을 사용하여 뒤로 단추를 처리합니다. NavigationHelper .cs|.vb|.cpp|.h 파일의 복사본을 가져오려면 프로젝트에 기본 페이지를 추가합니다.

프로젝트에 NavigationHelper .cs|.vb|.cpp|.h 파일이 포함된 후 필요하지 않은 경우 기본 페이지를 프로젝트에서 삭제할 수 있습니다. Windows Phone의 뒤로 단추를 처리하려면 NavigationHelper 형식의 private 필드 navigationHelper를 빈 페이지에 추가합니다. 그런 다음 빈 페이지의 생성자에 다음 코드 줄을 추가합니다.


this.navigationHelper = new NavigationHelper(this);

탐색, 상태 관리 및 데이터 바인딩

허브, 그리드, 분할, 피벗의 페이지는 탐색, 상태 관리 및 데이터 바인딩을 이미 구현합니다.

탐색 및 상태 관리

허브, 그리드, 분할피벗 앱 프로젝트 템플릿은 페이지 탐색을 사용하도록 설정합니다. 탐색 도우미를 사용하는 모든 새 페이지에 탐색을 사용하도록 쉽게 설정할 수 있습니다.

템플릿에서 사용하는 탐색 모델은 C++, C# 또는 Visual Basic으로 작성한 앱에 권장되는 탐색 모델입니다. 이 모델에서 XAML 페이지는 기본 창의 콘텐츠로서 중앙 프레임에 로드되며, 그런 다음 사용자는 해당 프레임을 사용하여 다른 페이지로 이동합니다. 페이지는 대체로 사용자 작업에 대한 응답으로 필요에 따라 로드됩니다. 일반적으로 웹 개발자는 이 유형의 탐색 모델을 단일 페이지 탐색이라고 합니다.

탐색 모델은 Common\NavigationHelper에 구현되어 있습니다. 단일 페이지 탐색 모델은 보다 매끄럽고 앱과 유사한 페이지 간 전환을 제공하며, 앱 수준의 단일 컨텍스트를 통해 쉽게 앱 상태를 관리할 수 있게 합니다.

탐색 모델을 사용하면 앱이 여러 상태를 유지 관리할 수 있습니다. 예를 들어 사용자 기본 타일에서 음악 앱을 시작하고 아티스트를 선택한 다음 앱을 닫는다고 가정해 보세요. 그런 다음 특정 음악의 타일을 클릭하여 음악 앱을 시작합니다. 음악을 재생하고, 음악 플레이어를 일시 중지한 다음 앱을 닫습니다.

사용자가 기본 타일을 클릭하면 아티스트 페이지로 돌아갈 수 있습니다. 보조 타일을 클릭하면 계속해서 음악을 들을 수 있습니다. 두 세션의 상태는 서로 독립적으로 유지됩니다.

템플릿에서 이 시나리오에 대한 인프라를 제공하지만 사용자도 약간의 코드를 작성해야 합니다.

참고  

빈 템플릿 같은 기타 프로젝트 템플릿에는 NavigationHelper 파일이 포함되어 있지 않습니다. 해당 템플릿의 경우 NavigationHelper 프로젝트 파일을 직접 추가하거나 사용자 지정 탐색을 구현해야 합니다.

C++, C# 또는 Visual Basic으로 작성한 Windows 스토어 앱에서 단일 페이지 탐색을 사용하는 예제 및 탐색에 대한 자세한 내용은 빠른 시작: 페이지 간 이동을 참조하세요.

앱에 가장 적합한 탐색 패턴을 선택하는 방법을 보려면 탐색 패턴을 참조하세요. 또한 앱 기능 전체 프로세스 시리즈의 일부로 플랫 탐색 패턴의 작동 방법을 참조하세요.

데이터 바인딩

허브, 그리드, 분할피벗 앱 프로젝트 템플릿에는 앱을 실행할 때 해당 파일의 데이터를 표시하는 데 유용한 샘플 데이터 파일과 클래스가 포함되어 있습니다. 해당 데이터는 디자인할 때 페이지에도 표시됩니다. 솔루션의 데이터 모델 폴더에서 이러한 클래스 및 샘플 데이터 파일을 찾을 수 있습니다.

데이터는 항목과 그룹으로 구성됩니다. 각 페이지에 보기 모델이라는 이름/값 쌍의 고유한 컬렉션이 있습니다. 각 페이지의 컨트롤은 해당 보기 모델의 정보에 바인딩됩니다. 이 모델에 데이터를 연결하는 방법은 다음 항목 중 하나를 참조하세요.

솔루션 페이지의 코드는 데이터 모델 폴더의 데이터 클래스에서 정보를 가져옵니다.

솔루션의 파일

프로젝트를 만들면 앱의 페이지가 솔루션 탐색기에 표시됩니다. 예를 들어 허브 앱 템플릿을 기반으로 프로젝트를 만드는 경우 항목 섹션을 표시하는 홈페이지(HubPage.xaml), 항목 범주를 표시하는 페이지(SectionPage.xaml), 항목의 전체 페이지 보기를 표시하는 페이지(ItemPage.xaml) 등 3개의 xaml 페이지가 표시됩니다.

각 페이지에는 페이지의 다양한 동작 측면을 구현하는 코드 숨김 파일이 있습니다. 다음 표에서는 만드는 프로젝트 형식에 따라 솔루션에 포함될 수 있는 다른 여러 파일에 대해 설명합니다.

파일설명
BooleanNegationConverter .cs|.vb|.cpp|.hXAML에서 사용할 변환기입니다. 이 파일은 부울을 무효화합니다. 이 파일은 ShareTarget 항목 템플릿을 추가한 경우에만 Common 폴더에 있습니다.
BooleanToVisibilityConverter .cs|.vb|.cpp|.hXAML에서 사용할 변환기입니다. 부울을 표시 상태로 변환합니다.
NavigationHelper .cs|.vb|.cpp|.h
  • 뒤로 및 앞으로 탐색하는 데 사용되는 명령을 제공합니다.
  • 뒤로 및 앞으로 이동하는 데 사용되는 표준 마우스 및 키보드 바로 가기를 등록한 다음 명령 구현에 연결합니다.
  • 페이지를 탐색할 때 사용할 LoadStateSaveState에 대한 이벤트를 제공합니다. 이러한 이벤트는 탐색 상태뿐 아니라 프로세스 수명 관리 상태도 제공합니다.
  • SuspensionManager를 사용하여 상태 정보를 관리합니다.
ReadMe.txt템플릿에 대한 중요한 정보가 들어 있습니다. 템플릿이 업데이트되면 이 추가 정보도 바뀔 수 있습니다. 새 템플릿을 사용할 때마다 이 파일을 읽어 보는 것이 좋습니다.
RelayCommand .cs|.vb|.cpp|.hGoBack 및 GoForward 명령에 대해 NavigationHelper가 사용하는 명령입니다.
SuspensionManager cs|.vb|.cpp|.h앱의 일시적인 상태의 저장 및 복원을 관리합니다. 예를 들어 시스템 리소스가 부족할 경우 현재 앱의 상태가 저장되고 앱이 일시 중단됩니다. 사용자가 앱으로 돌아오면 저장된 상태와 함께 앱이 시작됩니다. App.xaml 및 NavigationHelper는 이 클래스를 사용하여 PLM 지원을 활성화합니다.
App.xaml맨 먼저 로드되어 콘텐츠 호스트(각 페이지가 주 창으로 로드되는 위치)에 대한 태그를 제공하는 페이지입니다.
package.appxmanifestWindows용 앱 패키지에 대해 설명합니다.
PFX 파일appxmanifest 파일에 서명하는 데 사용됩니다. 이 파일은 프로젝트 파일로 포함되어 명령 프롬프트에서의 빌드를 지원합니다.
SampleDataSource.cs|.vb|.cpp|.h앱에 데이터를 노출하는 데이터 원본 개체입니다. 유사한 구조가 있는 앱을 만드는 경우 항목 및 그룹에 대해 데이터 모델을 사용하면 시간을 절약할 수 있습니다.
SampleData.json앱이 사용하는 샘플 데이터가 들어 있습니다. 샘플 데이터는 하드 코드된 문자열 형태입니다. 이 샘플 데이터와 자체 데이터를 참조하는 데이터 액세스 계층을 교체해야 합니다.
다양한 이미지 파일예를 들어 시작 화면 이미지에 사용되는 SplashScreen.png, Windows 스토어에 사용되는 StoreLogo.png 등이 있습니다.
샘플 리소스 파일지역화 문자열(Resources.resw)이 포함되어 있습니다.

 

첫 번째 앱 만들기

앱을 만들 준비가 되었으면 기본 프로그래밍 언어에 따라 다음 항목 중 하나를 참조하세요.

관련 항목

탐색 모델(XAML)
프로젝트 템플릿에 데이터 추가(XAML)
Windows 스토어 앱용 C#, VB 및 C++ 항목 템플릿

 

 

표시:
© 2014 Microsoft