시작: 프로그래밍 언어 선택Getting started: Choosing a programming language

프로그래밍 언어 선택Choosing a programming language

더 진행 하기 전에 UWP (유니버설 Windows 플랫폼) 앱을 개발할 때 선택할 수 있는 프로그래밍 언어에 대해 알고 있어야 합니다.Before we go any further, you should know about the programming languages that you can choose from when you develop Universal Windows Platform (UWP) apps. 이 문서의 연습에서는 c #을 사용 하지만 하나 이상의 프로그래밍 언어를 사용 하 여 UWP 앱을 개발할 수 있습니다 ( 언어, 도구 및 프레임 워크참조).Although the walkthroughs in this article use C#, you can develop UWP apps using one or more programming languages (see Languages, tools and frameworks).

C + +, c #, Microsoft Visual Basic 및 JavaScript를 사용 하 여 개발할 수 있습니다.You can develop using C++, C#, Microsoft Visual Basic, and JavaScript. JavaScript는 UI 레이아웃에 HTML5 태그를 사용 하 고 다른 언어는 XAML (Extensible Application Markup Language) 이라는 태그 언어를 사용 하 여 ui를 설명 합니다.JavaScript uses HTML5 markup for UI layout, and the other languages use a markup language called Extensible Application Markup Language (XAML) to describe their UI.

이 도움말에서는 C#을 기반으로 하지만 언어마다 살펴볼 수 있는 고유한 이점이 있습니다.Although we're focusing on C# in this article, the other languages offer unique benefits, which you may want to explore. 예를 들어 응용 프로그램의 성능이 매우 중요 한 경우 특히 집약적 그래픽의 경우 c + +를 선택 하는 것이 적합 합니다.For example, if your app's performance is a primary concern, especially for intensive graphics, then C++ might be the right choice. Microsoft .NET 버전의 Visual Basic는 Visual Basic 앱 개발자에 게 적합 합니다.The Microsoft .NET version of Visual Basic is great for Visual Basic app developers. JavaScript는 웹 개발 백그라운드에서 제공 되는 경우에 유용 합니다.JavaScript with HTML5 is great for those coming from a web development background. 자세한 내용은 다음 중 하나를 참조 하세요.For more info, see one of the following:

참고    3D 그래픽을 사용 하는 앱의 경우 UWP 앱에서 OpenGL 및 OpenGL ES 표준을 기본적으로 사용할 수 있는 것은 아닙니다.Note  For apps that use 3D graphics, the OpenGL and OpenGL ES standards are not natively available for UWP apps. Microsoft DirectX에 OpenGL ES 코드를 다시 작성 하지 않고 각도에 대해 알고 싶을 수 있습니다.If you would rather not rewrite your OpenGL ES code into Microsoft DirectX, you may be interested to know about Angle. 각도는 OpenGL API 호출을 DirectX API 호출로 변환 하 여 OpenGL을 DirectX로 변환 하도록 디자인 된 진행 중인 프로젝트입니다.Angle is an on-going project designed to convert OpenGL to DirectX by translating OpenGL API calls into DirectX API calls. 자세한 알아보려면 다음을 참조하세요.To learn more, see the following:

C # a go 제공Giving C# a go

IOS 개발자는 목표-C 및 Swift에 익숙합니다.As an iOS developer, you're accustomed to Objective-C and Swift. 가장 가까운 Microsoft 프로그래밍 언어는 c #입니다.The closest Microsoft programming language to both is C#. 대부분의 개발자와 대부분의 앱에 대해 학습 하 고 사용할 수 있는 가장 쉽고 빠른 언어인 c # 이라고 생각 합니다. 따라서이 문서의 정보 및 연습은 해당 언어에 초점을 둡니다.For most developers and most apps, we think C# is the easiest and fastest language to learn and use, so this article's info and walkthroughs focus on that language. C #에 대 한 자세한 내용은 다음을 참조 하세요.To learn more about C#, see the following:

다음은 목표-C 및 c #으로 작성 된 클래스입니다.Following is a class written in Objective-C and C#. 목표-C 버전이 먼저 표시 된 다음 c # 버전이 표시 됩니다.The Objective-C version is shown first, followed by the C# version.

// Objective-C header: SampleClass.h.

#import <Foundation/Foundation.h>

@interface SampleClass : NSObject {
    BOOL localVariable;
}

@property (nonatomic) BOOL localVariable;

-(int) addThis: (int) firstNumber andThis: (int) secondNumber;

@end
// Objective-C implementation.

#import "SampleClass.h"

@implementation SampleClass

@synthesize localVariable = _localVariable;

- (id)init {
    self = [super init];
    if (self) {
        localVariable = true;
    }
    return self;
}

-(int) addThis: (int) firstNumber andThis: (int) secondNumber {
    return firstNumber + secondNumber;
}

@end
// Objective-C usage.

SampleClass *mySampleClass = [[SampleClass alloc] init];
mySampleClass.localVariable = false;
int result = [mySampleClass addThis:1 andThis:2];

이제 c # 버전입니다.Now, for the C# version. Swift와 같이 헤더와 구현은 별도의 파일에 있지 않은 것을 볼 수 있습니다.You'll see that like Swift, the header and the implementation are not in separate files.

// C# header and implementation.

using System;

namespace MyApp  // Defines this code' s scope.
{
    class SampleClass
    {
        private bool localVariable;

        public SampleClass() // Constructor.
        {
            localVariable = true;
        }

        public bool myLocalVariable // Property.
        {
            get
            {
                return localVariable;
            }
            set
            {
                localVariable = value; 
            }
        }

        public int AddTwoNumbers(int numberOne, int numberTwo)
        {
            return numberOne + numberTwo;
        }        
    }
}
// C# usage.

SampleClass mySampleClass = new SampleClass();
mySampleClass.myLocalVariable = false;
int result = mySampleClass.AddTwoNumbers(1, 2);

C #은 쉽게 선택할 수 있는 언어 이며 .NET을 구성 하는 여러 지원 클래스 및 프레임 워크를 제공 합니다.C# is an easy language to pick up, and comes with the many support classes and frameworks that make up .NET. 지금은 괄호 없이 코드를 작성 하는 것이 좋습니다.In no time, you'll be happily writing your code without a square bracket in sight!

다음 단계Next step

시작: Visual Studio 둘러보기Getting started: Getting around in Visual Studio