Stickybit.← MigrarMigrar · Delphi → web em Go e TypeScript · revisado em 26 out 2026
Sistema · Delphi → web

Migrar Delphi para web sem parar a empresa e sem reescrever tudo de uma vez.

O sistema em Delphi funciona. O problema é tudo em volta dele: instalar em cada máquina, não abrir no celular, não conversar com nada moderno, e o único desenvolvedor que o conhece estar perto de se aposentar. A migração para web não é uma tradução de código. É extrair as regras que moram nos formulários e no banco, reescrevê-las com teste, e trocar o sistema um módulo por vez, sobre o mesmo banco, com o Delphi rodando ao lado até o fim.

Conversar sobre esta migração Ver o preço de referência

Fatos das plataformas conferidos em 26 out 2026. Preço e prazo são de referência, para a loja ou sistema típico descrito na ficha.

Ficha · Delphi → web em Go e TypeScript
5 mesesprazo para o sistema típico
R$ 180 milpreço de referência
6 sematé o primeiro módulo em uso
0 hde operação parada

Sistema típico deste par: cerca de 40 telas, um banco Firebird ou SQL Server, emissão fiscal, 15 relatórios e até 50 usuários. A auditoria de legado de 2 semanas vem antes e é descontada do projeto.

Por que este par

Quem busca isso já decidiu migrar.

Quem busca migrar Delphi para web já tentou as alternativas. Contratar outro programador Delphi é cada vez mais caro e demorado. Comprar um sistema de prateleira significa perder vinte anos de regras que só existem no seu sistema. Reescrever do zero com uma equipe interna costuma parar no meio. A pergunta que resta é como trocar sem risco, e a resposta é não trocar tudo de uma vez.

O que torna o Delphi diferente de outros legados é onde a lógica mora. Está nos eventos dos formulários, misturada com a tela, e no banco, em stored procedures e triggers que ninguém lê há anos. Não existe uma camada de domínio para copiar. Por isso a primeira etapa não escreve código novo: extrai as regras, com ajuda de IA para ler o código e com validação de quem usa o sistema, até cada regra estar escrita em português e aprovada.

A segunda decisão é a ordem. O primeiro módulo a migrar é o que mais dói hoje, não o mais fácil: a tela que a equipe externa precisa acessar de fora, o relatório que trava, o cadastro que o cliente deveria preencher sozinho. Ele entra em uso em seis semanas, sobre o mesmo banco, e o Delphi continua rodando para o resto. É assim que a empresa ganha algo antes do fim do projeto e aprende a confiar no processo.

As duas pontas

O que do Delphi entrega, o que a web em Go e TypeScript aceita.

Delphi, a origem

Sistemas de mesa escritos entre 1996 e 2012, quase sempre com Firebird, Interbase ou SQL Server, instalados em cada máquina da empresa. Funcionam, mas cada vez menos gente sabe mantê-los. Delphi 7 não recebe atualização desde 2002; versões recentes existem, mas quem busca migrar costuma estar na 7 ou na 2007.

  • Regras de negócio nos formulários: a lógica mora em eventos de botão e de campo, misturada com a tela. Não existe uma camada de domínio para copiar.
  • Banco com lógica dentro: stored procedures, triggers e generators em Firebird ou SQL Server carregam parte das regras.
  • Relatórios em FastReport, QuickReport ou Rave, com SQL embutido no arquivo do relatório.
  • Fiscal: emissão de NF-e, NFC-e e boletos por componentes como ACBr, que precisam de equivalente no destino.
  • Dados acessíveis direto no banco, o que permite rodar o sistema velho e o novo sobre a mesma base durante a transição.

Outros destinos a partir do Delphi →

web em Go e TypeScript, o destino

Sistema acessado pelo navegador, com API em Go, interface em TypeScript e banco PostgreSQL. Roda num servidor só ou na nuvem, atualiza para todos ao mesmo tempo e conversa com qualquer integração moderna.

  • Mesmo banco no começo: os primeiros módulos web leem e escrevem na base atual, e o sistema antigo continua rodando ao lado.
  • Regras reescritas com teste: cada regra extraída vira função testada, e a comparação com o sistema velho é automática.
  • Usuários e permissões migram com perfis equivalentes; senha é redefinida no primeiro acesso.
  • Relatórios reimplementados como consultas versionadas, com exportação em PDF e planilha.
  • Fiscal por biblioteca mantida ou por serviço de emissão, escolhido conforme o volume.

Outras origens para a web em Go e TypeScript →

O que migra

Item por item, sem surpresa na virada.

