UWP 개발, 프로젝트 만들기

UWP(Universal Windows Platform)는 Microsoft에서 제공하는 플랫폼으로, Windows 10 및 이후 버전에서 실행되는 앱을 개발할 수 있도록 해줍니다. UWP를 이용하면 PC, 태블릿, 전화기, Xbox 등 다양한 디바이스에서 실행할 수 있는 애플리케이션을 만들 수 있습니다. 본 글에서는 UWP 프로젝트를 만드는 방법에 대해 자세히 알아보겠습니다.

1. UWP 프로젝트 생성 환경 준비하기

UWP 개발을 시작하기 위해서는 Visual Studio가 필요합니다. Visual Studio는 Microsoft에서 제공하는 통합 개발 환경(IDE)으로, UWP뿐만 아니라 다양한 애플리케이션을 개발할 수 있는 툴입니다. 아래의 단계를 따라 Visual Studio를 설치하고 설정해 봅시다.

1.1 Visual Studio 설치하기

  1. Microsoft의 공식 다운로드 페이지에 접속합니다.
  2. 커뮤니티 버전 또는 원하는 버전을 선택하여 다운로드합니다.
  3. 다운로드한 설치 파일을 실행하고, UWP 개발을 위해 ‘개발자 도구’ 섹션에서 ‘유니버설 Windows 플랫폼 개발’ 워크로드를 선택합니다.
  4. 설치를 완료한 후, Visual Studio를 실행합니다.

2. 새로운 UWP 프로젝트 만들기

Visual Studio에서 새로운 UWP 프로젝트를 만드는 과정은 아주 간단합니다. 다음 단계를 따라 새로운 프로젝트를 생성해 보겠습니다.

2.1 새로운 프로젝트 생성

  1. Visual Studio를 실행한 후, “파일(File)” 메뉴에서 “새로 만들기(New)”를 클릭합니다.
  2. “프로젝트(Project)”를 선택합니다.
  3. “신규 프로젝트(New Project)” 대화 상자가 열리면, 왼쪽 패널에서 “C#” 또는 “Visual Basic”을 선택합니다.
  4. 중앙 패널에서 “유니버설(Universal)”을 선택하고, “빈 앱(Blank App)”을 선택합니다. 이 예제에서는 “빈 앱(유니버설 Windows)”을 선택하겠습니다.
  5. 프로젝트의 이름과 위치를 설정한 후, “생성(Create)” 버튼을 클릭합니다.

2.2 타겟 버전 및 최소 버전 설정

프로젝트를 생성하면, 타겟 버전과 최소 버전 설정을 하게 됩니다. 여기서 ‘타겟 버전’은 앱이 실행되는 가장 높은 Windows 10 버전을 의미하고, ‘최소 버전’은 앱이 실행될 수 있는 최소 Windows 10 버전을 말합니다. 이를 통해 사용자의 시스템에서 어떤 기능을 사용할 수 있을지 결정됩니다.

  1. 타겟 버전을 선택합니다. 일반적으로 최신 버전을 선택하는 것이 좋습니다.
  2. 최소 버전은 지원하고자 하는 범위에 따라 선택합니다. 보통은 비슷한 최신 버전을 선택합니다.
  3. 설정이 완료되면 “확인(OK)” 버튼을 클릭합니다.

3. UWP 응용 프로그램 구조 이해하기

UWP 프로젝트가 생성되면, Visual Studio 내에서 다양한 파일과 폴더가 생성됩니다. 이 구조는 다음과 같습니다.

  • Properties: 프로젝트의 속성을 설정하는 파일입니다. 여기서 앱의 이름, 버전 정보, 아이콘 등을 설정할 수 있습니다.
  • MainPage.xaml: UWP 앱의 주 사용자 인터페이스(UI)를 정의하는 파일입니다. XAML(Extensible Application Markup Language) 기반으로 UI를 선언적으로 설계할 수 있습니다.
  • App.xaml: 앱의 전역 리소스와 설정을 정의하는 파일입니다.
  • App.xaml.cs: 앱의 비즈니스 로직을 포함합니다. Application 클래스의 구현을 담당합니다.
  • Assets: 애플리케이션에서 사용될 이미지, 아이콘 등의 자원을 포함하는 폴더입니다.

