É possível usar o Lazarus em alternativa ao Delphi para desenvolver aplicações comerciais?

O Lazarus é um ambiente de desenvolvimento integrado que tem como objetivo ser compatível com a sintaxe Delphi, além de suportar diversas arquiteturas e sistemas operacionais diferentes. Porém, é comum existir a dúvida se o software livre, nesse caso o Lazarus, é capaz de substituir inteiramente o proprietário, Delphi, na tarefa de construir um sistema.

[ Hits: 77.778 ]

Por: Evaldo Avelar Marques em 15/07/2010 | Blog: http://evaldoavelar.blogspot.com/


Introdução



IDE (integrated Development Environment) de desenvolvimento são ferramentas fundamentais para o desenvolvimento de sistemas, pois agilizam e facilitam o trabalho do programador. No entanto, há um problema no uso de ferramentas proprietárias, como o Delphi para o desenvolvimento de aplicações comerciais: o alto custo das licenças de uso, o que leva muitas vezes os desenvolvedores e as empresas ao uso da pirataria. Dessa necessidade surgem como alternativas os softwares de licença livre.

O Lazarus é um ambiente de desenvolvimento integrado que tem como objetivo ser compatível com a sintaxe Delphi, alem de suportar diversas arquiteturas e sistemas operacionais diferentes. Porém, é comum existir a dúvida se o software livre, nesse caso o Lazarus, é capaz de substituir inteiramente o proprietário, Delphi, na tarefa de construir um sistema.

Como modo de avaliação, foi proposta a ideia de construir um mesmo aplicativo no Delphi e no Lazarus que atendesse aos requisitos básicos de uma aplicação comercial. Desta forma seria possível medir as dificuldades e ao mesmo tempo avaliar o ambiente no Lazarus. Para este fim foi proposto o desenvolvimento do SUF, software de utilização financeira, que tem como objetivo ser uma ferramenta de apoio ao departamento financeiro de uma Fundação.

A escolha do SUF foi pelo fato de que seus requisitos continham características que interessavam a este experimento como ser multi-usuários, fazer acesso a banco de dados, ter cadastrado e pesquisa nos dados, possuir relatórios gerenciais e ser aplicação estável e confiável para uso no dia-a-dia.

    Próxima página

Páginas do artigo
   1. Introdução
   2. Ambientes de desenvolvimento
   3. Desenvolvimento
   4. Ambiente Delphi
   5. Implementação no Lazarus e limitações encontradas
   6. Conclusões
Outros artigos deste autor

Firebird, fazendo valer o lado do servidor

Quando é que eu vou usar isso na minha vida?

Software envelhece?

Leitura recomendada

Compilando e otimizando KDE 3.x

Introdução ao APLINUX.com.br Mail Server 2005

Ginga-NCL no Ubuntu 10.04

Paravirtualização com o Xen

Instalando o APT-GET no Fedora Core

  
Comentários
[1] Comentário enviado por brian_ch em 15/07/2010 - 21:58h

Nossa, parabéns, essa foi uma avaliação muito completa, além dos problemas citados uma das coisas que eu achei problemática foi o som, o lazarus não vem com uma ferramenta que possibilite colocar sons na aplicação, eu testei um componente chamado ACS que só consequi instalar usando uma resposta postada no forúm do lazarus e ainda não obtive resultados com ele (nem com o openAL outra opção para usar aúdio nas aplicações), seria possivel usar recursos do SO para isso, mas ai a aplicação não seria multi-plataforma.

O debugger realmente precisa melhorar já que é algo essêncial no desenvolvimento, outro problema que eu encontrei foi não conseguir conectar com o mysql5.1 o que eu não sei se tem solução.

Mas justamente por não ser ainda uma ferramenta completa é que precisamos tentar ajudar, sempre vejo muitas criticas ao lazarus por aí mas não gosto dessa atitude de querer tudo na mão, tudo pronto, a coloboração é que faz a beleza do open source.

[2] Comentário enviado por ParadoxDK em 16/07/2010 - 09:54h

Evaldo, você está de parabéns!

Sou programador Delphi e já utilizei o Lazarus para trabalhar no Linux, e, acompanhando seu crescimento, o Lazarus tem uma ótima compatibilidade com programadores Object Pascal migrados do Delphi, apesar de alguns incovenientes como a questão do áudio em aplicações, como o Brian comentou, se torna muito mais viável e rápido do que desenvolver com fpc na unha.

