Novidades no Windows 10 para desenvolvedores, build 16299

O Windows 10, build 16299 (também conhecido como Fall Creators Update ou versão 1709), junto com o Visual Studio 2019 e o SDK atualizado, fornece as ferramentas, os recursos e as experiências para criar aplicativos incríveis da Plataforma Universal do Windows. Instale as ferramentas e o SDK no Windows 10 e você estará pronto para criar um aplicativo universal do Windows ou explorar como você pode usar seu código de aplicativo existente no Windows.

Esta é uma coleção de recursos novos e aprimorados e diretrizes de interesse para os desenvolvedores do Windows neste lançamento. Para obter uma lista completa de namespaces novos adicionados ao SDK do Windows, confira as Alterações na API do Windows 10 build 16299. Para saber mais sobre os recursos em destaque do Windows 10, confira Novidades no Windows 10. Além disso, confira Recursos da Plataforma para Desenvolvedores Windows para ter mais detalhes das adições passadas e futuras à plataforma do Windows.

Design e interface do usuário

Recurso Descrição
XAML condicional Agora você pode usar XAML condicional para criar aplicativos adaptáveis à versão. A XAML condicional permite usar o método ApiInformation.IsApiContractPresent na marcação XAML. Assim, é possível definir propriedades e instanciar objetos na marcação com base na presença de uma API, sem a necessidade de usar code-behind.
Kits de ferramentas de design Os kits de ferramentas de design e recursos para aplicativos UWP foram expandidos com a adição dos kits de ferramentas do Sketch e do Adobe XD. Os kits de ferramentas já existentes também foram atualizados e renovados, fornecendo modelos de layout e controles mais sólidos para seus aplicativos UWP. Além disso, adicionamos novas ferramentas e amostras para fornecer exemplos e inspiração.
Efeitos do Design Fluente Esses novos efeitos fazem parte do Sistema de Design Fluente e usam profundidade, perspectiva e movimento para ajudar os usuários a se concentrarem nos elementos importantes da interface de usuário.
* Material acrílico é um tipo de pincel que cria texturas transparentes.
*O Efeito paralaxe adiciona profundidade tridimensional e perspectiva ao seu aplicativo.
* Revelação destaca os elementos importantes do seu aplicativo.
Para saber mais, veja a visão geral do Fluent Design.
Aceleradores de teclado Aumente a acessibilidade e a usabilidade do aplicativo com aceleradores de teclado ou atalhos. Com eles, os usuários podem invocar de forma intuitiva ações ou comandos comuns sem navegar na interface do usuário do aplicativo. Além disso, é possível configurá-los para atender ao escopo necessário da função.
Escrita à tinta As APIs de CoreIncrementalInkStroke permitem a criação de traços de tinta individuais que podem ser renderizados de forma incremental por meio de objetos InkPoint.

As APIs de CoreInkPresenterHost permitem que você hospede um objeto InkPresenter sem um controle InkCanvas associado.
Controlador radial As APIs de RadialControllerConfiguration foram atualizadas com a capacidade de definir o menu RadialController para a exibição ou o processo de um aplicativo.
Blocos Dinâmicos Fixe blocos secundários de aplicativos Win32 da Ponte de Desktop.
Notificações do sistema Use a atualização pendente em botões para criar uma interatividade de várias etapas em suas notificações do sistema.
Controles de interface do usuário Esses controles novos facilitam a compilação de uma bela interface do usuário.
* O controle do seletor de cor permite que os usuários procurem e selecionem cores.
* O controle de exibição de navegação facilita a adição de navegação de ponta ao seu aplicativo.
* O controle de imagem da pessoa exibe a imagem de avatar de uma pessoa.
* O controle de classificação permite que os usuários exibam e definam facilmente classificações que refletem o grau de satisfação com o conteúdo e os serviços.
Voz e tom Adicionamos novas diretrizes sobre voz e tom em aplicativos UWP para fornecer orientações para a produção de texto em seu aplicativo. Independentemente do que você estiver criando, é importante que a linguagem usada seja acessível, amigável e informativa.

Jogos

