Conhecendo a Universal Windows Platform

A Microsoft comprou a Xamarin e matou o project Astoria.

Esses dias, em uma conversa de bar com um amigo eu comentei com ele sobre as novidades do Windows 10, planos futuros da Microsoft e também o que é a nova Universal Windows Platform — UWP. Essa conversa, acabou me motivando a fazer esse post, como uma forma de introduzir o que é a Universal Windows Platform para quem ainda não a conhece.

Minha experiência com uma app universal é recente. Comecei a trabalhar em meu primeiro projeto para UWP mês passado. O projeto é um app que terá versões para Android, iOS e Windows. A versão Windows será uma Universal Windows App, que será disponibilizada para desktops, tablets e smartphones que rodam Windows 10.

süsa, the ultimate task manager for Universal Windows Platform.

Universal Windows Platform — UWP

É uma uma nova plataforma e também uma nova arquitetura para aplicações Windows, é uma evolução a maneira de como se fazia no Windows 8/8.1

A conhecida arquitetura de apps Win32 é incompatível com a UWP, mas a migração pode ser feita através do Windows Bridge Centennial.

A Universal Windows Platform é parte do core do Windows 10 e marca a unificação do Windows em várias plataformas. Ou seja, agora a Microsoft possui o mesmo core do Windows rodando em vários devices do mais diferente tipo, tamanho e custo. Existem Raspberry PI, Smartphones, Desktops, Tablets, Xbox… e todos eles rodam o mesmo core do Windows.

A previsão é que a plataforma atinga mais 1 bilhão de devices em 2 anos.

Graças a essa unificação, hoje quando você cria uma app universal, você está criando um app que pode rodar em vários devices, isso é possível porque os devices agora usam o mesmo core.

As famílias de Device

A premissa da Universal Windows Platform é que cada família de device identifique quais APIs, capacidades, comportamentos que estão presentes, o você pode esperar e como seu app deve se comportar em cada device.

Quando se desenvolve um app universal, você desenvolve um app pensando na família de device que esse app vai rodar.

Eu gosto de dizer que a família de device nada mais é do que o “sabor” do Windows que roda nesse device.

PCs e notebooks estão na família de device Desktop; smartphones, tablets estão na família de Mobile. O Xbox One está na família de device Xbox. Na família de device Universal é onde temos o Windows Core (esse que eu falei que tá em todos os devices).

Você pode limitar seu app para rodar em uma única família de device. Mas você pode escolher desenvolver seu app para todas as família de devices.

A decisão sobre quais famílias de device seu app irá rodar é você que faz mas pense sempre em escolher as famílias que mais se aproximam dos seus requisitos, e além do mais, adicionar suporte para mais um device não é algo muito complicado de se fazer.

No app em que comecei a trabalhar a família de device escolhida foi Desktop e Mobile.


Windows Core

O Windows 10 foi refatorado e possui um novo core unificado e compartilhado entre vários devices Windows. Um mesmo código fonte, um mesmo kernel, um modelo de app.

Você consegue rodar seu app no Windows 10 Mobile, no Windows 10 desktop, ou em um Xbox, tudo isso graças ao Windows Core. Utilizando a UWP você possui um novo conjunto de APIs, funcionalidades e integrações com toda a plataforma de aplicativo comum disponível em cada dispositivo que executa o Windows 10.

Os UWP apps podem chamar não apenas as APIs do Windows Core que são comuns a todos os devices, mas também as APIs de outros devices (incluindo APIs do Win32 e .NET).

Comparação entre um UWP App e um Win32 app.

A UWP fornece uma camada de API de básica garantida entre dispositivos. E, com esse pacote do aplicativo único, a Windows Store fornece um canal de distribuição unificado para acessar todos os tipos de dispositivos que seu aplicativo pode ser executado.

Se hoje uma aplicação para a UWP pode rodar em vários devices (desktop, tablets, smartphones, xbox, hololens), é graças ao Widnwos core.


Windows Store

Junto com a UWP e a unificação dos SOs da Microsoft, também aproveitou para unificar suas stores, antes era uma store para cada device, agora a UWP vem uma nova, unificada e reformulada Windows Store, a UWP agora é TUDO, até música e filmes e claro para os apps universais.

Recentemente houve uma polêmica sobre a Windows Store. O problema é que esta é a única maneira de se vender um app na plataforma, e a Microsoft fica com 30%. Hoje os apps Win32 são vendidos em várias lojas de terceiros. Tipo comprar o Winrar sabe?


Conclusão

A UWP e agora é parte do core do Windows 10 e permite que você crie apps para múltiplos devices que rodam Windows 10.

Infelizmente ainda existem muitos desafios a serem vencidos. Para começar, a Microsoft perdeu a batalha no mundo Mobile. E para não perder a guerra, junto todos os Windows em um só, criou uma plataforma nova e gigante. E está indo para luta novamente, está tentando e inovando.

O maior desafio agora é convencer desenvolvedores e empresas a migrarem para a plataforma e a Microsoft vem avançando muito bem nesse caminho, mas ainda existe um longo caminho pela frente. 1 SO, 1 Plataforma, 1 BILHÃO de devices são números bem interessantes certo?

Os pioneiros sempre caminham por território árduo, mas a recompensa dos primeiros sempre será maior também. Esse é o sentido do investimento. — Fabio Akita.

Para mais detalhes sobre UWP

Guide to Universal Windows Platform (UWP) apps

What’s a Universal Windows Platform (UWP) app?

What’s new for developers in Windows 10