Mono
O Mono é uma implementação de fonte aberto da estrutura .NET e do ECMA-334 (linguagem C#) e padrões ECMA-335 (sistema de execução virtual CLI).
O Mono é tanto um tempo de execução como um kit de desenvolvimento de software (SDK). Como um tempo de execução, é usado para executar aplicativos desenvolvidos em várias linguagens, incluindo C#, VisualBasic, Boo, IronPython, Nemerle, F# e muito mais. Como um SDK, o Mono fornece um compilador C# e várias ferramentas de apoio ao desenvolvimento de aplicações no âmbito ECMA.
O Mono 1.2 foi lançado em Novembro de 2006, e trouxe consigo, pela primeira vez, o suporte para a migração de aplicações em Windows.Forms.
Índice
Disponibilidade
A versões mais recentes também estão disponíveis pa partir do repositório oficial do Mono na plataforma de desenvolvimento OBS.
As últimas versões para distribuições não openSUSE podem ser encontradas no Site do Mono na WEB.
Estantes
O Mono pode executar uma série de aplicações diferentes que pertençam quer à estante Biblioteca Mono ou à estante Biblioteca compatível com Microsoft.
Para mais detalhes sobre os principais projetos a respeito do Mono, veja a página de Planos Mono.
Estante compatível com Microsoft
A seguir estão as principais tecnologias suportadas pelo Mono:
- Estante XML.
- Para a criação de aplicações web ASP.NET, aplicações baseadas em AjaxPro e serviços web baseados em SOAP.
- Windows.Forms uma API para a criação de aplicações GUI de plataformas cruzadas
- ADO.NET bibliotecas para desenvolver aplicações de bancos de dados.
- Criptografia do núcleo.
- Transações.
Portabilização de Software para o Linux
Em particular, os desenvolvedores interessados em adaptar aplicações do Windows para o Linux, usando o Mono, podem utilizar a ferramenta de Análise de Migração Mono (Moma). A Moma pode ser usada tanto no Windows quanto no Linux e opera um binário compilado e gera um relatório detalhando quais APIs já são suportadas pelo Mono e também lista quaisquer incompatibilidades potenciais que o software poderia ter se executado com o Mono.
Opcionalmente, os usuários da Moma podem enviar os relatórios para o nosso sistema centralizado, este é usado para priorizar o trabalho que deve ser feito para implementar a funcionalidade em falta ou melhorar a nossa compatibilidade.
Estante de Bibliotecas Mono
A estante Mono é uma definição de bibliotecas foi criada especificamente para o Mono tirar proveito dos recursos disponíveis no Linux ou Unix, e estas incluem:
- Cecil para manipulação de imagens CIL.
- Gtk# para a criação de aplicações Gtk para o Linux e Windows.
- Bibliotecas Tao para criação de OpenGL e aplicações ricas em mídia.
- C5 - Biblioteca de Coleção Genérica.
- Mono.Posix fornece acesso para as APIs do Unix.
- Mono.Cairo fornece acesso para os Gráficos Cairo.
- Crimson para criptografia estendida.
Apache Integração
A estante web do Mono está integrada como o Apache utilizando o pacote mod_mono no openSUSE.
Para maiores detalhes sobre a configuração do seu sistema para lidar com aplicações ASP.NET utilizando o mod_mono, veja a página Mod_mono no site do Projeto Mono e na página de Auto Hospedagem.
Edite o seu arquivo de configuração e adicione esta linha:
Include /etc/apache2/mod_mono.conf
Ambiente de Desenvolvimento Integrado
O MonoDevelop é um Ambiente de Desenvolvimento Integrado para desenvolvedores em C#, Boo, IronPython e Visual Basic que queiram mover seus ambientes de desenvolvimento para o Linux.
Características do MonoDevelop:
- A sfuncionalidade núcleo de uma IDE.
- Gerenciamento de Projeto.
- Intellisense e refatoração.
- Suporte pela concepção de projetos GUI utilizando Gtk#.
- Integração com Subversão e CVS.
- Integração ao Serviço Web.
- Suporte à internacionalização.
- Componente de desenvolvimento.
- Integração com o pkg-config e componentes Mono.
- Suporte à múltiplas linguagens.
Software de terceiros
Para informações sobre software de terceiros, veja:
- Pacotes de Software escritos com o Mono.
- Bibliotecas e Componentes para o Mono.
Linguagens
O Mono tem suporte extensivo para muitas linguagens de programação, além de C# 1.0 e C# 2.0, suporte para estas linguagens está disponível:
- Suporte a Compilador C#.
- Suporte a Java.
- Suporte a JavaScript/ECMAscript.
- Suporte a IronPython.
- VisualBasic.NET