Recurso Descrição
Transmissão de jogo As novas APIs no namespace Windows.Media.AppBroadcasting permitem que seu aplicativo inicie a interface do usuário de transmissão de jogo fornecida pelo sistema.
Você também pode se registrar em eventos que enviam uma notificação ao seu aplicativo quando uma transmissão começa ou é interrompida. As novas APIs no namespace Windows.Media.AppRecording permitem que você grave áudio e vídeo e faça capturas de tela do jogo.
Você também pode fornecer metadados que serão incorporados pelo sistema aos fluxos de transmissão e captura, permitindo que os aplicativos forneçam experiências de exibição sincronizadas com os eventos de jogo. Para saber mais sobre esses recursos, confira Captura e transmissão de jogo.
Sobreposição de chat no jogo A classe GameChatOverlay fornece métodos para obtenção da instância padrão de sobreposição de chat no jogo, definição da posição desejada da sobreposição e adição de mensagens a ela.
Informações do dispositivo de jogo Devido às diferenças nos recursos dos consoles, os desenvolvedores de jogos da UWP (Plataforma Universal do Windows) precisam achar uma maneira de determinar o tipo de console no qual o jogo está sendo executado, para fazer escolhas de tempo de execução e usar melhor o hardware. As APIs de Informações do dispositivo de jogo em <gamingdeviceinformation.h> proporcionam essa funcionalidade.
Modo de Jogo Com as APIs de Modo de Jogo para a UWP (Plataforma Universal do Windows), você pode produzir a melhor experiência de jogo, aproveitando o Modo de Jogo no Windows 10. Essas APIs estão no cabeçalho <expandedresources.h> .
Monitor de jogo A classe GameMonitor permite ao aplicativo obter o estado de permissão do monitor de jogo do dispositivo e solicitar que o usuário habilite o monitoramento do jogo.
TruePlay TruePlay fornece aos desenvolvedores um novo conjunto de ferramentas para combater trapaças em seus jogos de computador. Um jogo registrado no TruePlay será executado em um processo protegido, que reduz uma classe de ataques comuns. As APIs do TruePlay da UWP (Plataforma Universal do Windows) permitem interação limitada entre os jogos e o sistema de monitoramento de jogo em computadores com Windows 10. Essas APIs estão no cabeçalho <gamemonitor.h> . A partir do Windows 10, versão 1809 (10.0; Build 17763), o TruePlay foi removido do Windows. A documentação do TruePlay não foi publicada.
Xbox Live Adicionamos documentos para desenvolvedores do Xbox Live, tanto para jogos da UWP quanto do XDK (Kit do Desenvolvedor Xbox).
* Confira o Guia do desenvolvedor do Xbox Live e saiba como usar as APIs do Xbox Live para conectar seu jogo à rede social de jogos do Xbox Live.
* Com o Programa de Criadores do Xbox Live, qualquer desenvolvedor de jogos da UWP pode desenvolver e publicar um jogo habilitado para Xbox Live no computador e no Xbox One.
* Confira a Visão geral do programa para desenvolvedores do Xbox Live para saber mais sobre os programas e recursos disponíveis para os desenvolvedores do Xbox Live.

Desenvolver aplicativos do Windows

Recurso Descrição
Ativação de aplicativos UWP Os seguintes novos recursos estão disponíveis agora:
* Use a classe StartupTask para especificar a inicialização de um aplicativo UWP quando o usuário fizer logon ou na inicialização do sistema.
* Identifique se um aplicativo UWP foi iniciado da linha de comando.
* Solicite de maneira programática que seu aplicativo UWP seja reiniciado usando as APIs de RequestRestartAsync() e RequestRestartForUserAsync().
* Iniciar o aplicativo Configurações do Windows foi atualizado para refletir novos esquemas de URI como ms-settings:storagesense, ms-settings:cortana-notifications e outros.
Empacotamento de aplicativos O Instalador de Aplicativo foi expandido para permitir que pacotes de aplicativo UWP sejam baixados de uma página da Web. Além disso, agora é possível baixar conjuntos relacionados de um pacote do aplicativo agora com o Instalador de Aplicativo. Confira a nova seção Instalar aplicativos UWP com o Instalador de Aplicativo para saber mais.
Serviços e extensões de aplicativos Adicionamos um novo guia, Criar e consumir uma extensão de aplicativo para ajudar você a escrever e hospedar extensões do aplicativo UWP (Plataforma Universal do Windows) para estender seu aplicativo por meio de pacotes que os usuários podem instalar da Microsoft Store.

