É 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: 78.664 ]

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


Desenvolvimento



A ideia para o desenvolvimento surgiu da necessidade de uma fundação cuja principal atividade é a pesquisa e presta serviços de controle de projetos a qual fica responsável também o gerenciamento de suas receitas e despesas, necessitando de um sistema que atenda a essa demanda.

A missão do SUF é ser uma ferramenta de software que satisfaça as necessidades da fundação, tanto para lançamentos financeiros como para realizar consultas proporcionando aos usuários agilidade em suas atividades.

A modelagem do SUF foi criada seguindo o documento de requisitos e o de caso de uso do Praxis e em seguida as tabelas com os respectivos relacionamentos no banco de dados. Os casos de uso do sistema podem ser vistos na figura 4.
Linux: É possível usar o Lazarus em alternativa ao Delphi para desenvolver aplicações comerciais?
Figura 4 - Diagrama de Caso de Uso do Sistema SUF
Fonte: Autoria própria

Para o gerenciamento do banco de dados, foi usado o Firebird, visando algumas das suas vantagens como: exige pouco processamento, pode ser instalado em computadores mais antigos, evitando assim que se faça novos investimentos, gerencia bem banco de dados pequenos, é multi-plataforma e gratuito, mais comumente usado por programadores Delphi.

Na etapa seguinte foi desenvolvido o protótipo do SUF no Delphi. O desenvolvimento inicializou com a criação de uma tela padrão de cadastro da qual seriam herdadas as funcionalidades para construção das demais telas de cadastro reaproveitando o código. Ao final da criação das telas foram desenvolvidos os relatórios do sistema para a apresentação dos dados de forma mais agradável e organizada ao usuário.

Em seguida, o protótipo do SUF foi migrado para a plataforma do Lazarus, seguindo o mesmo processo de criação no Delphi. Após a instalação dos componentes, foram desenvolvidas, assim como no Delphi, as telas de cadastro reaproveitando o código já escrito no protótipo do Delphi. Para esta tarefa foi utilizada a ferramenta de migração de formulários disponível no Lazarus.

Durante o desenvolvimento do protótipo no Lazarus foi feito o levantamento das dificuldades encontradas na implementação para a comparação posterior.

A plataforma de hardware usada para o desenvolvimento do SUF, tanto no Delphi como no Lazarus, foi um notebook Amazon PC com processador Turion 64x2 1.6GHz, 250 GB de disco rígido e 4 GB de memória RAM.

Página anterior     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

Remasterizando o Kurumin

LXQT Desktop no Slackware

Projeto OpenFarm

Elastix - Identificação de chamadas pelo nome do chamador

Instalação do Debian 3.1r2 Sarge como servidor

  
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