Apresentando e pondo a prova o Mono

Neste artigo apresento o projeto Mono, que busca levar sistemas desenvolvidos em .Net Framework para ambientes Linux. Não busco fazer qualquer tipo de lobby para a Microsoft e sim demonstrar o que é e do que é capaz esta tecnologia open source que é o Mono.

[ Hits: 29.615 ]

Por: Matheus Santana Lima em 03/11/2006


Introdução



Muitos vão pensar, "Nossa lá vem mais um lobysta da Microsoft", "Mono de Monopólio", dentre inúmeras outras atribuições que digam que eu sou a favor da Microsoft e de seus produtos.

Bom, quero dizer que é muito pelo contrário, sou totalmente contra a Microsoft e suas técnicas capitalistas de monopólio, sou contra qualquer tipo de código fechado, mas aceito sua existência, e o objetivo deste artigo não é fazer com que você que programa em C, Java, Python mude para esta linguagem, ou que você que quer começar a programar use esta tecnologia, mas sim apresentar esta ferramenta, que apesar de ser herdada da empresa Microsoft, é uma boa tecnologia e que pode ajudar e muito atuais desenvolvedores das plataformas Windows à se convencerem de que desenvolver para Linux e outras plataformas é essencial nos dias de hoje e em um futuro próximo.

Mas vamos ao que interessa, vamos ver o que o Mono é e do que ele é capaz.

Mono


O idealizador e principal desenvolver do projeto Mono é o famoso criador de uma das mais populares interfaces para ambientes desktop do mundo do Software Livre, Miguel de Icaza.

Por não estar satisfeito com as linguagens disponíveis, Miguel se interessa fortemente pelo C#, que até aquele momento só estava disponível para sistemas Microsoft Windows. Na sua concepção a linguagem Java era extremamente poderosa, mas poderia ter sido mais ainda se a Sun tivesse ouvido sugestões de seus usuários. A Microsoft, como de costume, aproveitou a oportunidade e criou o C#, que é exatamente a mesma coisa que o Java, com os mesmos conceitos e idéias de aplicações.

Esta história da criação da linguagem C# foge do escopo deste artigo, mas só para citar, ela começou quando a Microsoft em uma tentativa frustrada de apoderar-se do Java, se vê obrigada a criar uma tecnologia tão poderosa e com um futuro tão promissor quanto.

Voltando ao Mono, a Microsoft então submete todas as especificações do C# e dos componentes da tecnologia .Net sob os padrões de software livre. Com o surgimento desta possibilidade, Miguel vê a possibilidade de poder desenvolver em C# para plataformas livres, é neste ambiente próspero que começa a nascer o projeto Mono.

Em 2001 ele começa a ser idealizado e objetiva que qualquer desenvolvedor de qualquer linguagem suportada pelo .Net possa desenvolver aplicações para Linux e qualquer outra plataforma livre além é claro para sistemas Windows.

Mas porque o nome Mono? Mono é uma abreviação de macaco em espanhol e por gostarem deste animal, batizam o projeto com este nome.

Resumindo, o Mono tenta levar para programadores a possibilidade de desenvolver no maior estilo Total-Flex de sistemas operacionais :-).

    Próxima página

Páginas do artigo
   1. Introdução
   2. Arquitetura .Net
   3. Jogando o Mono na fogueira
   4. Conclusão
Outros artigos deste autor

Análise do Seamonkey - A evolução da espécie

wxPython, uma biblioteca GUI multi-plataforma (parte 1)

Projeto OLPC - O famoso laptop de $100

Gerenciando serviços de sistemas Linux

Análise do Mandriva Free 2006 - Conhecendo melhor o sistema

Leitura recomendada

Instalação do Android 2.2 (codinome Froyo) no Samsung Galaxy GT-I7500/GT-I7500L

Instalando pacotes no Ubuntu e distros Debian-like

Força-tarefa brasileira disponibiliza versão do TikiWiki em Português do Brasil

Apache + PHP + MySQL + ftpd no OpenBSD

Enviando mensagens para celulares TIM através de script

  
Comentários
[1] Comentário enviado por arcosta em 03/11/2006 - 12:03h

Achei excelente seu artigo por mostrar de forma ambrangente e imparcial o Mono.
Acho q é isso que está faltando na nosa comunidade, abertura. Pois so é ter alguma coisa relacionada a MS que o pessoal SL vira a cara.
Valeu.