Adicionamos um novo guia, Estender seu aplicativo com serviços, extensões e pacotes, que categoriza as diferentes tecnologias no Windows 10 que você pode usar para estender e dividir o aplicativo.
Tarefas em segundo plano Adicionamos três guias que o ajudarão a aproveitar as tarefas em segundo plano:

* Executar em segundo plano indefinitivamente para usar todos os recursos disponíveis em um dispositivo sem nenhuma limitação em segundo plano ou de execução estendida. Isso é válido para aplicativos UWP empresariais e aplicativos UWP que não serão enviados à Microsoft Store.

* Disparar uma tarefa em segundo plano no aplicativo para ativar uma tarefa em segundo plano no aplicativo.

* Executar uma tarefa em segundo plano quando o aplicativo UWP é atualizado para criar uma tarefa em segundo plano que é executada quando seu aplicativo UWP for atualizado.
Cortana Use o Kit de Habilidades da Cortana para adicionar e testar habilidades para estender a funcionalidade natural da Cortana e fazê-la interagir com seus aplicativos e serviços.
Ponte de Desktop Adicionamos três guias que ajudam você a adicionar experiências modernas aos seus aplicativos de área de trabalho no Windows 10: Guia
* Aprimorar seu aplicativo da área de trabalho para Windows 10 para encontrar e referenciar os arquivos corretos e, em seguida, gravar código para destacar as experiências UWP para usuários do Windows 10.

* Estender seu aplicativo da área de trabalho com componentes UWP modernos para incorporar interfaces de usuário de XAML modernas e outras experiências UWP que devem ser executadas em um contêiner de aplicativo UWP.

* Migrar seu aplicativo para a Plataforma Universal do Windows para compartilhar códigos entre seus aplicativos WPF, do Windows Forms, UWP, Android e iOS.
Empacotamento de Ponte de Desktop O Visual Studio introduz um novo projeto de empacotamento que elimina todas as etapas manuais que costumavam ser necessárias para empacotar um aplicativo da área de trabalho de confiança total. Basta adicionar um projeto de empacotamento, referenciar seu projeto de desktop e depois pressionar F5 para depurar seu aplicativo. Não é necessário fazer ajustes manuais. Essa nova experiência simplificada é uma grande melhoria em relação à experiência disponível na versão anterior do Visual Studio.
Diagnóstico e threading As novas APIs de diagnóstico fornecem informações sobre os aplicativos em execução:

* A classe AppMemoryReport fornece informações sobre o limite de confirmação total do aplicativo esperado, o uso de confirmação privado, entre outros.
* A classe AppDiagnosticInfo agora pode monitorar o estado de execução de um aplicativo ou tarefa e fornece notificações quando o estado de execução é alterado.
* A classe MemoryManager tem novos métodos para definir o limite de uso de memória do aplicativo e relatar o limite de uso de memória do aplicativo esperado.

É possível colocar tarefas em fila por ordem de prioridade e executá-las em um thread diferente com a classe DispatcherQueue. Essa funcionalidade também está disponível no Win32 por meio da função CreateDispatcherQueueController.
EdgeHTML 16 A plataforma da Web que capacita aplicativos do Microsoft Edge e aplicativos UWP (Plataforma Universal do Windows) baseados em JS, foi atualizada para o EdgeHTML 16 e agora inclui melhorias importantes para Ferramentas de Desenvolvedor F12, suporte para Layout de Grade CSS e outros recursos significativos.

* O Layout de Grade CSS agora tem suporte no Microsoft Edge. O Layout de Grade define um sistema de layout baseado em grade bidimensional que permite mais fluidez de layout do que é possível com posicionamento por meio de flutuações ou scripts.

* Os Documentos das DevTools F12 do Microsoft Edge foram atualizados para que tenham mais robustez e desempenho. Novos recursos também foram adicionados para otimizar a experiência de desenvolvimento.

Somente no Microsoft Edge, a WebVR adicionou suporte para controladores de movimento e vários headsets do Windows Mixed Reality. A WebVR também foi otimizada para dar suporte a até 90 quadros por segundo.

Confira o Guia do Desenvolvedor do Microsoft Edge para obter a lista completa de alterações e APIs com suporte recente.
Elementos 3D de mapa Você pode adicionar objetos tridimensionais a um mapa. Você pode usar a nova classe MapModel3D para importar um objeto tridimensional de um arquivo 3MF (Formato de manufatura 3D).
Estilo dos elementos de mapa Você pode personalizar a aparência de elementos de mapa usando duas novas propriedades MapElement: MapStyleSheetEntry e MapStyleSheetEntryState.