ItemMigra?Como
Regras de negóciomigraExtraídas dos formulários, das procedures e das triggers, escritas em linguagem clara, validadas com quem usa, e reescritas como funções testadas. Cada regra tem origem e teste rastreáveis.
Banco de dadosparcialNo início, o mesmo banco: os módulos web leem e escrevem onde o Delphi lê e escreve. A troca para PostgreSQL acontece no fim, módulo a módulo, com validação registro a registro.
Telasnão migraNenhuma tela é copiada. Cada fluxo é redesenhado para o navegador e para o celular, mantendo os atalhos e a ordem de campos que a equipe já tem na memória.
RelatóriosmigraO SQL embutido no FastReport ou QuickReport é extraído e vira consulta versionada, com saída em tela, PDF e planilha.
Emissão fiscal: NF-e, NFC-e, boletomigraO que hoje roda em componentes como ACBr é substituído por biblioteca mantida ou serviço de emissão, escolhido pelo volume. Homologado na SEFAZ antes de entrar.
Usuários e permissõesmigraPerfis equivalentes, senha redefinida no primeiro acesso, e login único por e-mail corporativo quando existir.
Integrações: bancos, arquivos, equipamentosparcialRemessa e retorno bancário, importação de arquivos e integrações por pasta compartilhada são refeitas. Balança, impressora fiscal e leitor na máquina local exigem um agente pequeno instalado.
Histórico completomigraNada é cortado. Como o banco é o mesmo durante a transição, todo o histórico está disponível desde o primeiro módulo.
Código Delphinão migraNão é traduzido linha a linha. Isso produz um sistema web com os defeitos do antigo e nenhuma das vantagens do novo.

"Parcial" quer dizer que migra com perda declarada ou com trabalho manual no meio. "Não migra" quer dizer que é recriado no destino ou aposentado, sempre com a sua decisão registrada no inventário.

Prazo por porte

O prazo é do porte, não da vontade.

PortePrazoPreço
Até 15 telas, um banco, sem fiscal6 a 10 semanasR$ 45 a 90 mil
Cerca de 40 telas, fiscal e relatórios (típico)5 mesesR$ 180 mil
Até 80 telas, várias filiais, integrações bancárias7 a 10 mesesR$ 260 a 420 mil
Acima disso, ou vários sistemas Delphipor móduloa partir de R$ 420 mil

Prazo em semanas corridas a partir do inventário aprovado. O que mais estica é o que depende de terceiros: ERP, gateway, equipamento, e a sua própria revisão do conteúdo.

Preço de referência

R$ 180.000, e o que faz subir.

R$ 180.000preço de referência da loja ou sistema típico
R$ 45 a 420 milfaixa deste par, do menor ao maior porte

Referência para: Sistema de cerca de 40 telas, um banco, emissão fiscal, 15 relatórios, até 50 usuários. Pago por módulo entregue, não por mês.

Está dentro

  • Auditoria de legado: mapa de telas, procedures, triggers, relatórios e integrações, com score de risco por módulo.
  • Extração e documentação das regras de negócio, validadas com a equipe que usa o sistema.
  • Reescrita módulo a módulo em Go e TypeScript, com testes que comparam o resultado com o Delphi sobre os mesmos dados.
  • Operação em paralelo sobre o mesmo banco, com o Delphi rodando até o último módulo.
  • Migração do banco para PostgreSQL ao final, com validação registro a registro e rollback testado.
  • Hospedagem configurada, backup, monitoramento e 90 dias de acompanhamento depois do último módulo.

Fica fora

  • Servidor ou nuvem, certificado digital e serviço de emissão fiscal, quando escolhido.
  • Funcionalidades que não existem no Delphi hoje. Entram como escopo novo, orçado à parte.
  • Agentes locais para equipamentos além de impressora e balança padrão.
  • Treinamento presencial fora de Porto Alegre.

O que faz o preço subir, em ordem de frequência:

mais de 40 telasmais de um banco ou de uma filial com banco próprioregras fiscais de vários estadosintegração com equipamentos locaisrelatórios com mais de 50 consultascódigo-fonte incompleto ou perdido
Riscos deste par

O que dá errado, e o que fazemos antes.

Regra que só existe numa trigger

Uma trigger de 2009 que ajusta o estoque em certa condição não aparece em tela nenhuma. Reescrever só pelo que se vê deixa a regra para trás e o erro aparece meses depois. Mitigação: a auditoria lê o banco inteiro, não só o código Delphi, e cada procedure e trigger tem destino declarado.

Código-fonte incompleto

É comum o executável em produção ser mais novo que o fonte guardado. Mitigação: a auditoria compara versão do executável com o fonte e, onde falta, a regra é extraída pelo comportamento, com testes de caixa-preta sobre o sistema real.

Equipe que não larga o Delphi

Se o módulo novo é pior de usar que a tela antiga, a equipe volta ao Delphi e os dois ficam inconsistentes. Mitigação: o primeiro módulo é o que mais dói hoje, o desenho mantém atalhos e ordem de campos, e a tela antiga do módulo migrado é desativada na data combinada.

Fiscal homologado tarde

A emissão de NF-e tem detalhes por estado e por tipo de operação que só aparecem em homologação. Mitigação: o módulo fiscal entra cedo no cronograma e roda em homologação na SEFAZ por semanas antes de assumir.

Dois sistemas escrevendo o mesmo registro