[2] Comentário enviado por dedraks em 03/11/2006 - 14:52h

Nossa, será que num futuro próximo poderemos desenvolver a aplicação uma vez e rodar em qualquer lugar? Vai ser bom demais.

[3] Comentário enviado por mpinho em 03/11/2006 - 16:10h

Só mostra como a M$ copiou bem a idéia do Java, que já faz o mesmo há muito mais tempo...

Quem sabe agora que a Novell se vendeu, digo, fez um acordo com a M$ o Mono melhore.

[4] Comentário enviado por chaplinux em 03/11/2006 - 21:19h

Java 100% portavel e estavel. A M$ nada se cria, tudo se copia (Ctrl + C e Ctrl + V).

[5] Comentário enviado por Reideer em 04/11/2006 - 09:31h

Para quem ja utilizou o .NET e não é fã extremista de ninguem, sabe o quanto falta para o .NET ter o poder do java.
Sei que Mono é uma boa alternativa para quem não gosta de java, porém ainda é ariscado utilizar tecnologias que envolvam microsoft para desenvolver software livre. Eles ja deram provas suficientes de que sempre tem uma ideia extra, por traz do que fazem.

[6] Comentário enviado por slackrichard em 04/11/2006 - 21:55h

um contador não é nem de loge prova que uma linguagem tenha o minimo de
portabilidade. Assim penso como fazer uma conexão com o Mysql, postgress, oracle ou mesmo o MS-SQLServer. Então prefiro ficar com o Java, até porque
a Sun ja começou a liberar o codigo em uma linceça livre.

.Net até mesmo na plataforma windows ainda não esta tão poderoso que se
justifique toca-lo em detrimento do java, ou outras linguagem.

[7] Comentário enviado por matheusslima em 04/11/2006 - 21:59h

é importante resaltar que nao quero que niguem que usa JAVA MIGRE PARA .NET, e sim incentivo o pessoal que usa VB.NET e quer rodar -lo em LINUX user para isso o MONO.

[8] Comentário enviado por rafagil em 05/11/2006 - 10:36h

Penso da seguinte maneira:
Não acho interessante que o pessoal do SL faça como a microsoft, ou seja, simplesmente copie as ideias. veja bem, temos inumeras ferramentas Livres que também são portáveis (alias muito mais do que .NET). Por que ao invés de nos "especializarmos" em uma linguagem .NET, não o fazemos com python por exemplo? Ele é rápido, estável, multiplataforma de verdade, muuuuito mais fácil de se aprender do que VB.NET e é 100% livre (sem contra indicações :P).
Acho que se começarmos a copiar as ideias da microsoft, seremos iguais a ela, e por isso, não apoio o mono, mesmo por que, quem garante que no futuro a microsoft não resolva simplesmente "fechar" o (Ex.) .NET 5.2 deixando o pessoal que usa mono à ver navios?

Sou a favor de que se pregue o uso de tecnologias livres (Python, Ruby e etc).

bem, dada a minha opinião sobre o assunto, vamos falar do artigo (já tava na hora, he he he).

achei ele bom, mas um pouco fraco, faltou mais informações sobre o mono, por exemplo, o que ele já faz, o que suporta, o que ainda não é possivel fazer com ele, só foi dito que o suporte é "parcial" mas seria interessante abordar os principais problemas e outras coisas como velocidade comparada ao .NET do windows e etc...

agora terminei.

abraços a todos

[9] Comentário enviado por removido em 05/11/2006 - 20:16h

valeu cara,o mono,como disseram acima,o suporte eh parcial,mas eh bem superior ao .net

[10] Comentário enviado por dsilva_linux em 06/11/2006 - 09:22h

Putz quanta asneira em um único lugar. Como que pode alguêm escrever algo de que não entenda?
Olha este trecho: "Com esta tecnologia é possível que você desenvolva aplicações pra qualquer plataforma, desde que esta possua as APIs no sistema. O conceito empregado no .Net é praticamente o mesmo empregado no Java, enfim, ambos tem como objetivo a multiplataforma."

Desde quando o objetivo do .net é ser multiplataforma? têm IIS para linux? compilador vbnet para linux feito pela microsoft?
Este cara que escreveu isto é um demente!
Não se iludam com o mono(pólio).

[11] Comentário enviado por ricardorrm em 06/11/2006 - 10:07h

