Infra - Linux
Equipe da NETi TECNOLOGIA testa o Visual Basic 8 .NET no Linux. Vejam o resultado!
A NETi TECNOLOGIA resolveu instalar e testar a versão 1.2.3.1 do Mono, que promete executar no GNU/Linux aplicativos compilados no Visual Basic 8 .NET. O resultado atendeu as expectativas, sendo assim resolvemos publicar a experiência. O objetivo não é formar uma opinião sobre o produto, pois o suporte do Visual Basic no Mono é um recurso muito recente.
por Alessandro de Oliveira Faria
Junto ao Marcelo Prado (desenvolvedor em
Visual Basic 8 .NET na NETi TECNOLOGIA), resolvemos testar a primeira versão do
Mono (1.2.3.1), que promete rodar aplicativos VB. O Visual Basic é uma linguagem
muito utilizada em plataformas Microsoft. Adianto que o resultado atendeu todas
as expectativas laboratoriais.
Ressalto que este documento apenas relata
os resultados dos testes e como executá-lo, sendo assim não tenho a menor
intenção de criar conclusões sobre a linguagem. Mesmo porque o suporte da
linguagem Visual Basic .NET no Mono é um recurso relativamente
novo.
Resolvemos criar uma tradicional aplicação Ola Mundo! Como não
enfrentamos nenhum problema, partimos para um aplicativo que acessa a base de
dados Firebird. Assim testaríamos um aplicativo gerado no ambiente Microsoft, um
banco de dados que nasceu na Borland rodando no Mono sobre o OpenSuSE 10.2.
O que é o MONO
O Projeto Mono é uma iniciativa da comunidade onde o principal
objetivo é desenvolver uma versão open-source da plataforma Visual Studio .NET
da Microsoft.
O projeto criado em 2001 e tem como foco
permitir que os desenvolvedores criem aplicações .NET que executem sobre
diversas plataforma.
A Ximian, a empresa de Software Livre co-fundada
por Miguel de Icaza, lidera o projeto que foi desenhado para facilitar o
desenvolvimento entre plataformas, assim automaticamente todos os projetos
criados na plataforma .NET passam a serem híbridos, podendo ser executados em
qualquer ambiente que possua um framework instalado.
O projeto Mono
oferece suporte para em sistemas de 32 e 64 bits nas plataformas de software
Linux, Mac OS X, Sun Solaris, BSD e Microsoft Windows (mais informações em http://www.mono-project.com/Supported_Platforms).
Aconselho efetuar o download do código fonte ou binário da sua distribuição favorita em:
No meu caso que utilizo o OpenSuSE, efetuei o download no link abaixo:
Se decidir baixar e compilar os fontes do mono, utilize a receita de bolo abaixo:
$ tar xzvf mono-1.2.3.1.tar.gz
$ cd mono-1.2.3.1
$ ./configure --prefix=/usr/local
$ make
# make install
Instalação:
Para testar o MONO-BASIC, em primeiro lugar atualizei alguns pacotes presente na minha distribuição OpenSuSE 10.2, veja os pacotes atualizados no exemplo abaixo:
- mono-core
- mono-data
- mono-data-sqlite
- mono-web
- mono-winforms
# rpm -Uvh mono-core-1.2.3.1-0.novell.i586.rpm A preparar... ################################# [100%] 1:mono-core ################################# [ 20%] # rpm -Uvh mono-data-1.2.3.1-0.novell.i586.rpm A preparar... ################################# [100%] 2:mono-data ################################# [ 40%] # rpm -Uvh mono-data-sqlite-1.2.3.1-0.novell.i586.rpm A preparar... ################################# [100%] 3:mono-data-sqlite ################################# [ 60%] # rpm -Uvh mono-web-1.2.3.1-0.novell.i586.rpm A preparar... ################################# [100%] 4:mono-web ################################# [ 80%] # rpm -Uvh mono-winforms-1.2.3.1-0.novell.i586.rpm A preparar... ################################# [100%] 5:mono-winforms ################################# [100%] Após a atualização, instalei alguns pacotes e ferramentas úteis para o desenvolvimento de aplicações no Mono.
# rpm -ivh mono-devel-1.2.3.1-0.novell.i586.rpm A preparar... ################################# [100%] 1:mono-devel ################################# [100%] # rpm -ivh mono-extras-1.2.3.1-0.novell.i586.rpm A preparar... ################################# [100%] 1:mono-extras ################################# [100%] # rpm -ivh mono-jscript-1.2.3.1-0.novell.i586.rpm A preparar... ################################# [100%] 1:mono-jscript ################################# [100%] # rpm -ivh mono-locale-extras-1.2.3.1-0.novell.i586.rpm A preparar... ################################# [100%] 1:mono-locale-extras ################################# [100%] # rpm -ivh mono-nunit-1.2.3.1-0.novell.i586.rpm A preparar... ################################# [100%] 1:mono-nunit ################################# [100%] Finalmente a instalação do MONO-BASIC.
# rpm -ivh mono-basic-1.2.3.1-0.novell.noarch.rpm A preparar... ################################# [100%] 1:mono-basic ################################# [100%] Caso seja a sua decisão instalar o MONO-BASIC a partir do código fonte, use os comandos tradicionais de compilação após o download:
$ ./configure --prefix=/mono
$ make
# make install
Antes de iniciar os testes com o Visual Basic 8 .NET,
optamos por testar a conexão entre o Mono e o Firebird. Utilizamos
o programa abaixo em C# para certificar que a conexão com o banco esteja
funcionando corretamente. Mais informações sobre a classe de conexão com o banco de dados Firebird em: Para instalar a classe de conexão com o Firebird, utilizei o comando rpm como de costume na distribuição OpenSuSE. # rpm -ivh mono-data-firebird-1.2.3.1-0.novell.i586.rpm A preparar... ################################# [100%] 1:mono-data-firebird ################################# [100%] Se desejar também fazer o teste, crie um arquivo chamado Test.cs com o seguinte conteúdo: |
using System; using System.Data; using FirebirdSql.Data.Firebird; public class Test { public static void Main(string[] args) { string connectionString = "Database=/opt/firebird/examples/empbuild/employee.fdb;" + "User=SYSDBA;" + "Password=masterkey;" + "Dialect=3;" + "Server=localhost"; IDbConnection dbcon = new FbConnection(connectionString); dbcon.Open(); IDbCommand dbcmd = dbcon.CreateCommand(); string sql = "SELECT FIRST 10 * FROM employee"; dbcmd.CommandText = sql; IDataReader reader = dbcmd.ExecuteReader(); while(reader.Read()) { object dataValue = reader.GetValue(0); string sValue = dataValue.ToString(); Console.WriteLine("Value: " + sValue); } // clean up reader.Close(); reader = null; dbcmd.Dispose(); dbcmd = null; dbcon.Close(); dbcon = null; } } |
Compile o programa em C# utilizando o comando abaixo referenciando a classe System.Data.dll e FirebirdSql.Data.Firebird.dll: $ mcs Test.cs -r:System.Data.dll -r:FirebirdSql.Data.Firebird.dll Após a compilação, um arquivo Test.exe será criado na pasta atual. Para testá-lo, basta executar o comando como no exemplo abaixo, veja o resultado: $ mono Test.exe Value: 2 Value: 4 Value: 5 Value: 8 Value: 9 Value: 11 Value: 12 Value: 14 Value: 15 Value: 20 Show!!! Até aqui aqui tudo esta funcionando corretamente. |
|
- Login automático com SSH e Automatização da instalação (deploy) e atualização de sites com GitLinux
- Extensão Sun Presentation Minimizer para Broffice.ORGLinux
- Otimização de Desempenho em sistemas GNU/LinuxLinux
- Hardware para sistemas GNU/Linux - Dicas de Desempenho - Parte 3Hardware
- Hardware para sistemas GNU/Linux - Dicas de Desempenho - Parte 2Hardware