Ambiente de desenvolvimento

Você pode desenvolver aplicativos para o Azure Sphere em Windows 11, Windows 10 Atualização de Aniversário (ou posterior) ou em um computador Linux que executa o Ubuntu 24.04 (pré-lançamento), Ubuntu 22.04 LTS ou Ubuntu 20.04 LTS. Se você usar 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, Visual Studio Code ou a linha de comando para criar, implantar e depurar aplicativos no Windows.
  • Para Linux, instale o SDK do Linux. Você pode usar Visual Studio Code ou a linha de comando para criar, 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 que visa um determinado conjunto de API.
  • Definições de hardware, que descrevem as funcionalidades de hardware disponíveis em vários dispositivos de hardware e podem ser usadas para especifique-as em app-manifest.json arquivos.
  • CMakeFiles, que definem as extensões do Azure Sphere como CMake.
  • A CLI (Interface de Command-Line do Azure Sphere).

Os Tutoriais orientam você a criar e implantar seu primeiro aplicativo. Também fornecemos um repositório de exemplos no GitHub que inclui aplicativos de exemplo que demonstram como programar hardware do Azure Sphere e usar as APIs.

Azure Sphere Application Runtime

O Azure Sphere Application Runtime fornece dois conjuntos de bibliotecas para desenvolvimento de aplicativos de alto nível: as APIs base e as APIs de applibs. As APIs base são baseadas em bibliotecas que não visam exclusivamente dispositivos do Azure Sphere, enquanto as APIs de applibs visam especificamente dispositivos do Azure Sphere. Aplicativos de alto nível criados com o SDK do Azure Sphere compilam e vinculam-se a essas interfaces. Essas APIs não podem ser usadas em aplicativos com capacidade em tempo real.

Os arquivos de cabeçalho das APIs base são instalados no conjunto Sysroots\API\usr\include do diretório de instalação do SDK do Azure Sphere. Os arquivos de cabeçalho das APIs de applibs são instalados na pasta Sysroots\API set\usr\include\applibs do diretório de instalação do SDK do Azure Sphere.

Ponta

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 para gerenciar dispositivos, desenvolver e implantar aplicativos e trabalhar com serviços de nuvem.

O CMake, juntamente com o utilitário de build Ninja leve, fornece coordenação de build para aplicativos do Azure Sphere. Se você usar o Visual Studio, o CMake e o Ninja serão instalados automaticamente para você. Se você usar Visual Studio Code ou CLI do Azure, deverá instalá-los por conta própria no Windows ou linux.

Tanto o Visual Studio quanto 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 criar, depurar, testar e implantar facilmente seus aplicativos do Azure Sphere diretamente do IDE. Ambas as extensões têm suporte total para ferramentas CMake do Azure Sphere.

Recipientes

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 pré-definido, 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 build para atender às suas próprias necessidades e replicar esse ambiente para todos os computadores 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 Pipelines do Azure, recompila automaticamente seu aplicativo sempre que uma alteração é feita no código subjacente. Consulte Adicionar integração contínua aos builds 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 um computador host. Os contêineres são leves porque usam camadas compartilhadas. Essas camadas podem ser fatias compartilhadas de um sistema operacional ou aplicativos compartilhados. 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 Artefato da Microsoft).

Quais 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é-fabricado. 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 pelo 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. Executar o contêiner personalizado baixa a imagem base mais recente se não estiver em seu computador host, compila o novo contêiner personalizado, se necessário, cria 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 carregar o aplicativo em um dispositivo. O contêiner de build personalizado normalmente não é usado interativamente, mas pode ser, por exemplo, para diagnosticar problemas de build.