Fernando Amaral
Untitled Document

.NET independente de plataforma? Uma introdução ao Mono

A plataforma  .NET não é vista pela maioria da comunidade como um ambiente independente de plataforma. Porém, na verdade ela é tão independente quanto o Java.  Esta descrença tem como principal fonte o fato de que a Microsoft desenvolver o .NET apenas para a plataforma Windows, ao contrário da SUN que mantém e distribui frameworks para diversos sistemas operacionais. Porém a Microsoft mantém um conjunto de especificações que permitem que sejam desenvolvidas versões .NET para qualquer plataforma., especificações estas denominadas CLI.

Baseado na CLI são mantidos alguns projetos de distribuições .NET para plataformas não Microsoft, como o Portable .NET e o Mono. O mais conhecido e evoluído sem dúvida é o projeto Mono, um projeto open source mantido pela Novell e que porta o .NET para Linux, Solaris, Unix, Mac OS X e até Windows!
Nos parágrafos seguintes vou demonstrar como baixar o Mono para Windows e como compilar e executar uma pequena aplicação de linha de comando.

Obtendo e instalado o Mono

Primeiramente é importante registrar que instalar o Mono em seu computador não vai afetar o funcionando de nenhuma versão do .NET da Microsoft, tampouco vai afetar o funcionamento de qualquer programa ou mesmo interferir no Visual Studio. A instalação é completamente independe, como deveria ser por se tratar de um ambiente gerenciado.

Você pode obter o instalador do Mono no endereço http://www.mono-project.com/. Acesse a área de downloads, selecione Windows e baixe o instalador. Na época em que este artigo foi escrito, a versão estável era a 1.9.1 e o instalador possuía aproximadamente 70 MB.
Feito o download, basta executar o instalador. Não vou dar detalhes do processo de instalação porque o mesmo não difere da instalação de qualquer outro aplicativo.
A instalação é realizada por padrão no caminho C:\Arquivos de programas\Mono-1.9.1, podendo mudar conforme a versão instalada. São criados também diversos atalhos no menu iniciar.

O que você pode fazer com o Mono? Quase tudo, projetos web, Windows Forms, Web Services, acesso com ADO.NET, aplicações console e etc. Junto com o Mono são distribuídos alguns compiladores, vamos utilizar  dois: gmcs para C# e vbnc para VB.NET.
Neste primeiro artigo vamos criar duas aplicações console do tipo “Olá Mundo”, uma em C# e outra em VB.NET. Você já deve estar com o mono instalado em seu equipamento.

Olá Mundo em C#

Primeiramente digite o código abaixo e salve em um arquivo mundo.cs:

using System;
namespace Mono.OlaMundo
{
   public class OlaMundo
   {
      public static void Main()
      {
         Console.WriteLine("Olá Mundo!");
                 Console.ReadLine();
      }
   }
}

Abra o Mono-1.9.1 Command Prompt e digite o seguinte comando:

gmcs /target:exe /out:mundo.exe mundo.cs

Para entender o comando, primeiramente digitamos o nome do compilador, o parâmetro target informa que estamos criando um executável, out especifica o nome do arquivo compilado a ser gerado, e finalmente temos o arquivo com o código fonte, mundo.cs.
Observe a execução do comando na imagem abaixo:


Mono


Se você fez tudo certo, deve ser criado no diretório em que se encontra o arquivo cs um executável mundo.exe. Execute-o e observe o resultado:


Mono


Não parece grande coisa, mas você acabou de criar um programa para .NET em um ambiente gerenciado não Microsoft!


Olá Mundo em VB.NET


Primeiramente digite o código abaixo e salve em um arquivo mundo.vb:

Imports System

Module OlaMundo
  Sub Main()
      Console.WriteLine("Ola Mundo!")
      Console.ReadLine()
  End Sub
End Module


Abra o Mono-1.9.1 Command Prompt e digite o seguinte comando:

vbnc /target:exe /out:mundo.exe mundo.vb


Para entender o comando, primeiramente digitamos o nome do compilador, o parâmetro target informa que estamos criando um executável, out especifica o nome do arquivo compilado a ser gerado, e finalmente temos o arquivo com o código fonte, mundo.vb.
Observe a execução do comando na imagem abaixo:

Mono


Se você fez tudo certo, deve ser criado no diretório em que se encontra o arquivo cs um executável mundo.exe. Execute-o e observe o resultado:


Mono

 

Últimos artigos relacionados:
Refatoração (Refactoring) em Visual Studio 2008
Medindo a Performance de seu Código com Visual Studio Team System 2008
Code Snippets no Visual Studio 2008
Análise de Código com Visual Studio Team System 2008
.NET independente de plataforma? Uma introdução ao Mono