Ambiente di sviluppoDevelopment environment

È possibile sviluppare applicazioni per Azure Sphere nell'Aggiornamento dell'anniversario di Windows 10 o versione successiva oppure in un computer Linux che esegue Ubuntu 20.04 LTS o 18.04 LTS.You can develop applications for Azure Sphere on Windows 10 Anniversary Update or later, or a Linux machine running Ubuntu 20.04 LTS or 18.04 LTS.

  • Per Windows, installare il Windows SDK.For Windows, install the Windows SDK. È possibile usare Visual Studio, Visual Studio Code o la riga di comando per compilare, distribuire ed eseguire il debug di applicazioni in Windows.You can use Visual Studio, Visual Studio Code, or the command line to build, deploy, and debug applications on Windows.
  • Per Linux, installare Linux SDK.For Linux, install the Linux SDK. È possibile usare Visual Studio Code o la riga di comando per compilare, distribuire e sottoporre a debug le applicazioni in Linux.You can use Visual Studio Code or the command line to build, deploy, and debug applications on Linux.

Il Azure Sphere SDK include i componenti principali seguenti:The Azure Sphere SDK includes the following major components:

  • Sysroot, che contengono le librerie, i file di intestazione e gli strumenti usati per compilare e collegare un'applicazione destinata a un particolare set di API.Sysroots, which contain the libraries, header files, and tools that are used to compile and link an application that targets a particular API set.
  • Definizioni hardware, che descrivono le funzionalità hardware disponibili in diversi dispositivi hardware e possono essere utilizzate per specificarle in app-manifest.jssu file.Hardware definitions, which describe the hardware capabilities available on various hardware devices and can be used to specify these in app-manifest.json files.
  • CMakeFiles, che definiscono le estensioni Azure Sphere per CMake.CMakeFiles, which define the Azure Sphere extensions to CMake.
  • Interfaccia della riga di comando Azure Sphere.The Azure Sphere Command Line Interface (CLI).

Le esercitazioni illustrano come creare e distribuire la prima applicazione.The Tutorials walk you through building and deploying your first application. Viene anche fornito un repository di esempi su GitHub che include applicazioni di esempio che illustrano come programmare Azure Sphere hardware e usare le API.We also provide a samples repo on GitHub that includes sample applications that demonstrate how to program Azure Sphere hardware and use the APIs.

Azure Sphere Application RuntimeAzure Sphere Application Runtime

Azure Sphere Application Runtime offre due set di librerie per lo sviluppo di applicazioni di alto livello: le API di base e le API applibs.The Azure Sphere Application Runtime provides two sets of libraries for high-level application development: the base APIs and the applibs APIs. Le API di base sono basate su librerie che non sono destinate esclusivamente a Azure Sphere dispositivi, mentre le API di applibs sono destinate specificamente ai dispositivi Azure Sphere.The base APIs are based on libraries that don't exclusively target Azure Sphere devices, whereas the applibs APIs specifically target Azure Sphere devices. La applicazioni di alto livello create con Azure Sphere SDK vengono compilate e collegate tramite queste interfacce.High-level applications built with the Azure Sphere SDK compile and link against these interfaces. Queste API non possono essere usate nelle applicazioni con funzionalità in tempo reale.These APIs can't be used in real-time capable applications.

I file di intestazione per le API di base vengono installati nell' \ API sysroot set \ usr \ include cartelle della directory di installazione di Azure Sphere SDK.The header files for the base APIs are installed in the Sysroots\API set\usr\include folders of the Azure Sphere SDK installation directory. I file di intestazione per le API applibs sono installati nella \ cartella sysroot dell'API set \ usr \ include \ applibs della directory di installazione di Azure Sphere SDK.The header files for the applibs APIs are installed in the Sysroots\API set\usr\include\applibs folder of the Azure Sphere SDK installation directory.

StrumentiTools

L'SDK di Azure Sphere include lo strumento da riga di comandi azsphere per la gestione di dispositivi, lo sviluppo e la distribuzione di applicazioni e il lavoro con i servizi cloud.The Azure Sphere SDK includes the azsphere command-line tool for managing devices, developing and deploying applications, and working with cloud services.

CMake, insieme a Lightweight Ninja Build Utility, fornisce il coordinamento delle compilazioni per Azure Sphere applicazioni.CMake, along with the lightweight Ninja build utility, provides build coordination for Azure Sphere applications. Se si usa Visual Studio, CMake e Ninja vengono installati automaticamente.If you use Visual Studio, CMake and Ninja are installed automatically for you. Se si usa Visual Studio Code o una riga di comando, è necessario installarli manualmente in Windows o Linux.If you use Visual Studio Code or a command line, you must install them yourself on Windows or Linux.

