Curtas & Tweets

  • Sobre as SCUT, PS e PSD: um diz "esfola mas com carinho" o outro diz "esfola e esquarteja, mas não deixa morrer". 9 semanas 8 horas ago
  • A RTP1 transmitiu ontem o premiado documentário "Esta é a nossa rua". Bom! Assista uma das próximas exibições: http://tinyurl.com/3755pfg 9 semanas 8 horas ago
  • Melhorando a instalação base do Ubuntu - http://alexandrecunha.com/node/163 9 semanas 23 horas ago
  • http://alexandrecunha.com/node/161 Já tenho um Android 17 semanas 3 dias ago
  • Bem, finalmente abri uma conta no Twitter para o meu site pessoal. Depois de um tempo a abrir contas para outros, chegou a minha vez... 17 semanas 4 dias ago

Recuperar desenvolvimento de aplicações Clipper/xBase com xHarbour

logo_xharbourNo final de 2004 fui convidado a integrar um projecto interessante. Uma empresa que desenvolve o seu próprio software de Gestão Comercial e Gestão de Pontos de Venda desde os anos 90, precisa de reformular esse software. Software esse desenvolvido em Clipper, mas devido às limitações do Clipper, e outras questões internas, a sua evolução parou.

O primeiro contacto com esta proposta, não me pareceu nada interessante: reavivar os velhos tempos de desenvolvimento em DOS (tudo o que fiz há mais de 12 anos está esquecido), voltar a mexer em base de dados dbf, voltar aos 16bit quando já pensamos em 64bit, voltar a usar ferramentas que há muito tempo estão desactualizadas, etc ... enfim, nada interessante.

Mas depois de uma melhor análise, reconsiderei. O projecto é motivador: afinal de contas, há novas ferramentas que permitem reciclar e melhorar aplicações escritas para o Clipper. Novas ferramentas permitem portar software para plataformas actuais, desenvolvimento cliente / servidor, e aplicações web. Contudo, a empresa necessita de uma séria reengenharia não só no software, mas também nos seus métodos de trabalho. E isto é um desafio interessante!

Introdução - Um pouco de história

No final da década de 80 e início da década de 90, o xBase (dbase III e logo  seguir o Clipper), eram as linguagens de programação muito utilizadas no desenvolvimentos de software. Era  frequente encontrar programas para gestão de pequenos negócios desenvolvidos com o Clipper. Eu mesmo me iniciei na programação e bases de dados com o DbaseIII, mais tarde usei Clipper Summer 87 e logo depois usei Clipper 5.x profissionalmente para desenvolvimento de software.

O Clipper respondia muito bem às necessidades da época. Permitia o desenvolvimento de aplicações para ambientes DOS de forma rápida, era de fácil aprendizagem, permitia o recurso a um sistema de Base de Dados (dbf) simples mas muito eficiente e tinha um custo muito baixo.

Na altura a quantidade de ferramentas e utilidades que estendiam as funcionalidades do Clipper e permitiam desenvolvimento melhorado de programas, era muito vasta. A comunidade de programadores usando Clipper era grande.

A proliferação de programas escritos em xBase (Clipper, Dbase similares) estendeu-se por inúmeras áreas da industria e serviços: desde aplicações para gestão de empresas, pontos de venda, contabilidade, gestão de produção, retalho e distribuição, serviços financeiros, etc.

Qualquer software house nacional digna desse título e que existisse nos anos 90, teria no seu reportório de produtos alguma coisa feita em xBase/Clipper.

Com o passar do tempo e a evolução da tecnologia e dos produtos, vamos passando de aplicações em modo texto para aplicações em modo gráfico. Apesar das aplicações escritas em Clipper poderem ser executadas em DOS, Windows e OS/2, outras soluções eram exigidas pelo mercado, nomeadamente o suporte para 32 bit e bons interfaces em modo gráfico. A onda do MsWindows arrastou muitos programadores e decisores para soluções para opções focadas exclusivamente na plataforma MS Windows.

O Clipper e as empresas por detrás do produto – no inicio a Nantucket e mais tarde a Computer Associates -  não foram capazes de acompanhar este tendência em devido tempo. A lógica de desenvolvimento fechado, não permitiu a evolução do Clipper. Apesar de terem surgido algumas tentativas que permitiram (e ainda permitem) dar continuidade às soluções desenvolvidas em plataformas xBase:

  • Ca Visual Objects - um produto compatível xBase/Clipper mas que não teve uma adesão de relevo;
  • FoxPro - que mais tarde foi comprado pela Microsoft. Posteriormente surgiu o Visual FoxPro. Esta linha de produtos, permitiu a muitos programadores evoluírem os seus programas xBase/Clipper para ambientes gráficos baseados em Windows
  • Apesar de terem saído no mercado extensões que permitiam desenvolver aplicações pseudo-gráficas em Clipper, estas não tiveram a adesão suficiente e foram mesmo abandonadas.

Em resumo: todas as alternativas que surgiram se baseavam em Software de código fechado e não atraíram os programadores.

