Partilhar via


Visão geral do desenvolvimento do Android no Windows

Um guia para ajudá-lo a configurar seu ambiente de desenvolvimento em uma máquina Windows 10 ou Windows 11 para desenvolver aplicativos Android. Android é uma marca comercial da Google LLC. Se você é um desenvolvedor interessado em usar o sistema operacional Windows para criar aplicativos que funcionam em dispositivos Android e em outras plataformas de dispositivos, este guia é para você.

Você também pode aprender sobre como usar o Subsistema Windows para Android™️ para atualizar e testar seu aplicativo Android para que ele seja executado em um dispositivo Windows 11 usando a Amazon Appstore. Mais informações.

Windows como seu ambiente de desenvolvimento

Há vários caminhos para desenvolver um aplicativo de dispositivo Android usando o sistema operacional Windows. Esses caminhos se dividem em três tipos principais: desenvolvimento Android nativo, desenvolvimento multiplataforma e desenvolvimento de jogos Android. Esta visão geral ajudará você a decidir qual caminho de desenvolvimento seguir para desenvolver um aplicativo Android e, em seguida, fornecerá as próximas etapas para ajudá-lo a começar a usar o Windows para desenvolver com:

*Se você estiver usando o Xamarin para aplicativos de plataforma cruzada, consulte Migrar do Xamarin para o .NET MAUI.

Além disso, este guia fornecerá dicas sobre como usar o Windows para:

Android nativo

O desenvolvimento Android nativo no Windows significa que a sua aplicação se destina apenas a dispositivos Android (não iOS ou Windows). Você pode usar o Android Studio ou o Visual Studio para desenvolver dentro do ecossistema projetado especificamente para o sistema operacional Android. O desempenho será otimizado para dispositivos Android, a aparência da interface do usuário será consistente com outros aplicativos nativos no dispositivo e quaisquer recursos ou capacidades do dispositivo do usuário serão fáceis de acessar e utilizar. Desenvolver seu aplicativo em um formato nativo irá ajudá-lo a apenas "se sentir certo", porque ele segue todos os padrões de interação e padrões de experiência do usuário estabelecidos especificamente para dispositivos Android.

Multiplataforma

As estruturas multiplataforma fornecem uma única base de código que pode (principalmente) ser compartilhada entre dispositivos Android, iOS e Windows. O uso de uma estrutura multiplataforma pode ajudar seu aplicativo a manter a mesma aparência, sensação e experiência em todas as plataformas de dispositivos, além de se beneficiar da distribuição automática de atualizações e correções. Em vez de precisar entender uma variedade de linguagens de código específicas do dispositivo, o aplicativo é desenvolvido em uma base de código compartilhada, geralmente em um idioma.

Embora as estruturas multiplataforma tenham como objetivo parecer e sentir o mais próximo possível de aplicativos nativos, elas nunca serão tão perfeitamente integradas quanto um aplicativo desenvolvido nativamente e podem sofrer com velocidade reduzida e desempenho degradado. Além disso, as ferramentas usadas para criar aplicativos multiplataforma podem não ter todos os recursos oferecidos por cada plataforma de dispositivo diferente, potencialmente exigindo soluções alternativas.

Uma base de código é tipicamente composta de código de interface do usuário, para criar a interface do usuário, como páginas, controles de botões, rótulos, listas, etc., e código lógico, para chamar serviços da Web, acessar um banco de dados, invocar recursos de hardware e gerenciar o estado. Em média, 90% disso podem ser reutilizados, embora normalmente haja alguma necessidade de personalizar o código para cada plataforma de dispositivos. Essa generalização depende em grande parte do tipo de aplicativo que você está criando, mas fornece um pouco de contexto que, esperamos, ajudará na sua tomada de decisão.

Escolhendo uma estrutura multiplataforma

.NET MAUI

  • Uma estrutura multiplataforma para criar aplicativos móveis e de desktop nativos com C# e XAML.
  • Desenvolva aplicativos que podem ser executados em Android, iOS, macOS e Windows a partir de uma única base de código compartilhada, com acesso profundo a todos os aspetos de cada plataforma nativa a partir de uma única API unificada que permite uma experiência de desenvolvimento de gravação única e execução em qualquer lugar.
  • Compartilhe o layout e o design da interface do usuário entre plataformas.
  • Uma evolução de código aberto do Xamarin.Forms, estendida de cenários móveis para desktop, com controles de interface do usuário reconstruídos para desempenho e extensibilidade.
  • Migrar projetos Xamarin.Android para o .NET MAUI

Reagir Nativo

  • Código da interface do usuário: JavaScript
  • Código lógico: JavaScript
  • O objetivo do React Native não é escrever o código uma vez e executá-lo em qualquer plataforma, mas sim aprender uma vez (a maneira React) e escrever em qualquer lugar.
  • A comunidade adicionou ferramentas como Expo e Create React Native App para ajudar aqueles que desejam criar aplicativos sem usar Xcode ou Android Studio.
  • Semelhante ao .NET MAUI (C#), O React Native (JavaScript) chama elementos nativos da interface do usuário (sem a necessidade de escrever Java/Kotlin ou Swift).

Progressive Web Apps (Aplicações Web Progressivas, PWAs)

  • Código da interface do usuário: HTML, CSS, JavaScript
  • Código lógico: JavaScript
  • PWAs são aplicativos Web criados com padrões padrão para permitir que eles aproveitem os recursos de aplicativos nativos e da Web. Eles podem ser construídos sem uma estrutura, mas alguns frameworks populares a considerar são Ionic e Apache Cordova.
  • PWAs podem ser instalados em um dispositivo (Android, iOS ou Windows) e podem funcionar offline graças à incorporação de um trabalhador de serviço.
  • Os PWAs podem ser distribuídos e instalados sem uma loja de aplicativos usando apenas uma URL da Web. A Microsoft Store e a Google Play Store permitem que PWAs sejam listados, a Apple Store atualmente não, embora eles ainda possam ser instalados em qualquer dispositivo iOS com 12.2 ou posterior.
  • Para saber mais, consulte esta introdução às Aplicações Web Progressivas (PWAs) no MDN.

Programação de jogos

O desenvolvimento de jogos para Android é muitas vezes exclusivo do desenvolvimento de um aplicativo Android padrão, uma vez que os jogos normalmente usam lógica de renderização personalizada, muitas vezes escrita em OpenGL ou Vulkan. Por esse motivo, e devido às muitas bibliotecas C disponíveis que suportam o desenvolvimento de jogos, é comum que os desenvolvedores usem C/C++ com o Visual Studio, juntamente com o Android Native Development Kit (NDK), para criar jogos para Android. Comece a usar C/C++ para desenvolvimento de jogos.

Para obter mais orientações sobre o desenvolvimento de jogos para Android, consulte o site do desenvolvedor Android: Noções básicas de desenvolvimento de jogos. Você encontrará orientações sobre como usar um mecanismo de jogo (como Unity, Unreal, Defold, Godot), bem como usar IDEs (como Android Studio ou Visual Studio).

Próximos passos