Bien démarrer : Choix d’un langage de programmationGetting started: Choosing a programming language

Choix d’un langage de programmationChoosing a programming language

Avant d’aller plus loin, vous devez connaître les langages de programmation permettant de développer des applications pour la plateforme Windows universelle (UWP).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. Bien que les procédures pas à pas du présent article utilisent le langage C#, vous pouvez développer des applications pour la plateforme Windows universelle (UWP) à l’aide d’un ou de plusieurs langages de programmation (voir Langages, outils et infrastructures).Although the walkthroughs in this article use C#, you can develop UWP apps using one or more programming languages (see Languages, tools and frameworks).

Vous pouvez développer à l’aide des langages C++, C#, Microsoft Visual Basic et JavaScript.You can develop using C++, C#, Microsoft Visual Basic, and JavaScript. JavaScript utilise le balisage HTML5 pour la disposition de l’interface utilisateur et les autres langages utilisent un langage de balisage appelé XAML (Extensible Application Markup Language) pour décrire leur interface utilisateur.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.

Bien que l’article se concentre ici sur C#, les autres langages offrent des avantages uniques qu’il peut être intéressant d’explorer.Although we're focusing on C# in this article, the other languages offer unique benefits, which you may want to explore. Par exemple, si la performance de votre application est une priorité, surtout pour des composants graphiques complexes, C++ peut s’avérer le meilleur choix.For example, if your app's performance is a primary concern, especially for intensive graphics, then C++ might be the right choice. La version Microsoft .NET de Visual Basic donne de très bons résultats pour les développeurs d’applications Visual Basic.The Microsoft .NET version of Visual Basic is great for Visual Basic app developers. JavaScript avec HTML5 convient parfaitement pour les professionnels spécialisés dans le développement Web.JavaScript with HTML5 is great for those coming from a web development background. Pour plus d’informations, voir les rubriques suivantes :For more info, see one of the following:

Remarque    Pour les applications qui utilisent des graphiques 3D, les normes OpenGL et OpenGL ES ne sont pas disponibles en mode natif pour les applications UWP.Note  For apps that use 3D graphics, the OpenGL and OpenGL ES standards are not natively available for UWP apps. Si vous préférez ne pas réécrire votre code OpenGL ES dans Microsoft DirectX, vous pourriez être intéressé par Angle.If you would rather not rewrite your OpenGL ES code into Microsoft DirectX, you may be interested to know about Angle. Angle est un projet en cours conçu pour convertir OpenGL en DirectX en transformant des appels d’API OpenGL en appels d’API DirectX.Angle is an on-going project designed to convert OpenGL to DirectX by translating OpenGL API calls into DirectX API calls. Pour en savoir plus, consultez les articles suivants :To learn more, see the following:

Essayer C#Giving C# a go

En tant que développeur iOS, vous êtes accoutumé à Objective-C et à Swift.As an iOS developer, you're accustomed to Objective-C and Swift. Le langage de programmation Microsoft le plus proche des deux est C#.The closest Microsoft programming language to both is C#. Pour la majorité des développeurs et des applications, nous pensons que C# est le langage le plus simple et le plus rapide à apprendre et à utiliser. C’est pourquoi les informations et procédures fournies dans cet article se concentrent sur ce langage.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. Pour en savoir plus sur le langage C#, voir les rubriques suivantes :To learn more about C#, see the following:

Voici une classe écrite avec les deux langages, Objective-C et C#.Following is a class written in Objective-C and C#. La version Objective-C apparaît en premier, suivie de la version 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];

Voyons la version C#.Now, for the C# version. Vous remarquerez que, comme dans Swift, l’en-tête et l’implémentation ne figurent pas dans des fichiers distincts.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# est un langage facile à comprendre. Il est fourni avec les nombreuses classes et infrastructures de prise en charge de .NET.C# is an easy language to pick up, and comes with the many support classes and frameworks that make up .NET. En un clin de œil, vous écrirez avec bonheur votre code sans le moindre crochet !In no time, you'll be happily writing your code without a square bracket in sight!

Étape suivanteNext step

Bien démarrer : Savoir maîtriser Visual StudioGetting started: Getting around in Visual Studio