Este comentárido do dsilva_linux é prova de insanidade. Não é o Matheus Lima o demente aqui, pois o artigo dele está muito bom. E é um dos que mais contribuem para o site. Já o demente dsilva_linux... Alguém viu alguma contribuição dele por aí?

[12] Comentário enviado por dsilva_linux em 06/11/2006 - 10:38h

ricardorm, você leu o que ele escreveu? se leu concorda com a asneira escrita sobre multiplataforma?
Você precisa rever seus conceitos.

[13] Comentário enviado por heber.moreira em 06/11/2006 - 11:02h

eu acho legal a idéia do mono, principalmente pra quem já trabalha com .NET e nao quer pagar pra usar o Windows & Cia em casa...mas deve ser levado em conta a questão da interoperabilidade, que o matheus levantou, e principalmente a facilidade de desenvolvimento com o Mono (porque se nao tiver uma IDE pelo menos proxima do Visual Studio nao da ne... . NET no notepad da mais trabalho que o java...)

[14] Comentário enviado por ericoc em 06/11/2006 - 11:41h

Adoro este site, mas muitas vezes odeio os comentários. Engraçado que ninguém pode falar bem da Microsoft que muito gente cai matando. E cadê a liberdade? Nosso amigo que escreveu o artigo está nos mostrado uma alternativa ao .NET da Microsoft, e se Miguel de Icaza não tivesse achado que o .NET foi bem projetado ele nunca teria iniciado o projeto Mono. Parabéns pelo artigo! E para aqueles que só falam asneiras, contribuam escrevendo seus artigos para expor o quanto tem conhecimento e experiência para ganhar credibilidade no que é dito. Open your mind!

[15] Comentário enviado por monylulu em 06/11/2006 - 12:54h

Esclarecendo alguns pontos citados nos comentários: o .NET não é e nem pretende ser multiplataforma, mas o conceito sobre o qual ele é baseado é o mesmo da JVM. O .NET nada mais é do que a implementação MS para o Common Language Infrastructure (CLI), uma especificação para máquina virtual e compilação para linguagem intermediária (bytecodes) de forma independente de plataforma. Por acaso esse padrão foi submetido à ECMA pela própria MS, da mesma forma que a Sun definiu o Java Virtual Machine Specification. A diferença é que a Sun gerou ela mesma implementações da JVM para várias plataformas, enquanto a MS não fez isso (o que é uma pena, mas não poderíamos mesmo esperar isso dela).

Para concluir, não estou defendendo nenhum lado. Só lembro que devemos sempre tentar enxergar de forma imparcial o que tem de bom em cada tecnologia e evitar assumir posições radicais.

[16] Comentário enviado por FelipeAbella em 06/11/2006 - 19:38h

Estava curioso sobre o mono até que achei este artigo.

OBS: Na página 2:
"adicionar dotnet.jpg aqui" na primeira linha, deve ter passado despercebido pelos moderadores...

[17] Comentário enviado por DarkOptimusPrime em 08/11/2006 - 22:16h

Posso até estar um tanto enganado, mas o conceito principal da plataforma .NET é ser multilinguagem e ñ multiplataforma.

Sim a Microsoft copiou muita coisa do Java e de outros projetos, enfim a ideia do Mono ñ é de todo ruim, afinal de contas ter uma outra plataforma para rodar uma aplicação .NET é otima. Todos podemos lucrar com isso

O maior problema do Mono pra mim vai ser um possivel fechamento da plataforma, mas até esse ponto o projeto já vai estar independente o bastante da Microsoft

[18] Comentário enviado por mac.arl em 07/12/2006 - 14:35h

A maior sacada do "dotenet" pelo que pude perceber vem do interesse da MS de estar presente em todas as plataformas de hardware:
Cria-se um framework universal para chamadas do SO (jvm like), então, toda a base do SO fica exatamente a mesma e para rodar o SO em 32bits, 64bits, palm, liquidificador, basta ajustar o framework (já falei do jvm?).
Vale a mesma coisa para as aplicações: a aplicação chama chama o framework independente do SO ("jvm, cadê você???")
Agora, isso também gera um estímulo muito bom para os linuxeiros de plantão. Poder desenvolver suas aplicações para linux e poder portá-las para Windows.
Só resta saber se prevalecerá o lado positivo da coisa ou se a MS tem alguma carta na manga para dominar o mundo, aproveitando inclusive os esforços da galera SL+Linux


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts