Janeiro de 2018

Volume 33 – Número 1

Plataforma Universal do Windows - Qual é a Novidade no Desenvolvimento do .NET UWP?

Por Daniel Jacobson | Janeiro de 2018

Em outubro de 2015, um de nós teve o prazer de escrever um artigo sobre o desenvolvimento da Plataforma Universal do Windows (UWP) .NET (msdn.com/magazine/mt590967). Desde então, muita coisa mudou com o desenvolvimento de UWP .NET, por isso, gostaríamos de abordar essas mudanças com um novo artigo que ajudará a agilizar o trabalho dos desenvolvedores.

Desde outubro de 2015, a Microsoft publicou uma nova versão do Visual Studio 2017, muitos SDK novos (incluindo o mais recente SDK Windows 10 Fall Creators Update), o Projeto de Empacotamento de Aplicativos do Windows, suporte para .NET Standard 2.0, melhorias no NuGet, o novo sistema de design Fluent, novas ferramentas direcionadas para a comunidade do Windows Template Studio e muito mais. Muitas dessas mudanças e melhorias no ecossistema para desenvolvedores da Plataforma Universal do Windows foram criadas para tornar mais fácil a apresentação de seus recursos .NET existentes, otimizar sua estratégia de implantação de aplicativos no Windows 10 e acelerar seu desenvolvimento da Plataforma Universal do Windows para compilar ótimos aplicativos o mais rapidamente possível.

O Fall Creators Update do Windows 10 traz um host de aprimoramentos para desenvolvedores da Plataforma Universal do Windows, com a versão 15.5 do Visual Studio 2017 e posteriores, oferecendo o melhor suporte para o SDK Windows 10 Fall Creators Update (10.0.16299.0). Algumas das mudanças mais importantes incluem novas funcionalidades para aplicativos empresariais, implantação simplificada de aplicativos e suporte para o .NET Standard 2.0 e o novo Sistema de Design Fluent. Vamos explorar esses avanços.

Novos recursos no Windows para Aplicativos Empresariais

A Microsoft reconheceu a necessidade de melhorar a Plataforma do Windows 10 para desenvolvedores empresariais que compilam aplicativos para Windows em PCs, fazendo grandes avanços nesta área com o Windows 10 Fall Creators Update.

O melhor de UWP e Win32 A Microsoft aprimorou a plataforma do Windows 10 com o Desktop Bridge (aka.ms/desktopbridge) com a finalidade de atrair todos os desenvolvedores .NET, independentemente de seu foco ser a UWP, Windows Presentation Foundation (WPF), Windows Forms ou Xamarin. Com o novo tipo de projeto de Pacote de Aplicativo na versão 15.5 do Visual Studio 2017, você pode criar pacotes de aplicativo do Windows para seu WPF ou projetos do Windows Forms, da mesma forma que com os projetos UWP.

Quando seu aplicativo estiver empacotado, você obtém todos os benefícios de implantação do aplicativo, incluindo a opção de distribuir por meio do Microsoft Store (para aplicativos de consumidor), do Microsoft Store para Empresas e para Educação, ou por meio de suas opções de implantação de aplicativo preferidas, como o Intune. Os aplicativos empacotados têm acesso à superfície completa da API UWP e as APIs do Win32 na área de trabalho, para que você possa modernizar seu WPF e os aplicativos do Windows Forms gradualmente com as APIs da UWP e os recursos do Windows 10. Você também pode incluir seus componentes do Win32 em seus aplicativos UWP para que eles se destaquem na área de trabalho com todos os recursos do Win32.

Tranquilidade Os usuários podem instalar aplicativos sem arrependimentos e preocupações se eles contém malware. As instalações não exigem privilégios de administrador, e cada instalação de aplicativo é isolada das outras, facilitando o gerenciamento. As desinstalações são garantidamente limpas, sem registros ou sistemas de arquivos corrompidos ou outros efeitos colaterais inesperados causados pela instalação de um software. Este método de distribuição agora está disponível para seu WPF e aplicativos do Windows Forms usando o Projeto de Empacotamento de Aplicativos do Windows.

Segurança pronta para empresas O Windows Hello permite a autenticação por biometria de dispositivos e aplicativos compatíveis. O Modelo de Aplicativo do Windows 10 protege seus dados e a integridade do sistema por meio de contêineres de aplicativo UWP, que deixam o usuário no controle do que os aplicativos podem ou não fazer. Além disso, os aplicativos devem divulgar como usam seus recursos, como o local ou o microfone, que são controlados pelo usuário ou o administrador de TI por meio das configurações de privacidade.

