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:

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:

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:

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:
