Criando classes portáveis para seus projetos Windows 8 e Windows Phone 8 com Visual Studio 2012

Olá pessoal.

Muitas dúvidas surgiram quando a Microsoft anunciou que o Kernel do Windows Phone 8 seria o mesmo do Windows 8. A principal delas é se as aplicações feitas para Windows Phone 8 irão rodar no Windows 8 e vice-versa.

 

A resposta é não. As aplicações feitas para Windows Phone 8, rodam exclusivamente no WP8 e, as aplicações feitas para Windows 8 funcionam somente no Windows 8 (RT ou PRO).

Mas então, qual a vantagem de se ter um Kernel compartilhado? Existem vários motivos, mas o que vejo principalmente é o inicio da unificação da plataforma.

O Windows Phone 8 roda exatamente o mesmo Kernel que roda no Windows 8 (RT e PRO). A base é a mesma, com o NT Kernel, o sistema de arquivos NTFS, a pilha de rede, além dos componentes Mobile Core.

 

* IE Trident Engine de renderização do Internet Explorer

Porém o Windows Phone 8 não tem o mesmo Windows Runtime que o Windows 8 tem. A versão Windows Runtime do Windows Phone 8 é o Windows Phone Runtime (WinPRT).

O Windows Runtime e o WinPRT não são completamente compatíveis. Por exemplo, o Windows Runtime implementa a classe Windows.System.RemoteDesktop (1) , mas não implementa o Windows.Phone.Networking.Voip (3) , que é exclusivo do WinPRT.

O Windows Runtime possui um conjunto de cerca de 11 mil itens e o WinPRT possui cerca de 2800 destes itens.

Além destes 2800 itens do Windows Runtime, o WinPRT possui um conjunto extra de uns 600 itens especificos para plataforma de telefones.

Ou seja, o Kernel compartilhado entre o Windows 8 e o Windows Phone 8 permite atualmente:

  • Aproveitar grande parte do fonte dos projetos via Portable Class Library
    • Utilização do modelo MVVM que permite reuso de código
  • Executar código nativo (C++)
    • Facilidade em portar Apps iOS / Android
    • Aceleração via Hardware com o Direct3D
    • Código de alta performance
    • Suporte a engine de games para uso de bibliotecas de áudio, animação e física

Agora, para criação de aplicações com código compartilhado via Portable Class Library – PCL – para Windows 8 e Windows Phone 8 precisamos utilizar a as versões do Visual Studio Professional ou superior.

“Portable Class Libraries only support a subset of .NET assemblies that target the platforms you choose. Visual Studio 2012 Pro and greater versions come with a project template that you can use to create Portable Class Libraries.”

Para criação de um projeto do tipo PCL, basta você abrir o Visual Studio Pro ou superior, selecionar um novo projeto e escolher Portable Class Library:

 

Depois selecionar quais serão as plataformas comuns que esta DLL irá suportar:

Os itens suportados por cada plataforma estão descritos no quadro abaixo:

 

Para mais detalhes, você pode visitar o link https://msdn.microsoft.com/en-us/library/gg597391.aspx

 

Por enquanto é só. Para continuar vendo mais informações sobre este assunto, acesse meu blog: https://daibert.wordpress.com e me siga no twitter em https://twitter.com/daibert

Abs,

Daibert 

* Daibert é um evangelista técnico especialista em desenvolvimento de aplicações para plataforma Windows 8 e Windows Phone 8 na Microsoft

Blog: https://daibert.wordpress.com

Twitter: https://twitter.com/daibert