* Você pode usar a propriedade MapStyleSheetEntry para fazer com que os elementos de mapa pareçam fazer parte do mapa de base (por exemplo, definindo um estilo de elemento como uma entrada existente na folha de estilos de mapa como Água).

* Você pode usar a propriedade MapStyleSheetEntryState para modificar a aparência dos elementos do seu mapa aproveitando estados padrão como Focalizar e Selecionado na folha de estilos do mapa ou substituí-los para criar a sua própria.
Camadas de mapa Você pode adicionar elementos de ponto de interesse a uma camada de mapa e depois associar o XAML diretamente a essa camada. Agrupe seus elementos em camadas. Com isso, é possível manipular cada camada de forma independente uma da outra. Por exemplo, como cada camada tem seu próprio conjunto de eventos, você pode responder a um evento em uma camada específica e realizar uma ação específica para tal evento.
Informações de locais do mapa Você pode mostrar aos usuários um mapa dentro de uma janela pop-up leve acima, abaixo ou ao lado de um elemento de interface do usuário ou uma área do aplicativo na qual o usuário tocar. Essa janela fecha automaticamente quando o usuário muda o contexto. Isso evita que os usuários tenham que mudar para outra janela de navegador ou de aplicativo para obter informações sobre determinado local.
Serviços de mapa Está em um passeio turístico? Use o novo valor MapRouteOptimization.Scenic para otimizar uma rota a fim de incluir as estradas mais pitorescas, e MapRoute.IsScenic para descobrir se uma rota existente inclui estradas memoráveis.
Captura de mídia O artigo Processar quadros de mídia com o MediaFrameReader foi atualizado para mostrar o uso da nova classe MultiSourceMediaFrameReader, que permite que você obtenha quadros correlacionados no tempo de várias fontes de mídia.

O artigo Processar quadros de mídia com o MediaFrameReader foi atualizado para incluir uma descrição do modo de aquisição de quadros em buffer que permite aos aplicativos solicitar que os quadros adquiridos sejam fornecidos ao aplicativo em sequência, sem descartar quadros adquiridos enquanto o aplicativo estava processando um quadro anterior.

Além disso, quando um objeto MediaCapture tiver sido inicializado com um grupo de origem do quadro de mídia contendo uma ou mais origens do quadro de mídia, você poderá criar um objeto MediaSource que permite apresentar os quadros de mídia em um controle MediaPlayerElement em uma página XAML.

Para obter mais informações, confira Processar quadros de mídia com o MediaFrameReader.
Reprodução de mídia Novas seções foram adicionadas ao artigo de reprodução de mídia básica, Reproduzir áudio e vídeo com o MediaPlayer.

A seção Reproduzir vídeo esférico com o MediaPlayer mostra como reproduzir vídeos codificados esfericamente, incluindo o ajuste do campo de exibição e orientação de exibição para formatos compatíveis.

A seção Usar o MediaPlayer no modo de servidor de quadros mostra como copiar quadros de mídia reproduzidos com MediaPlayer em uma superfície Direct3D. Isso possibilita, por exemplo, a aplicação de efeitos em tempo real com sombreadores de pixel. O código de exemplo mostra uma implementação rápida de um efeito de desfoque para reprodução de vídeo usando Win2D.
Minhas Pessoas O recurso Minhas Pessoas permite aos usuários fixar contatos de um aplicativo diretamente na barra de tarefas. Saiba mais sobre como adicionar o suporte a Minhas Pessoas no seu aplicativo.

* O compartilhamento de Minhas Pessoas permite aos usuários compartilhar arquivos por meio de seu aplicativo, diretamente da barra de tarefas.
* As notificações de Minhas Pessoas são um novo tipo de notificação do sistema que os usuários podem enviar para os contatos fixados.
.NET Standard 2.0 A Plataforma Universal do Windows implementou completamente o .NET Standard 2.0. Essa nova versão do Standard inclui um grande aumento no número de APIs .NET juntamente com um shim de compatibilidade para seus pacotes NuGet e bibliotecas de terceiros favoritos.

