Portable Class Library - a versão .NET do “Write Once, Run Anywhere”?
[ Common Language Runtime é a parte do .NET Framework onde seu código é executado. Os diversos serviços essenciais para uma aplicação .NET, tais como o compilador JIT e os gerenciadores de código e memória, são parte da CLR. Mal comparando, a CLR equivale à máquina virtual (JVM) do Java. Originalmente a Microsoft criou uma única máquina virtual / CLR, que vem evoluindo desde o .NET 1.0. Essa CLR presente no .NET é a versão de referência, baseada na especificação ECMA/ISO da Common Language Infrastructure. Entretanto, quando surgiu a necessidade de rodar código .NET em outros ambientes – tais como num smartphone ou mesmo num browser – percebeu-se que a enorme quantidade de recursos da CLR havia, de certa forma, se tornado um problema. A CLR era maior do que seria possível hospedar nesses ambientes restritos. Foi aí que começaram a surgir novas CLRs:
- Silverlight (browser);
- Silverlight (Windows Phone 7);
- .NET Compact Framework;
- .NET Micro Framework;
- Xbox etc. Todas essas CLRs têm pontos em comum, o que significa que era possível escrever código “compartilhável” – ou seja, um mesmo código-fonte podia ser reaproveitado em diferentes projetos (exemplo comum: WPF, Silverlight Browser e Silverlight WP7). Ou seja, havia a compatibilidade de código, mas não a compatibilidade binária para que assemblies produzidos pelo Visual Studio pudessem ser diretamente referenciados por diferentes plataformas. É aqui que voltamos ao assunto deste post. Com as Portable Class Libraries é possível criar assemblies que podem ser diretamente compartilhados entre diferentes plataformas/CLRs. Finalmente a tão conveniente compatibilidade binária!
O que muda?
Quando você usa Portable Class Libraries, o Visual Studio garante que o código que você está escrevendo – e o binário resultante – serão compatíveis com todas as plataformas que você selecionar. A consequência natural disso é que você sempre estará nivelando pela plataforma com menos recursos. Todos os outros benefícios oferecidos pelo Visual Studio – testes de unidade, Intellisense, Intellitrace e outros – continuam funcionando exatamente da mesma forma com que estamos acostumados.
Como usar?
Portable Class Library é um novo modelo de projeto disponível no Visual Studio “11”. Basta usar esse novo modelo de projeto no lugar do antigo Class Library: Se você ainda estiver usando o Visual Studio 2010, pode baixar o modelo de projeto a partir da Visual Studio Gallery: Depois disso é só criar seu projeto no Visual Studio 2010! Um abraço, Igor Para saber mais:
- _Portable Class Libraries (VS2010): _http://msdn.microsoft.com/en-us/library/gg597391.aspx
- _Portable Class Libraries (VS11): _http://msdn.microsoft.com/en-us/library/gg597391(v=vs.110).aspx
- _API Differences in Portable Class Library: _http://technet.microsoft.com/en-us/query/gg597392
-
Tags:
- .NET
- CLR
- Portable Class Library
- VS11
- VS2010
17/04/2012 | Por Igor Abade V. Leite | Em Técnico | Tempo de leitura: 2 mins.