Visual Studio e Visual Studio Code hanno estensioni Azure Sphere che semplificano lo sviluppo di Azure Sphere applicazioni.Both Visual Studio and Visual Studio Code have Azure Sphere extensions that simplify Azure Sphere application development. Con queste estensioni è possibile compilare, eseguire il debug, testare e distribuire facilmente le applicazioni Azure Sphere direttamente dall'IDE.With these extensions, you can easily build, debug, test, and deploy your Azure Sphere applications directly from the IDE. Entrambe le estensioni hanno supporto completo per gli strumenti CMake di Azure Sphere.Both extensions have full support for Azure Sphere's CMake tooling.

ContenitoriContainers

Azure Sphere fornisce un contenitore che consente di impacchettare l'SDK in un ambiente Linux autonomo.Azure Sphere provides a container that packages the SDK in a stand-alone Linux environment. Utilizzando un contenitore con un ambiente di compilazione predefinito, è possibile evitare i passaggi necessari per installare (o disinstallare e reinstallare) l'ambiente di compilazione SDK corretto.By using a container with a pre-defined build environment, you can avoid the steps of installing (or uninstalling and then reinstalling) the correct SDK build environment. È possibile modificare l'ambiente di compilazione in base alle proprie esigenze e replicare l'ambiente in tutti i computer host allo stesso tempo con risultati uniformi.You can modify the build environment to suit your own needs and replicate that environment to all your host machines at the same time with uniform results. Per informazioni dettagliate, vedere usare i contenitori per compilare app Azure Sphere .See Use containers to build Azure Sphere apps for details. È anche possibile usare un contenitore come parte di uno scenario di integrazione continua in cui una pipeline di compilazione, ad esempio azioni di GitHub o pipeline di Azure DevOps, ricompila automaticamente l'applicazione ogni volta che viene apportata una modifica al codice sottostante.You can also use a container as part of a continuous integration scenario where a build pipeline such as GitHub Actions or Azure DevOps Pipelines automatically rebuilds your application whenever a change is made to the underlying code. Per informazioni dettagliate, vedere aggiungere l'integrazione continua alle compilazioni di contenitori .See Add continuous integration to your container builds for details.

Che cos'è un contenitore?What is a container?

I contenitori sono pacchetti portabili dotati di ambienti Lightweight che vengono eseguiti nel kernel di un computer host.Containers are portable packages that come with their own lightweight environments that run on a host machine's kernel. I contenitori sono semplici perché usano i livelli condivisi.Containers are lightweight because they use shared layers. Questi livelli possono essere sezioni condivise di un sistema operativo o di applicazioni condivise.These layers can be shared slices of an operating system or shared applications. I livelli evitano l'overhead di una macchina virtuale che contiene un intero sistema operativo e tutte le applicazioni associate.Layers avoids the overhead of a virtual machine, which contains an entire operating system and all associated applications. La condivisione consente la piccola e l'avvio rapido dei contenitori.Sharing allows containers to be small and boot quickly.

I contenitori possono essere scaricati da un registro contenitori, ad esempio Microsoft container Registry.Containers can be downloaded from a container registry such as the Microsoft Container Registry.

Quali contenitori portano a Azure SphereWhat containers bring to Azure Sphere

Il contenitore per l'ambiente di compilazione di Microsoft Azure Sphere SDK offre un ambiente di sviluppo prestabilito.The container for the Microsoft Azure Sphere SDK build environment provides you with a pre-made development environment. Il contenitore fornisce gli elementi seguenti:The container provides the following:

  • Versione di Ubuntu Linux per la versione corrente di Azure SphereThe version of Ubuntu Linux for the current Azure Sphere release
  • La versione corrente di Azure Sphere SDK per LinuxThe current version of the Azure Sphere SDK for Linux
  • Strumenti aggiuntivi necessari per l'SDK, ad esempio CMake e NinjaAdditional tools needed by the SDK such as CMake and Ninja

Azure Sphere usa i contenitori Docker configurati con file di testo Dockerfile .Azure Sphere uses Docker containers that are configured with Dockerfile text files. È possibile creare Dockerfile che usano un'immagine del contenitore di base per creare un contenitore personalizzato per la compilazione di applicazioni Azure Sphere.You can author Dockerfiles that use a base container image to create a custom container for building Azure Sphere applications. L'esecuzione del contenitore personalizzato Scarica l'immagine di base più recente, se non è presente nel computer host, compila il nuovo contenitore personalizzato, se necessario, compila l'applicazione specificata e si chiude.Running the customized container downloads the latest base image if it is not on your host machine, builds the new customized container if needed, builds the specified application, and exits. È quindi possibile copiare l'output della compilazione dell'applicazione in un computer host in cui è installato Azure Sphere SDK e sideload l'applicazione in un dispositivo.You can then copy the output of the application build to a host machine that has the Azure Sphere SDK installed and sideload the application to a device. Il contenitore di compilazione personalizzato non viene in genere utilizzato in modo interattivo, ma può essere, ad esempio, per diagnosticare i problemi di compilazione.The custom build container is not typically used interactively, but it can be, for example, to diagnose build issues.