Durante o paralelo, o Delphi e o web escrevem no mesmo banco. Sem regra clara, um sobrescreve o outro. Mitigação: cada tabela tem um dono por fase, e o sistema que não é dono só lê.

Banco com integridade só no código

Firebird e SQL Server antigos costumam ter relações sem chave estrangeira, mantidas pelo código Delphi. Mitigação: as relações implícitas são mapeadas na auditoria e viram restrições declaradas no PostgreSQL, com relatório dos registros órfãos para você decidir.

Projeto sem fim

Reescritas param no meio quando não entregam nada por meses. Mitigação: pagamento e entrega por módulo, o primeiro em seis semanas, e a cada módulo você decide se continua.

Como fazemos

Em paralelo, com volta garantida.

Auditoriasemanas 1 e 2

Mapa do sistema: telas, procedures, triggers, relatórios, integrações, usuários. Ordem dos módulos decidida pela dor, não pela facilidade. Preço fechado por módulo.

Regras extraídassemanas 3 e 4

Cada regra do primeiro módulo escrita em português, com exemplo, e validada por quem usa. IA lê o código; pessoas aprovam.

Primeiro módulo em usosemana 6

No navegador, sobre o mesmo banco, com a tela Delphi equivalente desativada na data combinada. Testes comparam resultado novo e antigo.

Módulo a módulosemanas 7 a 18

Mesmo ciclo para cada módulo: regras, reescrita, teste, uso. Fiscal entra cedo e roda em homologação por semanas.

Banco e desligamentosemanas 19 a 22

Migração para PostgreSQL com validação registro a registro, Delphi desligado, e 90 dias de acompanhamento.

Caso real

Hospital Parobé e Dinamize: a geração do Delphi e o destino em Go

Origem conhecida por dentro, destino em produção

Não publicamos ainda uma migração Delphi → web como caso. O que temos são as duas pontas. Em 2000 construímos o sistema administrativo do Hospital de Parobé, para a Azaleia, em VB6 com SQL Server: a mesma geração, a mesma arquitetura de formulário com lógica dentro e banco com procedure, os mesmos vícios que a auditoria procura num sistema Delphi.

No destino, a reescrita da Dinamize: 67 sistemas em PHP e Java levados para Go entre 2012 e 2017, com a plataforma saindo de 600 mil para 23 milhões de e-mails por dia, sem parar a operação. É o método módulo a módulo desta página, em escala. A primeira migração Delphi entra aqui como caso, com os números.

Ver o caso Dinamize →

2000sistema hospitalar em VB6 e SQL Server, a mesma geração
67sistemas reescritos em Go na Dinamize
38xde volume de e-mails na plataforma reescrita

Os rótulos desta seção são três e dizem exatamente o que temos: migração feita, quando já entregamos este par; origem conhecida por dentro, quando construímos ou mantivemos sistemas na tecnologia de origem; destino em produção, quando operamos o destino em escala. Nunca um caso inventado.

Perguntas frequentes

O que sempre perguntam.

Não dá para converter o código Delphi automaticamente?

Existem conversores. Eles produzem um sistema web com a estrutura do Delphi, a lógica misturada com a tela e nenhum teste. Você troca um legado por outro, mais novo e igualmente difícil de manter. Extrair as regras e reescrever com teste custa mais no início e menos a cada ano.

A empresa para em algum momento?

Não. Os módulos web rodam sobre o mesmo banco do Delphi, que continua funcionando para tudo o que ainda não migrou. A única parada é a migração final do banco para PostgreSQL, feita num fim de semana com rollback testado.

Por que não migrar o banco primeiro?

Porque o Delphi está amarrado ao banco atual e trocá-lo cedo significa mexer no sistema antigo, que é o que queremos evitar. O banco muda no fim, quando só o sistema novo escreve nele.

Quem faz a emissão fiscal?

Depende do volume. Até algumas centenas de notas por mês, uma biblioteca mantida resolve. Acima disso, um serviço de emissão sai mais barato que manter certificado, contingência e atualização de layout. Decidimos na auditoria, com o seu número.

E se o desenvolvedor Delphi sair no meio?

A auditoria é feita pensando nisso: ela documenta o sistema a ponto de o projeto continuar sem ele. Se ele estiver disponível, encurta a extração de regras. Se não estiver, as regras são extraídas do código e do comportamento.

O preço de referência é fechado?

É o preço do sistema típico descrito acima. A auditoria de duas semanas fecha o preço por módulo, com o seu sistema na mesa, e é descontada do projeto se ele seguir.

Ver também
Conversar

Comece pelo inventário.

Mande o endereço da loja ou uma descrição do sistema. Em até 24 horas úteis você recebe a confirmação da faixa de preço e prazo para o seu caso, sem compromisso. Se o par for outro, dizemos qual é.

Falar pelo WhatsApp algorithms@stickybit.com.br Stickybit · Porto Alegre, desde 2004

← Migrar: todos os pares · stickybit.com.br