Durante décadas, a instalação de componentes e bibliotecas sempre foi uma das tarefas mais trabalhosas para desenvolvedores Delphi. Embora fornecedores como TMS Software, DevExpress, Fast Reports, ACBr e diversos projetos open source tenham evoluído seus mecanismos de distribuição, a realidade ainda envolve instaladores específicos, configurações manuais, ajustes em Library Path, compilação de pacotes e resolução de dependências.
Enquanto outras plataformas adotaram soluções modernas como npm, NuGet, Maven e pip, o ecossistema Delphi permaneceu dependente de abordagens tradicionais para gerenciamento de componentes.
Com o lançamento do projeto open source Smart Setup, a TMS Software propõe uma mudança significativa nesse cenário. Mais do que um simples instalador, o projeto surge como uma plataforma para automação de builds, gerenciamento de dependências e distribuição de bibliotecas Delphi, C++Builder e Lazarus/FPC.
A pergunta que surge é inevitável: Será que finalmente estamos diante de um verdadeiro gerenciador de pacotes para Delphi?
O Problema Atual do Ecossistema Delphi
Independentemente da experiência do desenvolvedor, praticamente todos já passaram por situações como:
- Formatar uma máquina e precisar reinstalar dezenas de componentes.
- Configurar o mesmo ambiente em vários computadores da equipe.
- Resolver conflitos entre versões diferentes de bibliotecas.
- Ajustar caminhos manualmente após atualizações.
- Automatizar builds em servidores de integração contínua.
- Garantir que todos os desenvolvedores estejam utilizando exatamente as mesmas versões dos componentes.
Em projetos corporativos, essas dificuldades se tornam ainda mais evidentes. Pequenas diferenças de configuração entre ambientes podem gerar erros difíceis de reproduzir e consumir horas de trabalho em diagnósticos.
Esse problema não é exclusivo do Delphi. Linguagens modernas enfrentaram o mesmo desafio anos atrás e resolveram a questão através de gerenciadores de pacotes e dependências.
O Smart Setup tenta trazer exatamente esse conceito para o universo Delphi.
O Que é o Smart Setup?
O Smart Setup é uma ferramenta open source desenvolvida pela TMS Software para automatizar a instalação, compilação e gerenciamento de projetos e bibliotecas Delphi, C++Builder e Lazarus/FPC.
O projeto foi inicialmente criado para simplificar a instalação dos componentes da própria TMS, mas evoluiu para uma solução genérica capaz de trabalhar com bibliotecas de terceiros, projetos internos e componentes open source.
A ferramenta disponibiliza duas formas de utilização.
Interface de Linha de Comando
Através do executável tms, permitindo integração com scripts e pipelines automatizados.
Exemplo:
tms server-enable community
tms install cesarliws.dext
Interface Gráfica
Através do utilitário tmsgui, oferecendo uma experiência visual para busca, instalação e atualização de bibliotecas.
Muito Além de um Instalador
O maior diferencial do Smart Setup é que ele não se limita a copiar arquivos ou registrar pacotes, seu objetivo é atuar como uma plataforma completa de build e distribuição, entre seus recursos estão:
- Instalação automatizada de bibliotecas.
- Gerenciamento de dependências.
- Compilação de pacotes.
- Controle de versões.
- Distribuição de componentes.
- Integração com CI/CD.
- Suporte a Delphi, C++Builder e Lazarus.
- Execução via linha de comando ou interface gráfica.
Essa abordagem aproxima o Delphi dos modelos utilizados atualmente em plataformas modernas de desenvolvimento.
O Arquivo tmsbuild.yaml
O coração do Smart Setup é o arquivo tmsbuild.yaml, ele funciona como uma descrição declarativa da biblioteca ou aplicação, nesse arquivo podem ser definidos:
- Nome do produto.
- Frameworks suportados.
- Versões compatíveis do Delphi.
- Plataformas suportadas.
- Dependências.
- Pacotes runtime.
- Pacotes design-time.
- Configurações de compilação.
- Links e atalhos.
- Configurações de distribuição.
Na prática, o arquivo passa a representar toda a lógica necessária para instalar e compilar um projeto, isso elimina a dependência de documentação manual e reduz significativamente erros de configuração.
Dependências Finalmente Como Cidadãs de Primeira Classe
Um dos aspectos mais interessantes do Smart Setup é o tratamento de dependências, o sistema permite definir dependências obrigatórias e opcionais entre produtos e pacotes, isso significa que uma biblioteca pode informar explicitamente quais outros componentes precisam estar presentes para funcionar corretamente.
Além disso, o sistema suporta dependências fracas (weak dependencies), permitindo que determinados pacotes sejam compilados apenas quando componentes específicos estiverem instalados, esse conceito é extremamente comum em ecossistemas modernos, mas ainda é relativamente raro no desenvolvimento Delphi tradicional.
Smart Setup e Integração Contínua
Talvez o maior benefício para equipes de desenvolvimento esteja na integração com ferramentas de CI/CD, como todas as operações podem ser executadas via linha de comando, torna-se possível automatizar completamente a preparação do ambiente em servidores de build.
Entre os cenários possíveis:
- GitHub Actions.
- Azure DevOps.
- Jenkins.
- TeamCity.
- GitLab CI.
Além disso, o Smart Setup oferece compilação paralela e gerenciamento automático das dependências de build, permitindo que apenas os módulos afetados sejam recompilados quando necessário.
Para empresas que mantêm dezenas de bibliotecas internas, isso pode representar uma redução significativa no tempo de compilação e manutenção.
Smart Setup, GetIt, Boss e Instalação Tradicional
Uma das dúvidas mais comuns ao conhecer o Smart Setup é entender como ele se posiciona em relação às ferramentas já existentes no ecossistema Delphi.
Instalação Tradicional
É o método utilizado há décadas.
Normalmente envolve:
- Download manual.
- Execução de instaladores.
- Configuração de Library Path.
- Compilação de pacotes.
- Registro manual na IDE.
Vantagens:
- Funciona com praticamente qualquer componente.
- Não exige ferramentas adicionais.
Desvantagens:
- Difícil de automatizar.
- Pouco reproduzível.
- Dependente de intervenção manual.
- Complexo para equipes e servidores de build.
GetIt
O GetIt foi introduzido pela Embarcadero para simplificar a instalação de componentes diretamente pela IDE.
Vantagens:
- Integrado ao Delphi.
- Interface amigável.
- Instalação simplificada.
Desvantagens:
- Catálogo limitado.
- Dependência da Embarcadero.
- Pouca flexibilidade para bibliotecas privadas.
- Foco em distribuição, não em automação de builds.
O GetIt resolveu parte do problema da distribuição, mas não se tornou um gerenciador de dependências completo.
Boss
O Boss surgiu inspirado em ferramentas como Composer, npm e NuGet, seu objetivo é facilitar o consumo de bibliotecas open source Delphi diretamente de repositórios Git.
Vantagens:
- Simples.
- Baseado em Git.
- Popular na comunidade open source.
- Fácil integração com projetos.
Desvantagens:
- Não realiza instalação completa na IDE.
- Não gerencia pacotes design-time.
- Não automatiza builds de componentes.
- Menor foco em ambientes corporativos.
- Não funciona com componentes comerciais
O Boss é excelente para consumo de código-fonte, mas não resolve completamente a instalação de componentes visuais e bibliotecas comerciais.
Smart Setup
O Smart Setup segue uma proposta diferente, seu foco está em:
- Instalação.
- Build.
- Distribuição.
- Dependências.
- Automação.
- Integração com IDE.
- Integração com CI/CD.
Na prática, ele se posiciona mais próximo do que ferramentas como NuGet, Maven ou npm representam em seus respectivos ecossistemas, seu objetivo não é apenas baixar código, mas gerenciar todo o ciclo de vida de bibliotecas Delphi.
Comparativo Resumido
| Recurso | Instalação Tradicional | GetIt | Boss | Smart Setup |
|---|---|---|---|---|
| Instalação automatizada | Parcial | Sim | Sim | Sim |
| Gerenciamento de dependências | Não | Limitado | Sim | Sim |
| Integração com IDE | Sim | Sim | Não | Sim |
| Instalação de componentes visuais | Sim | Sim | Limitado | Sim |
| Suporte a CI/CD | Não | Limitado | Sim | Sim |
| Build automatizado | Não | Não | Não | Sim |
| Registro centralizado | Não | Sim | Parcial | Sim |
| Bibliotecas privadas | Sim | Limitado | Sim | Sim |
| Reprodutibilidade de ambientes | Baixa | Média | Média | Alta |
Analisando a tabela, fica evidente que o Smart Setup não pretende substituir apenas instaladores tradicionais. Sua proposta é consolidar em uma única plataforma funcionalidades que atualmente estão distribuídas entre diversas ferramentas.
O Surgimento de um Ecossistema Compartilhado
Uma das novidades mais relevantes introduzidas na versão 2.0 foi o conceito de Registry, a ideia é disponibilizar um catálogo público onde bibliotecas Delphi possam ser registradas e instaladas diretamente através do Smart Setup.
Segundo a TMS Software, qualquer desenvolvedor poderá publicar suas bibliotecas e disponibilizá-las para instalação através da ferramenta, isso abre caminho para algo que o Delphi nunca teve de forma amplamente adotada: um ecossistema centralizado de distribuição de componentes.
Se a iniciativa alcançar adesão da comunidade, poderemos ter uma experiência semelhante ao NuGet no .NET ou ao npm no JavaScript.
Como Isso Impacta Desenvolvedores Delphi
Caso o Smart Setup alcance adoção significativa, alguns benefícios podem se tornar padrão no desenvolvimento Delphi.
Menor Tempo de Configuração
Novos desenvolvedores podem preparar ambientes completos em minutos.
Ambientes Reproduzíveis
Todos os membros da equipe utilizam exatamente as mesmas versões dos componentes.
Builds Mais Confiáveis
Redução de problemas causados por diferenças de configuração entre máquinas.
Automação Real
Integração natural com pipelines de DevOps.
Distribuição Simplificada
Projetos open source e comerciais podem compartilhar o mesmo mecanismo de instalação.
Menor Dependência de Instaladores
A lógica de instalação passa a estar documentada em arquivos de configuração versionados.
Desafios Que Ainda Existem
Apesar do enorme potencial, alguns desafios permanecem, o principal deles é a adoção pela comunidade, um gerenciador de pacotes só se torna realmente valioso quando existe uma quantidade significativa de bibliotecas disponíveis.
Também será necessário que fornecedores de componentes adaptem seus produtos ao modelo do Smart Setup e mantenham seus pacotes atualizados.
Outro desafio será a coexistência com soluções já utilizadas pela comunidade, como instaladores próprios, GetIt e outras abordagens de distribuição.
O sucesso do projeto dependerá menos da tecnologia em si e mais do engajamento do ecossistema Delphi como um todo.
Minha Opinião
Se existe um momento de renovação no ecossistema Delphi, ele passa necessariamente por iniciativas como o Smart Setup e o DEXT (https://github.com/cesarliws/dext/). São projetos que atacam problemas históricos da plataforma e demonstram que a comunidade continua evoluindo, inovando e construindo soluções alinhadas às práticas atuais da engenharia de software. Não é exagero afirmar que ambos possuem potencial para marcar uma nova fase na evolução do Delphi, da mesma forma que outras grandes iniciativas marcaram gerações anteriores de desenvolvedores.
Não porque resolve apenas a instalação de componentes, mas porque introduz conceitos modernos de gerenciamento de dependências, automação de builds e reprodutibilidade de ambientes, o Delphi sempre foi extremamente forte em produtividade de desenvolvimento, mas historicamente ficou atrás de outras plataformas quando o assunto era gerenciamento de pacotes e automação de infraestrutura.
O Smart Setup tem potencial para reduzir essa diferença.
Ainda é cedo para afirmar que ele se tornará o padrão definitivo da comunidade, mas certamente é um projeto que merece atenção de desenvolvedores independentes, empresas de software e fornecedores de componentes.
Na minha visão, o verdadeiro valor do Smart Setup não está em substituir instaladores. Está em criar uma base tecnológica capaz de sustentar um ecossistema moderno de distribuição de bibliotecas Delphi para os próximos anos.
Conclusão
O Smart Setup não deve ser visto apenas como mais uma ferramenta da TMS Software, ele representa uma tentativa concreta de modernizar a forma como componentes e bibliotecas são distribuídos, instalados e mantidos no ecossistema Delphi.
Ao trazer conceitos já consolidados em outras plataformas, como gerenciamento de dependências, builds reproduzíveis, registros centralizados e integração com CI/CD, o projeto aponta para um futuro mais automatizado e menos dependente de configurações manuais.
Se a comunidade abraçar a proposta, o Smart Setup poderá se tornar um dos pilares do desenvolvimento Delphi moderno, mais importante do que a ferramenta em si é a mudança de mentalidade que ela propõe: tratar componentes, bibliotecas e dependências Delphi da mesma forma que as plataformas mais modernas do mercado já fazem há muitos anos.
E talvez seja exatamente essa evolução que faltava para aproximar ainda mais o Delphi das práticas atuais de engenharia de software.
Referências
TMS SOFTWARE. TMS Smart Setup. GitHub. Disponível em: https://github.com/tmssoftware/smartsetup. Acesso em: 18 jun. 2026.
TMS SOFTWARE. Smart Setup Documentation. Disponível em: https://doc.tmssoftware.com/smartsetup/. Acesso em: 18 jun. 2026.
TMS SOFTWARE. Creating SmartSetup Bundles. Disponível em: https://doc.tmssoftware.com/smartsetup/guide/creating-bundles.html. Acesso em: 18 jun. 2026.
TMS SOFTWARE. Using SmartSetup in Continuous Integration (CI). Disponível em: https://doc.tmssoftware.com/smartsetup/guide/continuous-integration.html. Acesso em: 18 jun. 2026.
GALLEGO, Adrian. TMS Smart Setup 2.0 – A Major Leap Forward for Delphi Developers. TMS Software Blog, 25 ago. 2025. Disponível em: https://www.tmssoftware.com/site/blog.asp?post=2378. Acesso em: 18 jun. 2026.
TMS SOFTWARE. Release Notes – Smart Setup. Disponível em: https://doc.tmssoftware.com/smartsetup/guide/release-notes.html. Acesso em: 18 jun. 2026.
DELPHI PRAXIS. TMS Smart Setup is now open source. Disponível em: https://en.delphipraxis.net/topic/13672-tms-smart-setup-is-now-open-source/. Acesso em: 18 jun. 2026.
Descubra mais sobre Régys Borges da Silveira
Assine para receber nossas notícias mais recentes por e-mail.
Dê-nos sua opinião, seu comentário ajuda o site a crescer e melhorar a qualidade dos artigos.