Resolvendo disparidades de aplicativos para área de trabalho A versão recente do Fall Creators Update ajudou a resolver a API e as principais disparidades entre os aplicativos para área de trabalho UWP e Win32. O suporte para .NET Standard 2.0 aumentou de forma significativa a superfície disponível da API, enquanto fornece acesso a vários pacotes NuGet importantes que anteriormente não poderiam ser usados em projetos UWP. Por exemplo, os desenvolvedores empresariais finalmente obtém acesso a APIs SqlClient para comunicar diretamente com bancos de dados do SQL Server a partir de seus projetos UWP. A Microsoft também continua a melhorar o Modelo de Aplicativo UWP para área de trabalho e cenários empresariais. Atualizações recentes habilitaram a ativação da linha de comando, a inicialização automática e os recursos para executar com total segurança ou com tempo de vida de execução sem restrições (extendedBackgroundTaskTime e extendedExecutionUnconstrained).

Implantação simplificada de aplicativos

A Microsoft reconhece que muitos desenvolvedores .NET ainda estão criando Windows Forms e aplicativos WPF. Além de fazer com que a apresentação de recursos existentes seja ainda mais fácil, a empresa visa resolver um problema que muitos desenvolvedores enfrentam atualmente: a implantação. Com o Visual Studio 2017, ficou ainda mais fácil aproveitar o Desktop Bridge (aka.ms/desktopbridge) para empacotar aplicativos .NET do Win32 existentes.

Você pode certamente enviar aplicativos do Win32 para o Microsoft Store com o Projeto de Empacotamento de Aplicativos do Windows, mas existem muitas outras maneiras de distribuir aplicativos empacotados como um .appx. Essas opções oferecem suporte à flexibilidade de implantação exigida por muitas organizações.

Começando com o Windows 10 Fall Creators Update, você pode hospedar seu próprio instalador .appx na Web para invocar o instalador do aplicativo automaticamente. É tão simples quanto adicionar um esquema de ativação (ms-appinstaller:?source=) ao link para o .appx na Web. Para mais informações, confira a postagem no blog sobre instalações diretas na Web aqui: bit.ly/2mJfIUI. Esta abordagem facilita muito o compartilhamento de informações em sua organização, por exemplo, com a simples portagem de um link para o .appx em um site da Web.

Você também pode criar manifestos do instalador de aplicativos para dar suporte a atualizações automáticas de pacotes. Uma das vantagens fornecidas por esta tecnologia do instalador de aplicativo em um esquema como o ClickOnce é o fato de a atualização acontecer automaticamente nos bastidores, ou seja, o aplicativo pode ser atualizado antes mesmo que o usuário do aplicativo inicie a atualização. Para saber como criar seus próprios arquivos personalizados .appinstaller para atualizações automáticas de aplicativos em canais de implantação hospedados, confira o blog aqui : bit.ly/2z4Fx3A.

Se você precisar de ferramentas de gerenciamento de dispositivos eficazes em sua organização, você pode potencializar e distribuir seus aplicativos com o Microsoft Intune (bit.ly/2B7OnyR). O Projeto de Empacotamento de Aplicativos do Windows é o caminho mais rápido para tornar seus aplicativos facilmente gerenciados por meio do Microsoft Intune.

Por último, mas não menos importante, você pode distribuir seus aplicativos pelo Visual Studio App Center (bit.ly/2AKpsjJ). O Visual Studio App Center permite que suas equipes de desenvolvimento ou testadores beta implantem rapidamente seu aplicativo. Você também pode facilmente habilitar análises para determinar quem está usando seus aplicativos e como eles estão sendo usados.

Com o Projeto de Empacotamento de Aplicativos do Windows e muitos outros canais de distribuição para pacotes .appx, é fácil empacotar e distribuir seu aplicativo para qualquer cenário em sua organização.

Suporte para .NET Standard 2.0

O Windows 10 Fall Creators Update é a primeira versão do Windows 10 a oferecer suporte para .NET Standard 2.0. Se não estiver familiarizado com o .NET Standard, você pode obter muitos detalhes em aka.ms/dotnetstandard. Na verdade, o .NET Standard é uma implementação de referência da biblioteca de classes base que pode ser implementada por qualquer plataforma .NET, seja .NET Framework, .NET Core ou Xamarin. O objetivo do .NET Standard é tornar o compartilhamento de códigos o mais fácil possível para os desenvolvedores .NET em todas as plataformas .NET com as quais eles decidirem trabalhar.

Embora existam algumas semelhanças com o modelo de Biblioteca de Classes Portátil (PCL), a maior diferença com o .NET Standard é que você não tem que escolher quais são suas plataformas de destino. Se sua plataforma de destino implementar a biblioteca de classes base como definida pelo padrão, o código compartilhado funcionará. Uma enorme vantagem do .NET Standard comparado com os PCLs é que quando uma nova plataforma .NET é apresentada com o suporte do .NET Standard, você não precisa modificar suas bibliotecas de código compartilhado, pois você não precisará adicionar nenhum novo destino de plataforma. 

As iterações iniciais do .NET Standard (versões 1.x) foram um grande começo, mas com o Windows 10 Fall Creators Update e o .NET Standard 2.0, a Microsoft tornou drasticamente mais fácil compartilhar código nas plataformas .NET. O .NET Standard 2.0 tem cerca de 20.000 mais APIs em comparação com qualquer outra versão 1.x. Além disso, o .NET Standard 2.0 é compatível com a versão 4.6.1 do .NET Framework, assim como o desenvolvimento da Plataforma Universal do Windows para desenvolvedores visando o Windows 10 Fall Creators Update. Vamos explorar o mínimos detalhes sobre como tudo isso funciona na seção “Desenvolvimento do .NET e UWP”.

Um outro benefício enorme do .NET Standard 2.0 é que ele abre caminho para muitos aplicativos .NET existentes (sejam eles WPF ou Windows Forms). Se seus aplicativos .NET forem destinados ao .NET Framework 4.6.1 ou superior, você pode começar a portabilidade de seu code-behind nas bibliotecas do .NET Standard 2.0. Assim, o mesmo código pode ser compartilhado em qualquer plataforma .NET que implementa o .NET Standard 2.0. A Matriz de Compatibilidade do .NET Standard na Figura 1 mostra como o suporte se comporta em todas as versões.

Matriz de Compatibilidade do .NET Standard
Figura 1 Matriz de Compatibilidade do .NET Standard

Isso significa que você pode começar a portabilidade de seu código em bibliotecas reutilizáveis, e quando estiver pronto, você pode compartilhar o mesmo código em aplicativos UWP, Xamarin, .NET Core e muito mais.

Para ajudar você a determinar se a API de seu código tem compatibilidade com o .NET Standard 2.0, a Microsoft criou um analisador de portabilidade que produzirá um relatório que mostra quais APIs são compatíveis com cada implementação .NET (bit.ly/2zlgrBz). Você também pode conferir o vídeo do Channel9 da conferência .NET Conf 2017 que apresenta as etapas de todo o processo de portabilidade, do aplicativo .NET do Windows Forms a um aplicativo UWP em bit.ly/2j9TB52.

Sistema de Design Fluent

Com a evolução dos dispositivo de computação e a emergência da realidade mista, era essencial que o sistema de design do Windows também evoluísse. Para abordar essa mudança, a Microsoft lançou o sistema de design Fluent (fluent.microsoft.com). Criado sobre cinco conceitos de bloco de construção — luz, profundidade, movimento, material e escala — este sistema foi criado para dar suporte à próxima geração de UX pelos tipos de dispositivo.

Com o Windows 10 Fall Creators Update, você já pode ver artefatos do Fluent abrindo caminho para o desenvolvimento do Windows 10 e de aplicativos. Uma ótima maneira de ver o design Fluent em ação é dando uma olhada no exemplo do XAMLUIBasics nos exemplos UWP no GitHub (bit.ly/2mK4pvH).

Outro exemplo (mostrado na Figura 2) que demonstra os princípios do design Fluent em um cenário mais voltado para empresas pode ser encontrado em aka.ms/eshopuwp/src. Neste exemplo, você pode ver o material acrílico que fornece uma camada composta no painel de navegação. Você também pode ver efeitos de luz que servem para destacar o botão de navegação “Adicionar novo item”.

Design Fluent em ação
Figura 2 Design Fluent em ação

Aperfeiçoamentos no Visual Studio 2017

Existem muitos aperfeiçoamentos no Visual Studio 2017 em relação ao Visual Studio 2015. Aqui, destacaremos alguns dos novos recursos mais importantes e de impacto do ambiente de desenvolvimento integrado.

Vamos começar com as ferramentas mais recentes do Visual Studio 2017. Uma das principais prioridades do Visual Studio 2017 era tornar a configuração o mais rápida e fácil possível. Assim que você começar a instalar o Visual Studio 2017, você logo reconhecerá as melhorias em relação ao Visual Studio 2015.

Tudo começa com o Instalador do Visual Studio (veja a Figura 3),que permite que você gerencie todas as instalações do Visual Studio 2017. Ele dá suporte à aquisição orientada por cenário com a introdução de cargas de trabalho projetadas em torno do que os desenvolvedores precisam para executar o seu trabalho. As cargas de trabalho funcionam de forma que você só instale aquilo de que precisa, e não todos os extras que normalmente tornam a instalação do Visual Studio 2015 tão demorada. Além disso, as instâncias do Visual Studio 2017 podem ser instaladas em paralelo, para que você possa instalar as versões prévias (visualstudio.com/vs/preview) e as versões comerciais (visualstudio.com) no mesmo computador. Isso permite que você experimente os melhores e mais recentes recursos sem afetar seu ambiente de produção.

Instalador do Visual Studio
Figura 3 Instalador do Visual Studio

Além disso, começando com o Windows 10 Creators Update (10.0.15063.0), a instalação do SDK também pode ser configurada paralelamente. Agora você pode se inscrever no Programa Windows Insiders (insider.windows.com) e experimentar versões prévias de SDKs sem interromper seu ambiente de produção.

Aperfeiçoamentos no Designer XAML

O Visual Studio 2017 versão 15.4 apresentou atualizações drásticas no Designer XAML. Essas atualizações estão centradas em várias considerações de design, incluindo:

  • Melhoria substancial no desempenho de designer
  • Superfície de designer de alta fidelidade, focada especialmente em artefatos de renderização introduzidos pelo novo Sistema de Design Fluent do Windows
  • Menos exceções de designer para minimizar distrações e maximizar a produtividade dos desenvolvedores na superfície de design
  • UX designer aprimorado sem interromper ou alterar o desenvolvimento XAML no Visual Studio e no Blend
  • Ferramentas adaptadas que ajudam a maximizar a produtividade de desenvolvedores compilando experiências do Windows.

Essas atualizações para o designer precisarem ser repensadas no que diz respeito à arquitetura subjacente do designer. A recompilação por parte da Microsoft da maioria das ferramentas com as quais os desenvolvedores já estão acostumado afetará os desenvolvedores do Windows em curto prazo. Para gerenciar este desafio, a Microsoft apenas lançou as atualizações para o Designer XAML para desenvolvedores de UWP visando o Windows 10 Fall Creators Update (10.0.16299.0) ou versões posteriores. Você pode ler mais detalhes sobre as atualizações em aka.ms/uwpsiblog.

Projeto de Empacotamento de Aplicativos do Windows

Para simplificar a implantação do aplicativo com o Windows 10, agora você pode criar um novo tipo de projeto chamado Projeto de Empacotamento de Aplicativos do Windows. Este projeto permite que você adicione referências aos aplicativos Win32 (pode exemplo, Windows Forms e WPF) e empacote-os usando o formato de pacote .appx.

Tirar proveito deste projeto é simples. Basta adicionar um novo Projeto de Empacotamento de Aplicativos do Windows à sua solução e adicionar uma referência ao seu aplicativo do Win32 usando o nó de Aplicativos, conforme mostrado na Figura 4.

Demonstração do WapProj
Figura 4 Demonstração do WapProj

Para criar pacotes, clique com o botão direito do mouse em Projeto de Empacotamento de Aplicativos do Windows e selecione Store | Criar Pacotes de Aplicativo. O resultado será um .appx que você pode implantar usando qualquer um dos métodos mencionados na seção “Implantação Simplificada de Aplicativos” deste artigo.

Aperfeiçoamentos no NuGet

Com o Visual Studio 2017, todos os aplicativos UWP .NET aproveitam o modelo de referência de pacote NuGet para adicionar pacotes NuGet aos projetos (bit.ly/2AXDDlz). As referências do pacote NuGet fornecem várias vantagens tanto a autores quanto a consumidores de pacote NuGet.

