Bibliotecas Delphi Open Source

Para demonstrar como nem tudo na vida é objeto, apresento uma lista de bibliotecas Delphi de excelente qualidade escritas em grande parte em código procedural. São também exemplos de códigos bem escritos, leves e eficientes. Todas são open source e freeware.

Fastcode Chalenge

Fastcode é um desafio público de quem escreve o código mais eficiente para substituir as funções regulares da RTL do Delphi. O projeto está ativo e uma-a-uma vão sendo publicadas novas versões de funções, geralmente em assembly inline. O negócio é tão sério que algumas das funções foram até integradas nas últimas versões do Delphi, substituindo as versões originais da Borland.

FastMM

FastMM é um clássico. É um gerenciador de memória alternativo que transparentemente aumenta a eficiência das aplicações Delphi, melhorando a forma como são alocados e liberados os blocos de memória pelo programa. Passou a ser o gerenciador default no BDS 2006. Se você usa uma versão anterior do Delphi, então não pode deixar de adotar a FastMM.

Delphi Fast Zlib

Uma biblioteca para compressão e descompressão ZIP muito mais rápida que aquela disponível no Delphi, sem necessidade de DLLs. Fast Zlib detecta os recursos de hardware disponíveis e utiliza o código otimizado para o processador disponível, incluindo código para processadores P6 e alinhamento de 64 bits. Trabalha direto com Strings e classes TStream. Também suporta compressão compatível com HTTP deflate, para enviar conteúdo compactado direto aos browsers.

Synapse Library

Synapse é uma respeitadíssima biblioteca de comunicação TCP/IP super-light que você pode usar no lugar do Indy. Tem uma abordagem diferente: comunicação síncrona (blocking) e no lugar de objetos um conjunto muito simples de funções procedurais.

DCPcrypt

Um pacote open-source de criptografia “séria” em Delphi. Suporta todos os principais algoritmos de criptografia:

E os algoritmos de hash codes:

JEDI Code Library

A popular JCL é uma riquíssima biblioteca de funções utilitárias e classes não visuais. Foi construída sobre código doado pela comunidade Delphi e organizada pelo pessoal do projeto JEDI, que reformatou o código para manter um padrão, testou, documentou e reuniu os fontes em uma biblioteca.

A JCL é organizada nas categorias:

Um amigo diz que quando precisa de qualquer código diferente do habitual primeiro procura se já não existe na JCL, simplesmente porque tem tudo lá.

TurboPower SysTools

SysTools é outra extensa biblioteca de código de propósito geral. Foi produzida e comercializada pela TurboPower de 1996 até 2001, quando foi liberada como open-source. Tem como diferenciais a qualidade de código superior da equipe TurboPower e uma documentação extraordinária, incluindo um manual em PDF com mais de 1000 páginas.

A maior parte da biblioteca é de classes não visuais, mas ainda assim tem muito código procedural. A propósito, ironicamente não é que tem lá uma classe String?! Como era de se esperar (veja o artigo anterior), a classe TStString não tem nem ancestrais, nem descendentes e todas as funções da classe também são disponíveis em outra unit como código procedural. A classe é bonitinha, mas ordinária. Na prática, você acaba não usando a classe nunca, já que é tão mais fácil e eficiente usar as rotinas de manipulação de strings isoladamente.

A SysTools é organizada nas categorias:

Comments

Deixe uma Resposta




XHTML: Você pode usar essas tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="">