Muito bom este artigo!

[3] Comentário enviado por erlantz em 17/07/2010 - 03:57h

Também parabenizo pela ótima iniciativa. Este é um tipo de trabalho que ajuda muito a comunidade e divulga cada vez mais o software livre.
Sobre a questão do tamanho dos executáveis, se não me engano há um utilitário na instalação do lazarus chamado strip que ajuda a reduzir o tamanho do programa após compilado.
Uma sugestão é fazer o mesmo tipo de avaliação para uma aplicação em Visual C# que tem como opção o Mono.

[4] Comentário enviado por zendrael em 17/07/2010 - 11:04h

Olá!

O Lazarus é muito bom e, fora o som, supre perfeitamente as necessidades do Delphi. Para comandos específicos de Windows, declarar a lib "windows" no uses do arquivo principal do projeto. Para diminuir o tamanho do executável, não precisa desabilitar o debug; só utilizar o strip e o upx que vem junto com o lazarus (tanto no linux quanto no windows ou mac....)
É legal comentar também que o Lazarus pode ser útil para aplicativos WinCE e compila também projetos para gameboy e está já compilando alguns projetos simples para iPhone. Além de possibilitar a escolha da biblioteca gráfica que você deseja (GTK, QT...).
T+

[5] Comentário enviado por daigo em 17/07/2010 - 11:06h

Gostei da matéria. A avaliação, principalmente dos pontos negativos, serve para prevenir quem pretende migrar, independente de ser no Linux ou no concorrente. Infelizmente, o Lazarus não encontra-se no repositório do Lenny e quando tento instalar a versão disponível no site, faltam muitas dependências; engraçado que no Ubuntu, ele está disponível, então, quando quero fuçar, uso a source-list dele e faço a instalação sem muitos problemas.
Um incomodo que acho com relação ao Lazarus no concorrente do Linux é com relação ao tamanho ocupado do HD (não lembro o tamanho certo agora). A interface é feita em que? Como poderíamos colaborar seja financeiramente ou com código para acelerar o desenvolvimento?