PackageReference tem integração direta com MSBuild, o que possibilita novos cenários como o gerenciamento de pacotes em vários projetos. Vamos considerar um exemplo. Digamos que você trabalha em uma empresa que tem uma biblioteca principal compartilhada em todos (ou muitos) projetos que sua empresa produz. Tradicionalmente, quando é feita uma atualização nessa biblioteca, todos os projetos que consomem esse pacote precisariam atualizar a referência para aproveitar a versão mais recente. Com o PackageReference, sua empresa pode criar um destino MSBuild que é importado em todos os projetos e, quando é realizada uma atualização nas bibliotecas principais, você pode atualizar a versão no destino MSBuild personalizado. Todos os projetos que importam esse destino MSBuild agora mencionarão a versão atualizada da biblioteca sem a necessidade de atualizar todos os projetos um a um.

Além disso, a integração do MSBuild habilita referências de pacote condicionais, que fornece um controle mais preciso sobre suas dependências de projeto. Consideremos o mesmo exemplo, mas agora produzindo uma versão de Depuração e Lançamento da biblioteca principal. O destino do MSBuild compartilhado poderia especificar as dependências do pacote condicional para consumir a versão de Depuração da biblioteca nas compilações de Depuração dos projetos que consomem a biblioteca. Desta forma, você tem a versão não otimizada da biblioteca para fornecer a melhor experiência de depuração. Assim, você pode configurar a dependência condicional para mudar para a versão de Lançamento da biblioteca principal ao compilar as versões de Lançamento do projeto.

Por fim, para os autores do pacote NuGet, você pode tirar proveito do direcionamento de múltiplas plataformas em um único pacote NuGet. Um ótimo caso de uso de plataformas com multidestino é a publicação de um único pacote NuGet para dar suporte a todas as plataformas .NET. Digamos que você tenha compilado anteriormente uma biblioteca do .NET Framework no NuGet que você deseja atualizar para dar suporte ao .NET Standard 2.0. A versão mais recente de seu pacote NuGet pode manter as duas implementações, para que a última versão do pacote seja sempre aplicável, independentemente do projeto consumidor. Por exemplo, se você tiver uma implementação do .NET Framework 4.5 e uma do .NET Standard 2.0, todos os aplicativos .NET com destino para o .NET Framework 4.5 ou superiores ou implementações do .NET Standard 2.0 poderão consumir o pacote NuGet. Para o desenvolvimento UWP, a plataforma especificada está correlacionada com a TargetPlatformMinVersion de seu projeto. Se sua TargetPlatformMinVersion for maior ou igual à plataforma especificada no pacote NuGet, o pacote NuGet pode ser referenciado no projeto.

No Visual Studio 2015, o compilador nativo .NET foi enviado como parte do Visual Studio. Apesar de a implementação do .NET Core para desenvolvimento da UWP ter sido enviada como um conjunto dos pacotes NuGet, os desenvolvedores enfrentaram uma experiência ligeiramente fragmentada com o .NET Native. Com o Visual Studio 2017, todos os .NET para desenvolvimento de UWP são enviados como parte da implementação .NET para o pacote NuGet de UWP, incluindo o .NET Native. Isso dá a você a flexibilidade de migrar ao seu ritmo, especificando a versão .NET de que você precisa e que sabe que funciona para o seu aplicativo.

.NET Standard 2.0 e desenvolvimento de UWP

Foi mencionado anteriormente neste artigo que o .NET Standard 2.0 está disponível na atualização do Windows 10 Fall Creators Update. Para aproveitar a implementação do .NET Standard 2.0, você deve definir a TargetPlatformMinVersion do seu projeto UWP para o Windows 10 Fall Creators Update ou posterior, conforme mostrado na Figura 5. Você também deve referenciar a versão 6.0 ou posterior do pacote NuGet Microsoft.NETCore.UniversalWindowsPlatform.

Aplicativo UWP compatível com o .NET Standard 2.0
Figura 5 .NET Aplicativo UWP compatível com o .NET Standard 2.0

O pacote NuGet Microsoft.NETCore.UniversalWindowsPlatform aproveita a plataforma com suporte multidestino para desenvolvimento UWP para que você possa sempre atualizar para a última versão do pacote. Se você estiver compilando um aplicativo que tem uma TargetPlatformMinVersion mais antiga do que o Windows 10 Fall Creators Update, o processo de restauração do NuGet trará a implementação do .NET Standard 1.4 do .NET Core para Windows 10. Se você definir a TargetPlatformMinVersion mais antiga para o Windows 10 Fall Creators Update ou posterior, o NuGet importará a implementação do .NET Standard 2.0 do .NET Core para Windows 10. Bem, muita coisa já foi escrita, o que significa que para você que não é preciso se preocupar com qual versão do pacote NuGet referenciar. Você pode referenciar a mais recente, o que deve sempre funcionar, independentemente de seu destino no Windows 10. 

