4 de maio de 2009

.NET Multiplataforma

Quando foi lançado o framework .NET, um dos desejos declarados da Microsoft era que ele não se restringisse à plataforma Windows. Isto é, que o framework fosse tornado multiplataforma e programas feitos para rodar na CLR (Common Language Runtime) ou, mais precisamente, usando a CLI (Common Language Infrastructure) pudessem ser acessados, por exemplo, em Linux. Claramente, o objetivo era concorrer com o Java pois a Sun os havia impedido de introduzir modificações no Java.

Embora eu não tenha visto ampla divulgação, a Microsoft tem dado passos nesse direção desde 2005, quando submeteu ao ECMA International documento abrindo a especificação da infraestrutura de linguagem. A ECMA é uma espécie de consórcio criado para padronização de tecnologia de comunicação e de informação; abrir a infraestrutura comum das linguagens do .NET por meio desse consórcio abre caminho para que outros possam lançar suas próprias versões do runtime do .NET, permitindo na prática o mesmo tipo de portabilidade de código obtido com o Java.

Ok. Mas, tem alguém desenvolvendo alguma coisa nesse sentido ? Curioso a respeito dessa perspectiva, dei uma garimpada na Internet e localizei o projeto mais promissor : chama Mono e é patrocionado pela Novell.

A versão mais atual do projeto é a 2.4, publicada em março de 2009. De acordo com o site do projeto, http://www.mono-project.com, essa versão implementa funcionalidades que permitem classificá-la como compatível com a versão 2.0 do framework. No entanto, já possui algumas características até do framework 3.5. Também garantem que ela é capaz de executar programas gerados com o Visual Studio sem necessidade de recompilação. Ou seja, se sua aplicação .NET - incluindo aplicações ASP.NET - tem como alvo a versão 2 do framework, você deve executá-la sem problemas com o Mono. E, se faz uso de recursos de versões mais recentes, a Novell disponibiliza uma ferramenta chamada Migration Analyser que indica quais os pontos do seu programa poderão causar problema se executado com o Mono, permitindo compatibilizar seu código.

Há versões do Mono para diversas distribuições de Linux, para Unix, para MAC OS X e até para Windows, embora seja questionável sua utilidade aí, já que é onde a versão da própria Microsoft é distribuida. De acordo com o roadmap existente no site, até mesmo o tratamento completo do Windows Presentation Foundation está previsto.

Confesso que ainda não fiz um teste prático com ele para dar um testemunho confiável sobre a facilidade de portar uma aplicação. Mas assim que testar, farei um novo post para comentar.

=> Mais Informações
Mono Project, Padronização do Common Language Infrastructure (CLI), Plataformas suportadas.

Nenhum comentário :

Postar um comentário

OBS: Os comentários enviados a este Blog são submetidos a moderação. Por isso, eles serão publicados somente após aprovação.

Observação: somente um membro deste blog pode postar um comentário.