4. Hello World 예제 만들기

이제 기본적인 UWP 프로젝트 구조를 이해했으니, 간단한 “Hello World” 예제를 만들어보겠습니다. 이 예제는 사용자가 버튼을 클릭하면 ‘Hello World’라는 텍스트가 표시되는 기본적인 앱입니다.

4.1 UI 설계

‘MainPage.xaml’ 파일을 열어 UI를 설계하겠습니다. 여기서 버튼과 텍스트 블록을 추가합니다.

<Page
    x:Class="HelloWorldApp.MainPage"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:local="using:HelloWorldApp"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    mc:Ignorable="d"
    Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">

    <Grid>
        <StackPanel VerticalAlignment="Center" HorizontalAlignment="Center">
            <TextBlock x:Name="HelloTextBlock" Text="Welcome!" FontSize="36" Margin="0,0,0,20"/>
            <Button Content="Click Me!" Click="Button_Click" Width="200" Height="60"/>
        </StackPanel>
    </Grid>
</Page>

4.2 코드 비하인드 구현

이제 ‘MainPage.xaml.cs’ 파일을 열어 버튼 클릭 이벤트를 구현합니다.

using Windows.UI.Xaml;
using Windows.UI.Xaml.Controls;

namespace HelloWorldApp
{
    public sealed partial class MainPage : Page
    {
        public MainPage()
        {
            this.InitializeComponent();
        }

        private void Button_Click(object sender, RoutedEventArgs e)
        {
            HelloTextBlock.Text = "Hello World!";
        }
    }
}

5. 응용 프로그램 실행하기

모든 코딩이 완료되었으니, 이제 응용 프로그램을 실행해 보겠습니다. Ctrl + F5를 눌러 실행하면, ‘Click Me!’ 버튼을 클릭했을 때 ‘Hello World!’라는 텍스트가 나타나는 것을 확인할 수 있습니다.

6. UWP 앱 배포하기

UWP 애플리케이션을 배포하는 방법은 여러 가지가 있습니다. 이 중 가장 일반적인 방법은 Microsoft Store에 배포하는 것입니다. 배포 과정을 살펴보겠습니다.

6.1 패키징

  1. Visual Studio에서 “빌드(Build)” 메뉴를 선택하고, “패키지(Package)”를 클릭하여 패키징 프로세스를 시작합니다.
  2. 우측에서 “게시(Publish)”를 선택하고, “배포 패키지 생성(Create App Packages)”를 선택합니다.
  3. 배포 패키지 생성 마법사가 시작되면, “내가 응용 프로그램을 스토어에 게시할 것입니다”라는 옵션을 선택합니다. 이렇게 하면 스토어 전용 패키지를 생성합니다.
  4. 이후 나타나는 단계에 따라 앱의 정보를 입력하고 최종 패키지를 생성합니다.

6.2 Microsoft Store에 제출하기

패키지를 생성한 후, Microsoft의 개발자 대시보드에 로그인하여 앱을 제출할 수 있습니다. 앱 제출 과정은 다음과 같습니다.

  1. Microsoft의 개발자 대시보드에 로그인합니다.
  2. 새 앱을 등록하고, 필요한 정보를 입력합니다.
  3. 패키지를 업로드하고, 앱 리뷰를 요청합니다.

7. 결론

이번 글에서는 UWP를 통한 프로젝트 생성 방법을 알아보았습니다. UWP 플랫폼은 강력한 기능과 다양한 디바이스에서의 호환성을 제공하여, 단일 코드베이스로 여러 환경에서 사용할 수 있는 애플리케이션을 개발할 수 있게 해줍니다. 위에서 설명한 “Hello World” 프로젝트를 통해 UWP의 기초를 이해하고, 더 복잡한 애플리케이션을 만들기 위한 기초를 다질 수 있습니다.

앞으로 더 많은 UWP 기능과 고급 프로그래밍 기법에 대해 배워보길 바랍니다. UWP 개발의 매력적인 세계에 발을 내딛을 준비가 되셨다면, 다음 단계로 나아가 봅시다!