Attività iniziali: Scelta di un linguaggio di programmazioneGetting started: Choosing a programming language

Scelta di un linguaggio di programmazioneChoosing a programming language

Prima di continuare, devi conoscere i linguaggi di programmazione tra cui puoi scegliere per lo sviluppo di app UWP (Universal Windows Platform).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. Anche se per le procedure dettagliate in questo articolo viene usato C#, puoi sviluppare app UWP (Universal Windows Platform) con uno o più linguaggi di programmazioni. Vedi Linguaggi, strumenti e framework.Although the walkthroughs in this article use C#, you can develop UWP apps using one or more programming languages (see Languages, tools and frameworks).

Puoi sviluppare app con C++, C#, Microsoft Visual Basic e JavaScript.You can develop using C++, C#, Microsoft Visual Basic, and JavaScript. In JavaScript si usa il markup HTML5 per il layout dell'interfaccia utente, mentre per descrivere l'interfaccia utente in altri linguaggi si usa il linguaggio di markup XAML (Extensible Application Markup Language).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.

Questo articolo è incentrato su C#, ma ogni linguaggio offre vantaggi esclusivi che è utile esaminare.Although we're focusing on C# in this article, the other languages offer unique benefits, which you may want to explore. Se ad esempio le prestazioni dell'app rappresentano un aspetto di importanza cruciale, soprattutto in caso di uso intensivo della grafica, il linguaggio C++ può rappresentare la scelta più opportuna.For example, if your app's performance is a primary concern, especially for intensive graphics, then C++ might be the right choice. La versione di Microsoft .NET di Visual Basic è ideale per gli sviluppatori di app in Visual Basic.The Microsoft .NET version of Visual Basic is great for Visual Basic app developers. JavaScript con HTML5 è preferibile per coloro i quali sono in possesso di una formazione specialmente incentrata sullo sviluppo Web.JavaScript with HTML5 is great for those coming from a web development background. Per altre info, vedi le risorse seguenti:For more info, see one of the following:

Nota    Per le app che usano grafica 3D, gli standard OpenGL e OpenGL ES non sono disponibili in modo nativo per le app UWP.Note  For apps that use 3D graphics, the OpenGL and OpenGL ES standards are not natively available for UWP apps. Se non vuoi riscrivere il codice OpenGL ES in Microsoft DirectX, potresti trovare interessanti le informazioni su Angle.If you would rather not rewrite your OpenGL ES code into Microsoft DirectX, you may be interested to know about Angle. Angle è un progetto in corso progettato per convertire OpenGL in DirectX trasformando le chiamate all'API OpenGL in chiamate all'API DirectX.Angle is an on-going project designed to convert OpenGL to DirectX by translating OpenGL API calls into DirectX API calls. Per altre informazioni, vedere gli argomenti seguenti:To learn more, see the following:

Prove con C#Giving C# a go

Gli sviluppatori iOS sono abituati a Objective-C e Swift.As an iOS developer, you're accustomed to Objective-C and Swift. Il linguaggio di programmazione Microsoft più vicino a entrambi è C#.The closest Microsoft programming language to both is C#. Per la maggior parte degli sviluppatori e delle app, il linguaggio C# è probabilmente il più semplice e veloce da apprendere e usare ed è per questo motivo che le informazioni e le procedure dettagliate illustrate in questo articolo sono incentrate su tale linguaggio.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. Per altre informazioni su C#, vedi le risorse seguenti:To learn more about C#, see the following:

Ecco una classe scritta in Objective-C e in C#.Following is a class written in Objective-C and C#. Viene illustrata prima la versione Objective-C, seguita da quella 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];

Ecco la versione C#.Now, for the C# version. Come puoi notare, come in Swift l'intestazione e l'implementazione non si trovano in file separati.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# è un linguaggio semplice da apprendere e include diverse classi di supporto e framework che costituiscono .NET.C# is an easy language to pick up, and comes with the many support classes and frameworks that make up .NET. In un batter d'occhio ti troverai a scrivere codice senza neanche una parentesi quadra.In no time, you'll be happily writing your code without a square bracket in sight!

Passaggio successivoNext step

Attività iniziali: Orientarsi in Visual StudioGetting started: Getting around in Visual Studio