Projetos de código-fonte aberto úteis

Por fim, gostaríamos de mostrar a vocês alguns projetos de código-fonte aberto úteis que podem ser usados para acelerar o desenvolvimento de UWP. Isso inclui o Windows Template Studio, o Kit de Ferramentas de Comunidade UWP e os Controles Telerik para Desenvolvimento UWP.

O Windows Template Studio Windows Template Studio (mostrado na Figura 6) é um gerador de modelos dinâmico para desenvolvimento de UWP. É a maneira mais fácil de começar a compilar um aplicativo de UWP pronto para produção. Ele aproveita as melhores práticas para desenvolvimento e permite que você compile vários modos de exibição, tarefas em background e muito mais em uma experiência de assistente simplificada. Usar o Windows Template Studio no desenvolvimento de todos os novos aplicativos em uma organização pode ajudar a garantir uma aparência consistente em todos os aplicativos e incentivas o uso de melhores práticas em arquiteturas de aplicativos. Compilado, mantido e atualizado por uma comunidade de desenvolvedores Windows entusiasmada, o Windows Template Studio é uma ótima maneira de começar a compilar aplicativos UWP totalmente desenvolvidos (aka.ms/wts).

Geração de Projeto do Windows Template Studio
Figura 6 Geração de Projeto do Windows Template Studio

Controles Telerik para desenvolvimento de UWP Em fevereiro de 2017, a Telerik anunciou que estava abrindo o código-fonte da interface do usuário da Telerik para bibliotecas de controles UWP. A licença fornece uso livre a qualquer pessoa que queira compilar aplicativos UWP. A Telerik tem experiência na compilação de controles poderosos e de alto desempenho prontos para empresas — e agora com o desenvolvimento da UWP eles agora são gratuitos! Leia mais sobre o anúncio do código-fonte aberto da Telerik no blog da empresa: bit.ly/2AZA0iI.

Kit de Ferramentas de Comunidade UWP O Kit de Ferramentas de Comunidade UWP (github.com/Microsoft/UWPCommunityToolkit) é outro projeto direcionado para a comunidade que fornece ferramentas úteis para desenvolvimento de UWP. O kit de ferramentas inclui modelos de animações, controles, classes auxiliares, serviços e muito mais. Use o Kit de Ferramentas de Comunidade UWP para acelerar seu desenvolvimento.

Considerações finais

É claro que muita coisa mudou para os desenvolvedores UWP e .NET, com tantas ferramentas e atualizações novas para tornar os aplicativos do Windows tão rápidos e fáceis quanto possível. Com o .NET Standard 2.0 e todos os recursos gratuitos disponíveis, nunca foi tão fácil compilar aplicativos prontos para empresas com a Plataforma Universal do Windows. Para desenvolvedores .NET, a plataforma e as ferramentas atualizadas de Ponte de Desktop são combinadas para que você possa compilar aplicativos avançados para desktop que aproveitam o melhor da UWP e do Win32, incluindo o WPF e o Windows Forms. A Microsoft está constantemente aprimorando suas ferramentas com base em seus comentários, por isso, quando for compilar seus aplicativos Windows, não hesite em entrar em contato conosco por email ou pelo Twitter.


Daniel Jacobsoné um gerente de programa do Visual Studio que trabalha com ferramentas para desenvolvedores da plataforma Windows. Entre em contato com ele pelo email dajaco@microsoft.com ou no Twitter: @pmatmic.

Stefan Wick é gerente-chefe de programa em Windows, trabalhando com a Plataforma Universal do Windows. Entre em contato com ele pelo email swick@microsoft.com ou no Twitter: @StefanWickDev.

Agradecemos aos seguintes especialistas técnicos da Microsoft pela revisão deste artigo: Mike Harsh, Matthijs Hoekstra, Unni Ravindranathan e Ricardo (Rido) Minguez
Unni Ravindranathan é gerente de programa na equipe do Visual Studio focado na compilação de ferramentas de nível mundial para desenvolvedores de aplicativos Windows.

Mike Harsh é gerente de programa de grupo na equipe da Plataforma de Desenvolvedor do Windows.

Matthijs Hoekstra é gerente sênior de programa na equipe da Plataforma de Desenvolvedor.


Discuta esse artigo no fórum do MSDN Magazine