Caso pretenda direcionar a outras plataformas, como iOS e Android ou tenha um aplicativo da área de trabalho e queira criar um aplicativo UWP, mova o código para as bibliotecas da classe .NET Standard 2.0 e depois reutilize esse código em cada versão do seu aplicativo.
Fixar à barra de tarefas A nova classe TaskbarManager permite que você solicite a seu usuário que fixe seu aplicativo na barra de tarefas.
Ponto de Serviço Adicionamos um novo guia para ajudar você a começar a usar os dispositivos de ponto de serviço. Ele cobre tópicos como enumeração do dispositivo, verificação de recursos do dispositivo, declaração e compartilhamento de dispositivos.
Reconhecimento de fala Agora, você pode usar um SpeechRecognitionListConstraint em conjunto com um serviço Web SpeechRecognitionTopicConstraint para aumentar a precisão do ditado fornecendo um conjunto de palavras-chave específicas ao domínio que, a seu ver, provavelmente serão usadas durante o ditado.
Atividades do usuário Uma nova API de Windows.ApplicationModel.UserActivities permite encapsular uma tarefa de usuário que pode ser continuada em um outro momento e, talvez, em um dispositivo diferente.

Publicar e monetizar aplicativos do Windows

Os recursos desta seção foram adicionados desde o lançamento da versão anterior do Windows, 1703. Eles estão disponíveis para todos os desenvolvedores do Windows e não exigem o SDK atualizado.

Recurso Descrição
Gerenciamento de contas Agora, fornecemos mais flexibilidade na associação de locatários do Azure AD com sua conta do Partner Center para adicionar vários usuários da conta. Você pode associar vários locatários do Azure AD a uma única conta do Partner Center, ou associar um único locatário do Azure AD a mais de uma conta do Partner Center.
Publicidade O SDK do Microsoft Advertising agora permite que você exiba anúncios nativos em seus aplicativos. Um anúncio nativo é um formato de anúncio com base em componente em que cada parte do criativo do anúncio (como título, imagem, descrição e texto do plano de ação) é entregue ao aplicativo como um elemento individual. Atualmente, os núncios nativos só estão disponíveis para desenvolvedores que estão participando de um programa piloto, mas nós pretendemos disponibilizar esse recurso para todos os desenvolvedores em breve.
Preço e disponibilidade Novos preços e opções de disponibilidade permitem agendar alterações de preço e definir datas de lançamento precisas.
API de análise da Microsoft Store Agora, a API de análise da Microsoft Store fornece um método que pode ser usado para baixar o arquivo CAB para um erro em seu aplicativo.
Listagens da Loja A listagem da Store foi aprimorada com novas capacidades para envolver usuários potenciais:
* A listagem da Store do seu aplicativo agora pode incluir trailers em vídeo.

É possível importar e exportar as Listagens da Store para fazer atualizações de maneira mais rápida, especialmente se você tiver listagens em vários idiomas.
API de envio Agora, a API de envio da Microsoft Store permite que você inclua trailers de vídeo e opções de jogos com seus envios de aplicativo.
Ofertas direcionadas Ofertas direcionadas permitem que você direcione segmentos específicos dos seus clientes com conteúdo atrativo e personalizado, para aumentar o envolvimento, a retenção e a monetização.

Amostras

Lunch Scheduler

A amostra de Lunch Scheduler agenda almoços com amigos e colegas de trabalho. Marque um almoço, convide amigos para um restaurante de interesse e deixe que o aplicativo cuide da organização desse almoço para todas as pessoas envolvidas. Esse aplicativo destaca o seguinte:

  • Demonstra a integração com serviços como Facebook, Microsoft Graph para autenticação, operações baseadas em gráficos e descoberta de amigos.
  • Trabalha com mapas do Yelp e Bing para recomendações de restaurante.
  • Incorpora elementos do Sistema de Design Fluente em um aplicativo UWP, incluindo acrílico, revelação e animações conectadas.

Jogo de perguntas

A amostra de Aplicativo de Jogo de Perguntas (API de Sessões de Sistema Remoto) demonstra como usar a API de sessões de sistema remotas no contexto de um cenário de jogo de perguntas. Um host envia as questões aos dispositivos próximos e os participantes respondem às questões nos próprios dispositivos.

A API de Sessões de Sistema Remoto permite que um dispositivo hospede uma sessão que seja detectável por outros dispositivos próximos. Com isso, eles podem participar da sessão e enviar mensagens ao host e a outros participantes.