Para quem não conhece, existe um projeto nacional muito bom desenvolvido em Lazarus, chama-se Jubarte (http://sites.google.com/site/jubartecalc/).

[6] Comentário enviado por vinyanalista em 18/07/2010 - 07:58h

Isso aí, excelente artigo. Favoritei.

Tenho pesquisado sobre o Lazarus por esses dias, pensei em utilizá-lo no meu TCC, mas diante de problemas como os citados aqui decidi usar Delphi: não consegui conectar com as versões mais recentes do Firebird e do MySQL (tentei inclusive a Zeos Library, sem sucesso), a depuração não é muito eficiente e algumas funções que fazem chamada direta à API do Windows não estão disponíveis.

Mesmo assim, estarei publicando aqui no Viva o Linux este mês o que consegui achar sobre o Lazarus, os artigos já estão em produção.

A maior vantagem do Lazarus sobre o Delphi, na minha opinião, é a possibilidade de gerar executáveis para diversas plataformas a partir do mesmo código (o slogan do Lazarus ilustra essa idéia: "write once, compile everywhere"). Consegui nas minhas experiências gerar programas com threads que funcionassem tanto em Windows quanto em Linux. É bem verdade que você tem que fazer alguns poucos ajustes para um sistema ou outro, mas acho que em pelo menos 90% não foi necessário realizar nenhum tipo de ajuste ou adaptação.

Com relação à ferramenta strip, utilizada para reduzir o tamanho dos executáveis gerados pelo Lazarus, citada pelo amigo Fernando (erlantz), já existe uma dica aqui mesmo no VOL ensinando a utilizá-la:

http://www.vivaolinux.com.br/dica/Lazarus-Reduzindo-o-tamanho-dos-executaveis/

E com relação à configuração na IDE que reduz o tamanho dos executáveis, citada pelo autor do artigo na página 5, estarei publicando uma dica em breve e assim que publicá-la posso compartilhar aqui o link. Quem já precisar dela pode encontrar mais informações a respeito nesta página (em inglês):

http://wiki.lazarus.freepascal.org/Lazarus_Faq

Um abraço a todos e até a próxima.

[7] Comentário enviado por janunesdemor em 19/07/2010 - 11:29h

Excelente o seu artigo, eu utilizo o Lazarus para fazer os meus testes, e sei dos problemas que você citou, mas o diferencial do Lazarus está em ser código aberto e grátis. Eu sugiro aos demais colegas repassarem estas informações preciosas que você repassou, para os desenvolvedores do projeto para melhorar e adpatar o projeto Lazarus.

Pois, como você disse é uma ferramenta promissora.

Acho que ele não precisa ser igual ao Delphi, mas em geral precisa ser melhorado, acho ainda, que a saída é melhorar os conversores de código delphi, pois o Lazarus deve ter vida própria e não ser uma cópia do Delphi, na verdade, na minha visão é eles que tem que andar atrás do Lazarus e não o inverso.


Eu, utilizei o Windows por decadas "Windows 3.x, Windows 95, Windows 98, Windows ME, Windows XP, etc." e desde 1999 venho utilizando o Linux, gosto mais do Linux do que do Windows, embora quem usa o Linux sabe tem vezes que você é obrigado a utilizar o Windows para utilizar Alguns prerifericos... como exemplo placas wireless, para internet via Radio, uma marca que o fabricante disponibiliza drivers é a Ralink, na verdade o Site é o ralinktech.com.

Placas de Som profissional não encontrei nenhuma que utilize Linux. Precisamos fazer o que for possivel para preencher esta lacuna.

Amigo... seu artigo é simplesmente sensacional, parabéns.

[8] Comentário enviado por vinyanalista em 21/07/2010 - 10:13h

Como prometido, dica publicada:

http://www.vivaolinux.com.br/dica/Reduzindo-o-tamanho-dos-executaveis-gerados-pelo-Lazarus-(via-IDE)

Um abraço a todos e até a próxima

[9] Comentário enviado por vinyanalista em 25/08/2010 - 10:08h

Algo interessante que achei na Internet e que tem tudo a ver com esse artigo:

http://wiki.freepascal.org/Lazarus_Components

Essa página é uma comparação entre os componentes disponíveis no Turbo Delphi (da Borland) e os disponíveis no Lazarus.

[10] Comentário enviado por jepafi em 15/06/2011 - 09:12h

Foi lançado o livro Desenvolvendo Aplicativos com Lazarus em Português

O livro tem 346 páginas divididas em 14 capítulos e 5 Apêndices.

Veja imagens dos projetos desenvolvidos no Livro Desenvolvendo Aplicativos com Lazarus aqui:

http://www.jpsoft.com.br/index.php/ide-lazarus/8-noticias/59-imagens-dos-projetos-do-livro-desenvolv....

Comprar no Brasil:

http://www.agbook.com.br/book/46758--Desenvolvendo_Aplicativos_com_Lazarus

http://www.clubedeautores.com.br/book/33568--Desenvolvendo_Aplicativos_com_Lazarus

Compras Internacionais (International Shopping):

http://www.lulu.com/product/paperback/desenvolvendo-aplicativos-com-lazarus/16028947

Leia o sumário, a introdução e o primeiro capítulo aqui:

http://www.jpsoft.com.br/Desenvolvendo_Aplicativos_com_Lazarus_Amostra.pdf

[11] Comentário enviado por mmarcaro em 25/01/2012 - 09:22h

Ótimo artigo !...
Obrigado !

[12] Comentário enviado por losmorgados em 17/02/2012 - 18:54h

Muito bom esse artigo!!! Parabéns esclareceu minhas dúvidas.

A única coisa que gostaria de saber e qual banco de dados que o lazarus vem como padrão é o InterBase tbm???
Abraço.

[13] Comentário enviado por evaldoavelar em 17/02/2012 - 18:58h

Na verdade o Lazarus não vem com banco de dados. Ele traz componentes para conectar a alguns bancos, entre eles o interbase.

[14] Comentário enviado por gibroh@hotmail.c em 18/08/2014 - 17:43h

eu uso Lazarus desde 2004 (versão 0.9.24) e ele nunca me deixou na mão.
O fato de você saber usar o Tmenu de uma forma no Delphi e não saber como usar no Lazarus não significa que ele é ruim.
Em todoas as aplicações ele me serviu com ZEOS, etc. Podem criadas aplicações comerciais nele.Basta mais empenho dos profissionais.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts