O que é um aplicativo da UWP (Plataforma Universal do Windows)?
A UWP é uma das muitas maneiras de criar aplicativos cliente para o Windows.
Observação
Se você estiver começando a desenvolver aplicativos do Windows, recomendamos considerar usar o SDK do Aplicativo do Windows e WinUI em vez do UWP. Embora ainda tenha suporte, o UWP não está em desenvolvimento ativo. Consulte Comece a desenvolver aplicativos do Windows para mais informações.
Para baixar as ferramentas que você precisará para começar a criar aplicativos do Windows, confira Instalar ferramentas para o SDK do Aplicativo Windows e escreva seu primeiro aplicativo.
Em que parte a UWP entra na história de desenvolvimento da Microsoft?
A UWP é uma opção para criar aplicativos que são executados em dispositivos Windows 10 e Windows 11 e podem ser combinados com outras plataformas. Os aplicativos UWP podem fazer uso de APIs do Win32 e classes .NET (confira Conjuntos de APIs para aplicativos UWP, DLLs para aplicativos UWP e .NET para aplicativos UWP).
Recursos de um aplicativo UWP
Um aplicativo UWP:
- É seguro: os aplicativos UWP declaram quais dados e recursos de dispositivo eles acessam. O usuário deve autorizar esse acesso.
- Pode usar uma API comum em todos os dispositivos que executam o Windows.
- Pode usar funcionalidades específicas do dispositivo e adaptar a interface do usuário a diferentes tamanhos, resoluções e DPI de telas de dispositivos.
- Está disponível na Microsoft Store em todos os dispositivos (ou apenas naqueles especificados por você) que são executados no Windows 10 ou Windows 11. A Microsoft Store fornece várias maneiras de ganhar dinheiro com seu aplicativo.
- Pode ser instalado e desinstalado sem risco ao computador nem de causar "danos ao computador".
- É interessante: use blocos dinâmicos, notificações por push e atividades do usuário que interagem com o recurso de "Continuar do ponto em que parei" da Cortana e a Linha do Tempo do Windows para despertar o interesse dos usuários.
- Programável em C#, C++, Visual Basic e JavaScript. Para a interface do usuário, use WinUI, XAML, HTML ou DirectX.
Vamos analisar isso em mais detalhes.
Seguro
Em seu manifesto, os aplicativos UWP declaram as funcionalidades do dispositivo de que precisam, como acesso a microfone, localização, webcam, dispositivos USB, arquivos e assim por diante. O usuário deve reconhecer e autorizar esse acesso antes que o aplicativo receba a funcionalidade.
Uma superfície de API comum entre todos os dispositivos
O Windows 10 introduziu a UWP (Plataforma Universal do Windows), que fornece uma plataforma de aplicativo comum em cada dispositivo que executa o Windows. As APIs básicas da UWP são as mesmas em todos os dispositivos Windows. Se o aplicativo usar apenas as APIs básicas, ele será executado em qualquer dispositivo Windows, independentemente de você estar direcionando a um computador desktop, Xbox, headset de realidade misturada e assim por diante.
Um aplicativo UWP escrito em C++/WinRT tem acesso às APIs do Win32 que fazem parte da UWP. Essas APIs do Win32 são implementadas por todos os dispositivos Windows.
Os SDKs de extensão expõem as funcionalidades exclusivas de tipos de dispositivos específicos
Se o destino for as APIs universais, então o aplicativo poderá ser executado em todos os dispositivos que executam o Windows 10 ou posterior. Mas se você quiser que o aplicativo UWP aproveite as APIs específicas do dispositivo, poderá fazer isso também.
Os SDKs de extensão permitem que você chame as APIs especializadas para diferentes dispositivos. Por exemplo, se o aplicativo UWP direcionar um dispositivo IoT, você poderá adicionar o SDK de extensão de IoT a seu projeto para direcionar recursos específicos para os dispositivos IoT. Para obter mais informações sobre como adicionar os SDKs de extensão, confira a seção SDKs de extensão em Programação com SDKs de extensão.
Você pode escrever o aplicativo para que seja executado somente em um tipo específico de dispositivo e depois limitar sua distribuição no Microsoft Store a apenas esse tipo de dispositivo. Outra opção é testar condicionalmente a presença de uma API em runtime e adaptar o comportamento do aplicativo de acordo. Para obter mais informações, confira a seção Escrevendo código em Programação com SDKs de extensão.
Entrada e controles adaptáveis
Os elementos de interface do usuário respondem ao tamanho e à resolução em DPI da tela em que o aplicativo está sendo executado, ajustando seu layout e escala. Os aplicativos UWP funcionam bem com vários tipos de entrada, como teclado, mouse, toque, caneta e controladores de jogo. Caso você precise personalizar mais sua interface do usuário para um tamanho de tela ou dispositivo específico, novos painéis de layout e ferramentas ajudarão a criar a interface do usuário que se adapte aos diferentes dispositivos e fatores forma nos quais os aplicativos podem ser executados.
O Windows ajuda a direcionar sua interface do usuário a vários dispositivos com os seguintes recursos:
- Controles universais e painéis de layout ajudarão a otimizar sua interface do usuário para a resolução de tela do dispositivo. Por exemplo, controles como botões e controles deslizantes adaptam-se automaticamente ao tamanho da tela do dispositivo e à densidade do DPI. Os painéis de layout ajudam a ajustar o layout do conteúdo com base no tamanho da tela. O dimensionamento adaptável ajusta a resolução e as diferenças de DPI entre dispositivos.
- O processo de entrada comum permite que você receba entradas por toque, uma caneta, um mouse, um teclado ou um controlador de jogo.
- As ferramentas que ajudam você a criar a interface do usuário que pode se adaptar a diferentes resoluções de tela.
Alguns aspectos da interface do usuário do seu aplicativo se adaptará automaticamente em todos os dispositivos. O projeto de experiência do usuário do seu aplicativo, no entanto, talvez precise se adaptar dependendo do dispositivo no qual o aplicativo está sendo executado. Por exemplo, um aplicativo de fotos pode se adaptar a sua interface do usuário quando executado em um dispositivo pequeno e portátil para garantir que esse uso seja ideal para uso com uma única mão. Quando um aplicativo de fotos é executado em um computador desktop, a interface do usuário deve se adaptar para aproveitar ao máximo o espaço adicional na tela.
Existe uma loja para todos os dispositivos
Uma loja unificada de aplicativos disponibilizará seu aplicativo nos dispositivos Windows, como computador, tablet, Xbox, HoloLens, Surface Hub e dispositivos IoT (Internet das Coisas). Você pode enviar seu aplicativo para a loja e disponibilizá-lo em todos os tipos de dispositivos ou apenas os escolhidos. Você envia e gerencia todos os aplicativos para dispositivos Windows em um só lugar. Você tem um aplicativo da área de trabalho do C++ que deseja modernizar com recursos UWP e vender na Microsoft Store? Tudo bem.
Os aplicativos UWP integram-se ao Application Insights para telemetria detalhada e análise, uma ferramenta crucial para entender os usuários e melhorar os aplicativos.
Os aplicativos UWP podem ser empacotados com MSIX e distribuídos por meio da Microsoft Store ou de outras maneiras. O MSIX permite que os aplicativos sejam atualizados independentemente de como eles são distribuídos. Confira Atualizar pacotes de aplicativos publicados que não são da Store com seu código.
Monetizar seu aplicativo
Você pode escolher como vai monetizar seu aplicativo. Há várias formas de ganhar dinheiro com seu aplicativo. Basta escolher a que funciona melhor para você, por exemplo:
- Um download pago é a opção mais simples. Você só precisa definir o preço.
- As avaliações permitem que os usuários experimentem o aplicativo antes de comprá-lo, proporcionando descoberta e conversão mais fáceis do que as opções "freemium" mais tradicionais.
- Preços de venda para incentivar os usuários.
- Compras no aplicativo.
Forneça informações importantes em tempo real aos usuários para que eles voltem
Há várias formas de manter os usuários interessados no seu aplicativo UWP:
- Os blocos dinâmicos e os blocos da tela de bloqueio mostram com rapidez informações contextualmente relevantes e oportunas sobre o aplicativo.
- Notificações por push que apresentam alertas em tempo real para chamar a atenção do seu usuário.
- As atividades do usuário permitem que os usuários recomecem do ponto em que pararam no aplicativo, mesmo em dispositivos diferentes.
- A Central de Ações organiza as notificações de seu aplicativo.
- Execução em segundo plano e gatilhos colocam seu aplicativo em ação quando os usuários precisam dele.
- O aplicativo pode usar dispositivos de voz e Bluetooth LE para ajudar os usuários a interagir com o mundo ao redor.
- Integre a Cortana para adicionar a funcionalidade de comando de voz a seu aplicativo.
Usar uma linguagem que você já conhece
Os aplicativos UWP usam o Windows Runtime, a API nativa fornecida pelo sistema operacional. Essa API é implementada em C++ e tem suporte em C#, Visual Basic, C++ e JavaScript. Algumas opções para criar aplicativos UWP incluem:
- Interface do usuário XAML e C#, VB ou C++
- Interface do usuário do DirectX e C++
- JavaScript e HTML
- WinUI
Links para ajudá-lo a começar
Prepare-se para começar
Confira Preparar-se para baixar as ferramentas necessárias para começar a criar aplicativos e, em seguida, escreva seu primeiro aplicativo.
Projetar seu aplicativo
O sistema de design da Microsoft chama-se Fluente. O Sistema de Design Fluente é um conjunto de recursos UWP combinado a práticas recomendadas para criação de aplicativos que funcionam perfeitamente em todos os tipos de dispositivos com Windows. As experiências do Fluente adaptam-se a e funcionam normalmente em dispositivos de tablets a notebooks e de computadores a televisores, além de em dispositivos de realidade virtual. Confira O Sistema de Design Fluente para aplicativos UWP para obter uma introdução ao Design Fluente.
Um bom projeto é o processo de decisão sobre como os usuários vão interagir com seu aplicativo, como será sua aparência e como ele funcionará. A experiência do usuário desempenha uma função enorme em determinar o grau de felicidade que as pessoas terão com seu aplicativo. Portanto, não economize nessa etapa. As Noções básicas de design apresentam o design de um aplicativo Universal do Windows. Confira a cartilha de dispositivos para ajudar a pensar sobre a experiência de interação quanto ao uso do seu aplicativo em todos os fatores forma diferentes de destino.
Além da interação em diferentes dispositivos, planeje seu aplicativo para adotar os benefícios de trabalhar em vários dispositivos. Por exemplo:
Projete o fluxo de trabalho usando Noções básicas de design de navegação para aplicativos UWP para acomodar dispositivos móveis com tela pequena e grande. Dispor a interface do usuário para responder a diferentes tamanhos de tela e resoluções.
Considere como você vai acomodar vários tipos de entrada. Confira as Diretrizes para interações para saber como os usuários podem interagir com seu aplicativo usando Voz, Interações por toque, o Teclado virtual e muito mais. Ou confira as Diretrizes de texto e entrada de texto para obter mais experiências de interação tradicionais.
Adicionar serviços
- Use os Serviços de Nuvem do Azure para sincronização entre dispositivos.
- Saiba como conectar-se a serviços Web para melhorar a experiência do aplicativo.
- Inclua Notificações por push e compras no aplicativo em seu planejamento. Esses recursos devem funcionar em todos os dispositivos.
Enviar seu aplicativo para a Store
O Partner Center permite gerenciar e enviar todos os seus aplicativos para dispositivos Windows em um único local. Confira Publicar aplicativos e jogos do Windows para aprender a enviar seus aplicativos para publicação na Microsoft Store.
Os novos recursos simplificam os processos, dando mais controle a você. Você também encontrará relatórios de análise detalhados, detalhes de pagamento combinados, formas de promover seu aplicativo e atrair os seus clientes e muito mais.
Para mais material introdutório, confira Uma Introdução sobre como criar aplicativos para dispositivos Windows 10
Tópicos mais avançados
- Saiba como usar Atividades do usuário para que a atividade do usuário no aplicativo apareça no recurso Continuar do ponto em que parei da Cortana e na Linha do Tempo do Windows.
- Saiba como usar Blocos, selos e notificações para aplicativos UWP.
- Para obter a lista completa de APIs do Win32 disponíveis para aplicativos UWP, consulte Conjuntos de APIs para aplicativos UWP e Dlls para aplicativos UWP.
- Confira Aplicativos Universais do Windows em .NET para obter uma visão geral de como escrever aplicativos UWP em .NET.
- Para obter uma lista de tipos .NET que você pode usar em um aplicativo UWP, confira .NET para aplicativos UWP
- Compilar aplicativos com .NET nativo
- Saiba como adicionar experiências modernas para usuários do Windows ao aplicativo da área de trabalho existente e distribuí-lo na Microsoft Store com a Ponte de Desktop.
Como a plataforma Universal do Windows se relaciona com APIs do Windows Runtime
Se você estiver criando um aplicativo da UWP (Plataforma Universal do Windows), poderá obter muita vantagem e conveniência por tratar os termos "UWP (Plataforma Universal do Windows)" e "WinRT (Windows Runtime)" como mais ou menos sinônimos. Porém, é possível examinar os bastidores da tecnologia e determinar qual exatamente é a diferença entre essas ideias. Se você está curioso quanto a isso, esta última seção é para você.
O Windows Runtime e APIs do WinRT são uma evolução das APIs do Windows. Originalmente, o Windows foi programado por meio de APIs Win32 em etilo C simples. A elas, foram adicionadas APIs COM (sendo DirectX um exemplo de destaque). Windows Forms, WPF, .NET e linguagens gerenciadas trouxeram sua própria maneira de escrever aplicativos do Windows e sua própria variante de tecnologia de API. O Windows Runtime é, nos bastidores, o próximo estágio do COM. Na camada ABI (interface binária de aplicativo) propriamente dita, suas raízes em COM tornam-se visíveis. Mas o Windows Runtime foi projetado para poder ser chamado de uma gama maior de diferentes linguagens de programação. E pode ser chamado de uma maneira muito natural para cada uma dessas linguagens. Para esse fim, o acesso ao Windows Runtime é disponibilizado por meio das chamadas projeções de linguagem. Há uma projeção de linguagem do Windows Runtime para C#, Visual Basic, C++ padrão, JavaScript e assim por diante. Além disso, uma vez empacotado corretamente (confira Ponte de Desktop), você pode chamar APIs do WinRT de um aplicativo criado em um de uma ampla gama de modelos de aplicativos: Win32, .NET, WinForms e WPF.
E, claro, você pode chamar APIs do WinRT do seu aplicativo da UWP. UWP é um modelo de aplicativo criado com base no Windows Runtime. Tecnicamente, o modelo de aplicativo UWP baseia-se em CoreApplication, embora esse detalhe possa estar oculto de você, dependendo de sua escolha de linguagem de programação. Como este tópico explicou, de um ponto de vista de proposta de valor, a UWP é útil para escrever um único binário que pode, se você quiser, ser publicado na Microsoft Store e executado em uma grande variedade de fatores forma de dispositivo. O alcance de dispositivo de seu aplicativo da UWP depende do subconjunto de APIs do Windows Runtime que você limita o seu aplicativo a chamar ou que você chama condicionalmente.
Espero que esta seção tenha sido bem-sucedida em descrever a diferença entre a tecnologia subjacente de APIs do Windows Runtime e o mecanismo e o valor comercial da plataforma Universal do Windows.