Estender seu aplicativo com serviços, extensões e pacotes
Há muitas tecnologias no Windows 10 para estender e componentizar seu aplicativo. Esta tabela deve ajudá-lo a determinar qual tecnologia você deve usar, dependendo dos requisitos. É seguido por uma breve descrição dos cenários e tecnologias.
Cenário | Pacote de recursos | Pacote de ativos | Pacotes opcionais | Pacote plano | Extensão de aplicativo | serviço de aplicativo | Instalação de Streaming |
---|---|---|---|---|---|---|---|
Plug-ins de código de terceiros | ✔️ | ||||||
Plug-ins de código no processo | ✔️ | ||||||
Ativos de UX (strings/imagens) | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ||
Conteúdo sob demanda (por exemplo, níveis adicionais) |
✔️ | ✔️ | ✔️ | ||||
Licenciamento e aquisição separados | ✔️ | ✔️ | ✔️ | ||||
Aquisição no aplicativo | ✔️ | ✔️ | |||||
Otimize o tempo de instalação | ✔️ | ✔️ | ✔️ | ✔️ | |||
Reduza o volume de disco | ✔️ | ✔️ | |||||
Otimize a embalagem | ✔️ | ✔️ | ✔️ | ||||
Reduza o tempo de publicação | ✔️ | ✔️ | ✔️ | ✔️ |
Descrições de cenários (as linhas na tabela acima)
Plug-ins de terceiros
Código que você pode baixar da loja e executar em seu aplicativo. Por exemplo, extensões para o navegador Microsoft Edge.
Plug-ins de código no processo
Código que é executado em processo com seu aplicativo. Também pode incluir conteúdo. Como o código é executado em processo, um nível mais alto de confiança é assumido. Você pode optar por não expor esse tipo de extensibilidade a terceiros.
Ativos de experiência do usuário (cadeia de caracteres/imagens)
Ativos de interface do usuário, como cadeias de caracteres localizadas, imagens e qualquer outro conteúdo de interface do usuário que você deseja fatorar com base na localidade ou em qualquer outro motivo.
Conteúdo sob demanda
Conteúdo que você deseja baixar posteriormente. Por exemplo, compras no aplicativo que permitem baixar novos níveis, skins ou funcionalidades.
Licenciamento e aquisição separados
A capacidade de licenciar e adquirir o conteúdo independentemente do aplicativo.
Aquisição no aplicativo
Indica se há suporte programático para adquirir o conteúdo de dentro do aplicativo.
Otimize o tempo de instalação
Fornece funcionalidade para diminuir o tempo necessário para adquirir o aplicativo na loja e começar a ser executado.
Reduza o volume de disco Reduz o tamanho de um aplicativo incluindo apenas os aplicativos ou recursos necessários.
Otimize o empacotamento Otimiza o processo de empacotamento de aplicativos para aplicativos complexos ou de grande escala.
Reduzir o tempo de publicação Minimize o tempo necessário para publicar seu aplicativo na Loja, no compartilhamento local ou no servidor Web.
Descrições de tecnologia (as colunas na tabela acima)
Pacote de recursos
Os pacotes de recursos são pacotes somente de ativos que permitem que seu aplicativo se adapte a vários tamanhos de tela e idiomas do sistema. O pacote de recursos destina-se ao idioma do usuário, à escala do sistema e aos recursos do DirectX, permitindo que o aplicativo seja adaptado a uma variedade de cenários do usuário. Embora um pacote do aplicativo possa conter vários recursos, o sistema operacional só baixará os recursos relevantes pra o dispositivo do usuário, economizando largura de banda e espaço em disco.
Pacote de ativos Os pacotes de ativos são uma fonte comum e centralizada de arquivos executáveis ou não executáveis para uso pelo seu aplicativo. Normalmente, são arquivos não específicos do processador ou específicos a um idioma. Isso pode incluir, por exemplo, uma coleção de imagens em um pacote de ativo e vídeos em outro pacote de ativo, ambos usados pelo aplicativo. Se seu aplicativo oferecer suporte a várias arquiteturas e vários idiomas, esses ativos poderão ser incluídos no pacote de arquitetura ou no pacote de recursos. No entanto, isso também significa que os ativos seriam duplicados várias vezes nos diversos pacotes de arquitetura, ocupando espaço em disco. Se forem usados pacotes de ativo, eles só precisam ser incluídos no pacote do aplicativo geral uma vez. Consulte Introdução aos pacotes de ativos para saber mais.
Pacotes opcionais
Os pacotes opcionais são usados para complementar ou estender a funcionalidade original de um pacote do aplicativo. É possível publicar um aplicativo e disponibilizar pacotes opcionais posteriormente, ou publicar tanto o aplicativo quanto os pacotes opcionais ao mesmo tempo. Ao expandir seu aplicativo por meio de um pacote opcional, você obtém as vantagens de distribuir e monetizar de conteúdo como um pacote do aplicativo separado. Os pacotes opcionais geralmente se destinam ao desenvolvimento pelo desenvolvedor do aplicativo original, já que são executados com a identidade do aplicativo principal (ao contrário das extensões de aplicativos). Dependendo de como você define seu pacote opcional, é possível carregar código, ativos ou ambos do pacote opcional para o aplicativo principal. Se precisa aprimorar seu aplicativo com conteúdo que pode ser monetizado, licenciado e distribuído separadamente, os pacotes opcionais podem ser a escolha certa para você. Para obter detalhes de implementação, consulte Pacotes opcionais e criação de conjuntos relacionados.
Pacote simplesOs pacotes de aplicativos de pacote simples são semelhantes aos pacotes de aplicativos regulares, exceto que, em vez de incluir todos os pacotes de aplicativos na pasta, o pacote simples contém apenas referências a esses pacotes de aplicativos. Ao conter referências a pacotes do aplicativo em vez dos próprios arquivos, um lote simples reduzirá o tempo necessário, para empacotar e baixar um aplicativo.
Extensão de aplicativo
As extensões de aplicativo permitem que seu aplicativo UWP hospede conteúdo fornecido por outros aplicativos UWP. Descubra, enumere e acesse conteúdo somente leitura desses aplicativos.
Se um aplicativo oferecer suporte a extensões, qualquer desenvolvedor poderá enviar uma extensão para ele. Por isso, o aplicativo host precisa ser robusto ao carregar uma extensão com a qual não foi pré-testado. As extensões devem ser consideradas não confiáveis.
Os aplicativos não podem carregar código de extensões. Se você precisar de execução de código, considere os Serviços de Aplicativos.
Serviço de Aplicativo
Os serviços de aplicativos do Windows permitem a comunicação entre aplicativos, permitindo que seu aplicativo UWP forneça serviços a outro aplicativo Universal do Windows. Os serviços de aplicativo permitem criar serviços sem interface do usuário que os aplicativos podem chamar no mesmo dispositivo e, a partir do Windows 10, versão 1607, em dispositivos remotos. Para obter mais detalhes, consulte Criar e consumir um serviço de aplicativo.
Os serviços de aplicativos são aplicativos UWP que fornecem serviços para outros aplicativos UWP. Eles são análogos aos serviços da Web em um dispositivo. Um serviço de aplicativo é executado como uma tarefa em segundo plano no aplicativo host e pode fornecer seu serviço a outros aplicativos. Por exemplo, um serviço de aplicativo pode fornecer um serviço de scanner de código de barras que outros aplicativos podem usar. Ou talvez uma suíte de aplicativos Enterprise tenha um serviço de aplicativo de verificação ortográfica comum que está disponível para os outros aplicativos da suíte.
Instalação do streaming de aplicativo da UWP
A instalação de streaming é uma maneira de otimizar a forma como seu aplicativo é entregue aos usuários. Em vez de esperar que o aplicativo inteiro seja baixado antes de usá-lo, os usuários podem interagir com o aplicativo assim que uma parte necessária seja baixada. Cabe a você, como desenvolvedor, segmentar seu aplicativo em uma seção necessária para ativação e inicialização básicas e em conteúdo adicional para o restante do aplicativo. Consulte Instalação do Streaming de Aplicativo UWP para obter mais informações e detalhes de implementação.
Confira também
Criar e consumir um serviço de aplicativo
Introdução aos pacotes de ativo
Criação de pacote com o layout de empacotamento
Criação de pacotes opcionais e conjunto relacionado
Desenvolvendo com os pacotes de ativo e dobramento de pacote
Instalação de streaming de aplicativo UWP
Pacotes de lote de aplicativo simples
Windows.ApplicationModel.AppService namespace
Windows.ApplicationModel.Extensions namespace