Ambiente de desenvolvimento
Importante
Esta é a documentação do Azure Sphere (herdado). O Azure Sphere (herdado) será desativado em 27 de setembro de 2027 e os usuários devem migrar para o Azure Sphere (integrado) até esse momento. Use o seletor de versão localizado acima do sumário para exibir a documentação do Azure Sphere (Integrado).
Você pode desenvolver aplicativos para o Azure Sphere no Windows 11, na Atualização de Aniversário do Windows 10 (ou posterior) ou em um computador Linux que executa o Ubuntu 24.04 (pré-lançamento), o Ubuntu 22.04 LTS ou o Ubuntu 20.04 LTS. Se você usar o Windows 11, use a versão 22.02 (ou posterior) do SDK do Azure Sphere.
- Para Windows, instale o SDK do Windows. Você pode usar o Visual Studio, o Visual Studio Code ou a linha de comando para compilar, implantar e depurar aplicativos no Windows.
- Para Linux, instale o SDK do Linux. Você pode usar o Visual Studio Code ou a linha de comando para compilar, implantar e depurar aplicativos no Linux.
O SDK do Azure Sphere inclui os seguintes componentes principais:
- Sysroots, que contêm as bibliotecas, arquivos de cabeçalho e ferramentas usadas para compilar e vincular um aplicativo direcionado a um conjunto de APIs específico.
- Definições de hardware, que descrevem os recursos de hardware disponíveis em vários dispositivos de hardware e podem ser usados para especificá-los em arquivos app-manifest.json.
- CMakeFiles, que definem as extensões do Azure Sphere para CMake.
- A CLI (Interface de Linha de Comando) do Azure Sphere.
Os Tutoriais orientam você na criação e implantação de seu primeiro aplicativo. Também fornecemos um repositório de exemplos no GitHub que inclui aplicativos de exemplo que demonstram como programar o hardware do Azure Sphere e usar as APIs.
Runtime de aplicativo do Azure Sphere
O runtime do aplicativo do Azure Sphere fornece dois conjuntos de bibliotecas para desenvolvimento de aplicativos de alto nível: as APIs de base e as APIs applibs. As APIs base são baseadas em bibliotecas que não se destinam exclusivamente a dispositivos do Azure Sphere, enquanto as APIs de applibs se destinam especificamente a dispositivos do Azure Sphere. Aplicativos de alto nível criados com o SDK do Azure Sphere compilar e vincular em relação a essas interfaces. Essas APIs não pode ser usadas em aplicativos com capacidade em tempo real.
Os arquivos de cabeçalho para as APIs base são instalados nas pastas Sysroots\API set\usr\include do diretório de instalação do SDK do Azure Sphere. Os arquivos de cabeçalho para as APIs applibs são instalados na pasta Sysroots\API set\usr\include\applibs do diretório de instalação do SDK do Azure Sphere.
Dica
Os cabeçalhos padrão POSIX C estão localizados em duas pastas: Sysroots\API set\usr\include para cabeçalhos de API gerais e Sysroots\API set\usr\include\sys para cabeçalhos de API dependentes do sistema de baixo nível. Recomendamos que você use as APIs gerais.
Ferramentas
O SDK do Azure Sphere inclui a CLI do Azure Sphere para gerenciar dispositivos, desenvolver e implantar aplicativos e trabalhar com serviços de nuvem.
O CMake, juntamente com o utilitário de build leve Ninja, fornece coordenação de build para aplicativos do Azure Sphere. Se você usa o Visual Studio, o CMake e o Ninja são instalados automaticamente para você. Se você usar o Visual Studio Code ou a CLI do Azure Sphere, deverá instalá-los por conta própria no Windows ou no Linux.
O Visual Studio e o Visual Studio Code têm extensões do Azure Sphere que simplificam o desenvolvimento de aplicativos do Azure Sphere. Com essas extensões, você pode facilmente criar, depurar, testar e implantar seus aplicativos do Azure Sphere diretamente do IDE. Ambas as extensões têm suporte total para as ferramentas CMake do Azure Sphere.
Contêineres
O Azure Sphere fornece um contêiner que empacota o SDK em um ambiente Linux autônomo. Usando um contêiner com um ambiente de build predefinido, você pode evitar as etapas de instalação (ou desinstalação e reinstalação) do ambiente de build do SDK correto. Você pode modificar o ambiente de compilação para atender às suas próprias necessidades e replicar esse ambiente para todas as suas máquinas host ao mesmo tempo com resultados uniformes. Consulte Usar contêineres para criar aplicativos do Azure Sphere para obter detalhes. Você também pode usar um contêiner como parte de um cenário de integração contínua em que um pipeline de build, como GitHub Actions ou Azure Pipelines, recompila automaticamente seu aplicativo sempre que uma alteração é feita no código subjacente. Consulte Adicionar integração contínua às compilações de contêiner para obter detalhes.
O que é um contêiner?
Os contêineres são pacotes portáteis que vêm com seus próprios ambientes leves que são executados no kernel de uma máquina host. Os contêineres são leves porque usam camadas compartilhadas. Essas camadas podem ser fatias compartilhadas de um sistema operacional ou aplicativos compartilhados. As camadas evitam a sobrecarga de uma máquina virtual, que contém um sistema operacional inteiro e todos os aplicativos associados. O compartilhamento permite que os contêineres sejam pequenos e inicializem rapidamente.
Você pode baixar contêineres de um registro de contêiner, como o MAR (Registro de Artefatos da Microsoft).
O que os contêineres trazem para o Azure Sphere
O contêiner para o ambiente de build do SDK do Microsoft Azure Sphere fornece um ambiente de desenvolvimento pré-criado. O contêiner fornece o seguinte:
- A versão do Ubuntu Linux para a versão atual do Azure Sphere
- A versão atual do SDK do Azure Sphere para Linux
- Ferramentas adicionais necessárias para o SDK, como CMake e Ninja
O Azure Sphere usa contêineres do Docker configurados com arquivos de texto do Dockerfile . Você pode criar Dockerfiles que usam uma imagem de contêiner base para criar um contêiner personalizado para criar aplicativos do Azure Sphere. A execução do contêiner personalizado baixa a imagem base mais recente se ela não estiver em seu computador host, cria o novo contêiner personalizado, se necessário, compila o aplicativo especificado e sai. Em seguida, você pode copiar a saída do build do aplicativo para um computador host que tenha o SDK do Azure Sphere instalado e fazer o sideload do aplicativo em um dispositivo. O contêiner de compilação personalizado normalmente não é usado interativamente, mas pode ser, por exemplo, para diagnosticar problemas de compilação.