Clique e receba as novidades quentinhas no Telegram

A Microsoft anunciou uma enorme atualização para o UWP ( Universal Windows Platform) e para desenvolvedores .NET. A grande notícia é a adição e suporte para o .NET Standard 2.0. Os desenvolvedores UWP agora terão acesso a mais de 20 mil APIs. Esta atualização traz o UWP junto com as outras implementações .NET que suportam o .NET Standard 2.0.

Você precisa baixar o Visual Studio 2017 15.4, recém lançado, para aproveitar essas atualizações. Você também precisa esta executando o Windows 10 Fall Creators Update, que será lançado no dia 17 deste mês. O suporte do .NET Standard 2.0 para UWP são mudanças necessárias no Windows 10 que estão sendo enviadas na atualização “Fall Creators”. Essas mudanças estabeleceram uma nova linha de base para ferramentas UWP.
Este lançamento também inclui muitas outras melhorias importantes, que serão abordadas posteriormente. Você pode conferir maiores detalhes da UWP .NET aqui.

Windows 10 Fall Creators Update

Para usar o .NET Standard 2.0 nos seus projetos UWP, você precisa segmentar a Fall Creators Update (FCU) como a versão mínima do seu projeto UWP. Isso porque o .NET Standard 2.0 contém muitas APIs que exigem a FCU para fazê-las funcionar no contexto do ambiente de execução UWP, especificamente o AppContainer.
Se você criar um novo projeto, você será solicitado a selecionar a versão do Windows que deseja segmentar:

Você também pode atualizar um projeto existente clicando com o botão direito do mouse no seu projeto e selecionando Propriedades. Na guia Aplicativo, você pode selecionar a versão do Windows usando as mesmas opções.

Suporte .NET Standard 2.0

O .NET Standard é uma especificação de APIs que todas as implementações .NET devem implementar. O UWP agora possui suporte para o .NET Standard 2.0.

A principal vantagem do .NET Standard 2.0 é que ele faz as implementações .NET do .NET Standard muito mais parecidas com o .NET Framework. Com o .NET Standard 2.0, cerca de mais de 20.000 APIs ficam disponíveis em comparação com o .NET Standard 1.6. A grande maioria deles são as API existentes do .NET Framework, que inclui APIs de reflexão perdidas, coleções não genéricas, DataSet, serialização binária, XML Schema e muito mais. Para uma lista completa, dê uma olhada no diff entre o .NET Standard 2.0 e o .NET Standard 1.6Isso facilita a portabilidade do código .NET Framework existente para UWP. Isso inclui ambos, copiar e colar o código existente, mas também se estende a referenciar binários do .NET Framework existentes, através do modo de compatibilidade. Aqui está um exemplo de usar o DataSet dentro de uma aplicação UWP:

Usando o .NET Core 2.0 para depuração

Visual Studio usa CoreCLR para depuração de aplicativos UWP. Ele fornece tempo de inicialização de compilação + depuração muito mais rápido do que o .NET Native fornece. O Visual Studio transicionou para usar o .NET Core 2.0 em vez de uma compilação personalizada do CoreCLR.

O uso do .NET Core 2.0 não deve ser observável na maioria dos casos. A mudança para o .NET Core 2.0 é importante por dois motivos principais: 

  • O desempenho do .NET Core melhorará a experiência de depuração do aplicativo UWP.
  • Aumento do alinhamento entre os tipos de aplicativos do .NET.

Construções Incrementais

As aplicações UWP usam o .NET Core para depurar e .NET Native para versões de lançamento por padrão. Existem diferenças importantes que você pode observar entre os dois tipos de compilação. As diferenças mais importantes são devidas ao .NET Native sendo um compilador nativo à frente do tempo. Você deve considerar mudar a compilação de depuração para usar o .NET Native em algum momento para descobrir potenciais erros ou outras falhas de aplicativos.

A Microsoft adicionou suporte de compilação incremental para o .NET Native nesta versão para melhorar a produção de compilações .NET Native. Esta nova capacidade torna a depuração com o .NET Native muito mais acessível. A compilação inicial para o .NET Native ainda é longa. Lembre-se de que as compilações incrementais sempre têm uma linha de base. Após a primeira compilação, as compilações .NET Native são muito mais rápidas. Nós ainda recomendamos usar o .NET Core para depurar, mas essa nova capacidade deve ser bastante útil se você precisar.

Esperamos que você aproveite essas melhorias para as aplicações UWP. Agora você pode ter acesso a mais APIs, usar bibliotecas .NET Standard 2.0 e migrar muito mais facilmente o código existente para suas aplicações UWP. Sua experiência de depuração do Visual Studio deve ser mais rápida e capaz, e os aplicativos que você criar devem ser mais rápidos e estáveis.

Este último lançamento é o maior que a Microsoft enviou desde o .NET Native com o Windows 10. É um grande passo à frente e depois do lançamento da Fall Creators Update em 17 de outubro, as aplicações UWP poderão desfrutar de milhares de APIs que foram removidas pelo Windows 8, trazendo aos desenvolvedores, mais possibilidades e facilidades para desenvolver, atualizar ou portar qualquer aplicativo.

Para você que leu tudo isso e não entendeu muito bem, vou tentar simplificar a importância dessa notícia: Com a Fall Creators Update e o suporte UWP para .NET Standard 2.0 duas coisas precisam ficar bem claras.

Todo o esforço da Microsoft com UWP agora ganhou um reforço de peso com a adição de mais de 20 mil APIs, com isso, os desenvolvedores poderão portar muito mais aplicações que ainda não foram portadas, em muitos casos, por falta das APIs; e novos aplicativos serão criados com mais facilidade. Com isso, veremos muito mais aplicativos na Microsoft Store, dos novos aos portados. Quem sabe uma chuva de apps?

Com a exigência da Fall Creators Update, a próxima atualização do Windows 10, significa que estas novas APIs incluídas no .NET Standard 2.0 irão excluir todas as outras versões do Windows 10, ou seja, um desenvolvedor UWP que fizer a portabilidade ou uma nova aplicação UWP, irá exigir a Fall Creators Update para rodar esses aplicativos. É um novo recomeço para a UWP, desenvolvedores e consumidores, lembrando que, mesclando Xamarin dentro do UWP, é possível criar uma UI (Interface de Usuário) de plataforma cruzada para Windows, Mac, Linux, Android e iOS. Faça um aplicativo UWP e distribua em todas as plataformas.

Fonte: Microsoft