A revolução Open Source do Harbour Project

Em 1999 surgiu o projecto Harbour-project.org. Este projecto tinha como objectivo desenvolver um compilador xBase compatível com o CA-Clipper 5.2, que fosse multi plataforma e de código aberto. O resultado disto, é que actualmente existem implementações do Harbour para Linux, DOS, Win32, OS/2 e MacOS. 

Em 2001 e na sequência de conflitos quanto à evolução do projecto Harbour, surgiu um novo projecto com o nome xHarbour.org (Extended Harbour) e com uma perspectiva mais agressiva quanto à evolução do compilador.

O resultado disto, é a existência de um compilador que permite compilar aplicações xBase antigas e novas em diversas plataformas, sendo as mais conhecidas: DOS, Windows, Linux, Unix, OS/2, MAC OS X, FreeBSD. Funcionamento em plataformas 32 bit e 64bit. Uma notável evolução desde os tempos dos DOS. Consequentemente, milhares de aplicações que antes estava restritas a funcionarem em ambientes Dos, passaram a ser facilmente migradas para outros sistemas operativos.

Mas a evolução não se ficou por aqui. Sendo um projecto de Código Aberto, atraiu dezenas de programadores e contribuintes para o projecto que deram do seu tempo para o desenvolvimento do compilador e de extensões. Surgiram vários projectos com finalidades diversas. Alguns exemplos:

  • Várias soluções de desenvolvimento de aplicações em modo gráfico para ambientes MsWindows e Gnu/Linux e Unix.
  • Conectividade a bases de dados diversas: mySql, PostgreSql, Microsoft Sql, Oracle
  • Uso de queries SQL sobre dbf;
  • Ambientes de desenvolvimento em modo gráfico (IDE) – FiveWin, xHarbour Builder;
  • Ferramentas para geração de relatórios;
  • Bibliotecas para desenvolvimento para colocar aplicações Cliper/xHarbour na web;
  • e muitas outras bibliotecas com diversas finalidades.

Conclusão

Com isto tudo, a conversão de aplicação Clipper para novas realidades tecnológicas fica facilitada.  Dado que o seu uso e aprendizagem é muito simples e considerando a diversidade de recursos disponíveis, o desenvolvimento de raiz de de aplicações com xHarbour é certamente uma alternativa interessante.

Eu espero que este artigo tenha sido útil para elucidar sobre formas de actualizar aplicações escritas em Clipper.
Se tiver alguma questão, por favor contacte-me.
 

Opções de visualização dos comentários

Seleccione a sua forma preferida de visualização de comentários e clique "Gravar configuração" para activar as suas alterações.

Re: Recuperar desenvolvimento de aplicações Clipper/xBase com xH

interessante este comentario, me interesso mais pelo assunto

Re: Recuperar desenvolvimento de aplicações Clipper/xBase com xH

Este artigo mostra bem as vantagens do opensource. Se logo desde cedo o clipper se tivesse tornado código aberto, não teria passado pelas dificuldades que passou e teria beneficiado todos de um jeito melhor.

 

 

Re: Recuperar desenvolvimento de aplicações Clipper/xBase com xH

Like most dynamic languages, xHarbour is also available as a scripting language (standalone application, linkable library, MS ActiveScript engine utilizing an interpreter written in the xHarbour language.

Re: Recuperar desenvolvimento de aplicações Clipper/xBase com xH

Apesar de antigo, este artigo é muito interessante, me deu uma nova alternativa para acesso aos dados em DBF, gostaria de compartilhar aqui, uma das tecnologias utilizadas em upgrades de 16 para 32 bits é o XBase++ da empresa alemã Alaska Software, linguagem bem similar ao Clipper que com alguns ajustes compila software deste. Abraços e Muito Obrigado pela Dica.

Re: Recuperar desenvolvimento de aplicações Clipper/xBase ...

Bom Dia a todos!!!

Sou clippeiro desde a época do summer´s...

Já passei pelo Munphs, Java, C# e sem sombra de dúvidas o [x]HARBOUR é uma excelente ferramenta.

Utilizo a FiveWin.lib em conjunto.

Agora gostaria de saber todos os pulos do gato para utilização do xHDN.

Sucesso a todos!

Re: Recuperar desenvolvimento de aplicações Clipper/xBase ...

Olá. Muito bom esse seu artigo. Era essa informação que eu buscava já vai algum tempo.

Submeter um novo comentário

O conteúdo deste campo é privado e não irá ser exibido publicamente.
CAPTCHA
Esta verificação serve para garantir que este função está a ser usada por um utilizador legítimo.
7 + 12 =
Solve this simple math problem and enter the result. E.g. for 1+3, enter 4.
Sobre o autor: Alexandre Cunha é consultor e gestor de projectos focados para a comunicação web. Tem mais de 8 anos de experiência em projetos web. Pode conhecer mais sobre a sua experiência profissional ou conhecer mais sobre os serviços que lhe pode prestar. Para qualquer informação, entre em contacto.