Lazarus para o desenvolvimento – estilo Delphi – em múltiplas plataformas
O Lazarus, ambiente de desenvolvimento e biblioteca de componentes que funciona de forma relativamente familiar a quem conheceu o Delphi, permite desenvolver código para compilar e rodar nativamente no Linux, Windows e Mac OS X, é o tema deste artigo no Linux Journal.
Entre as características familiares ao povo do Delphi, estão a escolha pelo Pascal, a ferramenta visual para construção das interfaces, a compilação para código nativo e com acesso direto às bibliotecas do sistema, e até mesmo a compatibilidade com a VCL do Delphi.
Saiba mais (linuxjournal.com).
Puxa, eu lembro do Lazarus… é um projeto muito bom. Mas hoje temos outras linguagens e ferramentas com mais recursos que tornam esta opção defasada para profissionais sérios.
Delphi.
e brilha muito muito na Borlan…. na Embargadero.
http://colunistas.ig.com.br/gameover/files/2009/02/bino.jpg
@André Machado
É, defasada que nem C, não é mesmo?
Já pensou um Linux escrito em VB!YET 20 vezes mais lento? Seria fantárdigo! O primeiro SO do mundo em slow motion…
@André, qualquer linguagem de programação pode ser habilidosamente programada por programadores sérios em projetos sérios.
Logicamente que algumas tem mais possibilidades de POG¹ que outras, e por isso mesmo se tornam preferidas por profissionais não-tão-sérios (php, por ex).
1 – Programação Orientada a Gambiarra
O Lazarus parecia promissor, mas infelizmente ele não conseguiu evoluir no ritmo desejado. A IDE dele tem a cara do Delphi 3 (a versão 2009 é a décima segunda), ele ainda falta muitos componentes, o suporte a VCL nunca conseguiu ser 100% e até hoje o debug dele dá muito crash, sem falar o tamanho do executável.
Fora isso, tem alguns features do Delphi novo que o Lazarus já conseguiu incorporar, como generics.
@Henros
Logicamente que algumas tem mais possibilidades de POG¹ que outras, e por isso mesmo se tornam preferidas por profissionais não-tão-sérios (php, por ex).
Assim você ofende a comunidade PHP. Teu comentário ganhou um “generalização ofensiva”.
I have reaffirmed a long-standing and strongly held view: Language comparisons are rarely meaningful and even less often fair. A good comparison of major programming languages requires more effort than most people are willing to spend, experience in a wide range of application areas, a rigid maintenance of a detached and impartial point of view, and a sense of fairness. — Bjarne Stroustrup, The Design and Evolution of C++
programacao orientada a clique no botao. hehehehe como dizia um amigo meu.
Vocês adoram fazer guerrinha de linguagem de programação, mas ninguém falou sobre o que realmente importa: documentação – e nesse quesito o Lazarus deixa muito a desejar.
A documentação realmente é fraca no Lazarus. Mas talvez o problema seja menor que aparenta. Acontece que a pouca documentação que existe não está integrada a IDE.
Precisa ficar catando no wiki e no google.
Outra coisa que não ajuda é a falta do “Release often”. Existem Snapshots diários, mas pouca gente vai procurar, sem falar que é beta, sempre mais arriscado. Uma pena porque toda semana eu atualizo via SVN e sempre baixa muita coisa.
Não recomendo a ninguém usar Freepascal/Lazarus como 1ª linguagem, está muito defasada. A linguagem tem poucos recursos novos, mas isso não atrapalha muito.
O que realmente é ruim é a integração com ferramentas novas, a parte de web services/REST, por exemplo.
Eu uso porque preciso, mas recomendo Python quando perguntam.
@Weber Jr
Fiquei curioso, poderia dizer o que te faz precisar do Lazarus? Alguma aplicação legada, ou integração com sistema legado?
Qual outra opção IDE RAD temos para o linux? Ou é RAD (como pode ser o python) ou é IDE (Eclipse, Kdevelop). O Mono é o que?
Por ser IDE RAD, Acho que talvez o Lazarus seja uma boa pra fazer um sistema de cadastro e relatórios, não?
O Lazarus é um projeto bem interessante. No Brasil existem vários programadores Delphi (OP) que agora podem desenvolver para o Linux sem precisar aprender uma nova linguagem.
Quando ouço falar que o Object Pascal é ultrapassado fico pensando e o C?
Object Pascal é uma linguagem fácil de desenvolver, e de ótima performance. O FreePascal é multiplataforma, coisa que os ótimos programadores da Borland com o seu Kylix não conseguiram fazer, e a comunidade por traz do FreePascal/Lazarus esta conseguindo.
Documentação ainda é um problema, mas a maioria da documentação do Delphi, que é bem completa, serve para o Lazarus. Códigos em Delphi com pouquíssima alteração rodam no Lazarus sem problemas.
No Linux nada pode ser fácil que alguns membros metem o pau, o Lazarus traz com sigo a simplicidade do Delphi para o Linux e isso incomoda muita gente.
Quanto ao tamanho do executável, é só retirar as informações do debug (este sim é um problema, tem vários bugs), e mandar o compilador otimizar o código que ele fica um pouco maior que os do Delphi.
O Lazarus sem dúvida é a maneira mais fácil e eficiente de fazer programas gráficos que rodam tanto no Linux como no Windows nativamente.
Parabéns para a comunidade do Freepascal e do Lazarus que estão fazendo um ótimo trabalho, mesmo sem o devido reconhecimento da comunidade Linux.
“Qual outra opção IDE RAD temos para o linux? ”
Netbeans (Java), Gambas (Basic), Glade (C), Qt Designer (C++), etc.
Nenhuma ainda está no nível do Delphi e Visual Studio, mas todas estão avançando.
“O FreePascal é multiplataforma, coisa que os ótimos programadores da Borland com o seu Kylix não conseguiram fazer, e a comunidade por traz do FreePascal/Lazarus esta conseguindo.”
O Delphi Prism é multi-plataforma, e a comunidade FreePascal tá há mais de 10 anos tentando e ainda estão com uma defasagem de mais de 10 anos com o Delphi. A equipe é muito bem intencionada, mas não sei se falta verba ou mais gente.
“Documentação ainda é um problema, mas a maioria da documentação do Delphi, que é bem completa, serve para o Lazarus.”
Uns 10%
“Códigos em Delphi com pouquíssima alteração rodam no Lazarus sem problemas.”
Brincou, né? Ele não tem 20% dos componentes do Delphi, ainda mais das versões novas. Fora os componentes de terceiros incorporados à IDE oficial, como os relatórios.
“… o Lazarus traz com sigo a simplicidade do Delphi para o Linux…”
Tenta trazer, é um esforço louvável, mas ainda não conseguiram. Espero que um dia consigam
“Quanto ao tamanho do executável, é só retirar as informações do debug (este sim é um problema, tem vários bugs), e mandar o compilador otimizar o código que ele fica um pouco maior que os do Delphi.”
Um executável de 2 Mb no Delphi que testamos vai pra 7 Mb no Lazarus, mesmo sem debug. Não chamaria isso de “um pouco”
“O Lazarus sem dúvida é a maneira mais fácil e eficiente de fazer programas gráficos que rodam tanto no Linux como no Windows nativamente.”
Já ouviou falar no Qt?
@marcosalex
A interface do Lazarus foi, na época, um de seus maiores diferenciais, pois a então Borland transformou a interface do Delphi numa cópia da do Visual Studio. O Lazarus foi uma boa pedida para os saudosistas.
@Marcelo Mendes
Sim, sistema legado.
“O Delphi Prism é multi-plataforma, e a comunidade FreePascal tá há mais de 10 anos tentando e ainda estão com uma defasagem de mais de 10 anos com o Delphi. A equipe é muito bem intencionada, mas não sei se falta verba ou mais gente.”
Exagero seu, Marcos Alex, O Lazarus não é o Delphi, mas é muito bom. Tem coisas que nunca vão ser iguais devido a problemas de patentes, essas tem implementação parecida, acontece com alguns componentes.
Além disso, desenvolver no próprio Delphi não é muito seguro, a cada 3 meses muda de dono a marca :D.
Melhor usar o QT Creator que o Designer. Parece ter muito mais opções, tudo integrado. Só lamento ser exclusivamente para C++.
Até nem sei se o Designer não foi descontinuado já.
O Designer é só um programa para desenhar janelas (assim como o glade é no gtk). Ele já vem no mesmo pacote do Qt, por padrão. O Creator é um programa distribuído em separado, e é uma IDE completa, que integra Designer, editor de código com completion e documentação integrada, editor de resources, debugger gráfico, etc. tudo na mesma IDE (assim como qualquer IDE moderna).
@Weber Jr, o designer é usado dentro do Qt Creator. Tenta desinstalar o designer que o qt creator para de funcionar… :-)
O Designer é só um editor de interface, não dá pra editar código lá (aliás, tem um mini editor sim, mas que edita o código da interface, o que é algo muito ruim).
Só acho que deveria haver uma opção no qt creator para desgrudar o editor de interface de dentro dele, pois fica muito apertado, mesmo em monitores maiores.
Um bom editor para c++ + qt4 é o qdevelop, que é integrado ao designer tbm.
@Curioso
Longe estar de Object Pascal ser uma linguagem fácil, quando se faz programas pequenos é realmente simples e fácil de visualizar seus componentes e realmente é organizado.
Contudo quando os programas começam realmente a crescer parece que todo equilibrio e organização simplesmente somem, fica muito difícil entender realmente o código feito por outra pessoa, mesmo seguindo padrões (já dei uma lida em diversos códigos em Object Pascal na época).
Bem verdade é que em C/C++/Java/Ruby/C#/BASH caso não siga alguns padrões de desenvolvimento o seu código fica extremamente difícil de ser entendido, mas quando usa de padrões é muito fácil ler e compreender a maioria das codificações feitas, mesmo elas não possuindo documentação (além do próprio código). Já fiz hacks de programas para se adequar as minhas necessidades nestas linguagens.
Já PHP é ótimo para fazer qualquer aberração de código funcionar como código de legado XD
Se for para usar o Delphi Prism para multi plataforma é melhor usar o C#, pois o mesmo usa .NET para isso. Como o Mono o Delphi Prism sempre vai depender da Microsoft e suas especificações, ficando sempre defasado em relação ao .NET e ao C#.
Em relação a multi plataforma o Freepascal/Lazarus esta bem na frente do Delphi.
“O Creator é um programa distribuído em separado, e é uma IDE completa, que integra Designer, editor de código com completion e documentação integrada, editor de resources, debugger gráfico, etc. tudo na mesma IDE (assim como qualquer IDE moderna).”
Também gosto do poder e da simplicidade do Python, mas o que falta para o mesmo ainda é esta “IDE moderna”, completa. Sei que tem o PyGtk e o PyQT, mas tem que se usar vários programas em separado, e sua integração não é completa.
Na minha opinião o freepascal/Lazarus é a IDE mais fácil e rápida para a programação multi plataforma no momento.
Eu não acho C++ mais difícil que Object Pascal. Então pra mim, o Qt Creator é tão fácil quanto o Lazarus.
haha, só uma lesma como Jack Ripoff para achar que documentação importa mais do que o sistema pronto e rodando…
Oi pessoal sou iniciante em programação,se quiserem emviar-me algumas dicas de programação por favor não se façam de rogados me ajudem.
Estou trabalhando com o Lazarus,pergunto por a afinidade com o Delphi?