sgcHTML vs UniGUI, TMS WEB Core e IntraWeb: Escolhendo seu Framework Web para Delphi

· Componentes

Quando uma equipe Delphi precisa expor uma aplicação de negócios no navegador, a primeira pergunta é sempre a mesma: qual framework web usar? Em 2026, existem cinco opções nativas para Delphi: IntraWeb, UniGUI, TMS WEB Core, TMS XData e sgcHTML. Cada uma resolve o problema de forma diferente, e cada uma se destaca em uma situação distinta. Este artigo analisa cada opção com honestidade e explica onde o sgcHTML oferece uma vantagem diferenciada.

IntraWeb — o framework web original para Delphi

O IntraWeb existe desde 2001. Seu modelo é simples: formulários VCL renderizados no servidor como HTML. Se você conhece os formulários Delphi, pode construir uma página IntraWeb. O estado fica no servidor; o navegador é essencialmente uma camada de exibição simples. Para ferramentas internas com um número modesto de usuários simultâneos, essa abordagem ainda funciona.

Onde o IntraWeb tem dificuldades é na personalização de temas e nos layouts modernos. Ele gera seu próprio HTML e CSS, que são anteriores ao Bootstrap e ao flexbox. Obter uma página responsiva e compatível com dispositivos móveis exige um trabalho considerável de substituição de CSS. A marcação gerada é verbosa e difícil de integrar com sistemas de design modernos. O IntraWeb também é totalmente stateful: cada usuário mantém um objeto de sessão no servidor durante toda a visita, o que limita a escalabilidade horizontal.

UniGUI — maduro, completo e stateful

O UniGUI é o framework web para Delphi com mais recursos. Sua paleta de componentes é enorme (grids, gráficos, árvores, mapas, upload de arquivos, editor de texto rico, suporte a toque) e seu sistema de temas é maduro. Internamente, ele utiliza o Sencha ExtJS, uma poderosa biblioteca de componentes JavaScript que produz interfaces sofisticadas, próximas à qualidade de aplicações desktop nativas.

A contrapartida é a complexidade e a arquitetura stateful. As sessões do UniGUI mantêm o estado completo dos componentes no servidor. Uma aplicação com muitos usuários simultâneos exige memória significativa e um gerenciamento cuidadoso de sessões. A camada ExtJS, embora poderosa, não é Bootstrap, o que significa que cada novo desenvolvedor familiarizado com Bootstrap precisará aprender um vocabulário paralelo. As licenças são por desenvolvedor e por servidor, e o componente por servidor do custo da licença é relevante para implantações em nuvem.

TMS WEB Core — Pascal compilado para JavaScript no lado do cliente

O TMS WEB Core adota a abordagem oposta: compila sua aplicação Object Pascal para JavaScript usando um compilador compatível com WebAssembly. O resultado é executado inteiramente no navegador; os eventos do seu formulário Delphi disparam como eventos JavaScript. A interface usa Bootstrap ou Material Design, e o TMS WEB Core inclui um conjunto crescente de componentes visuais.

Esta é uma tecnologia genuinamente inteligente e funciona bem para determinados casos de uso, especialmente aplicações de navegador independentes que precisam de capacidade offline ou de carga muito baixa no servidor. A limitação está no modelo de implantação. A saída compilada é um conjunto de arquivos JavaScript estáticos e recursos que precisam ser construídos, versionados e servidos. Adicionar um recurso significa recompilar e reimplantar o pacote do cliente. A lógica de negócios que antes ficava com segurança no servidor agora é executada no navegador, o que levanta questões de segurança para cálculos sensíveis. Integrar um componente Delphi existente no lado do servidor (um TsgcWebSocketClient, uma conexão FireDAC) requer trabalho arquitetural, pois o JavaScript compilado não pode chamar diretamente unidades Delphi nativas.

TMS XData — back end REST, não um framework de interface web

O TMS XData merece ser mencionado porque frequentemente é comparado com frameworks de interface web, mas não é um deles. O XData gera uma API REST a partir de classes de serviço Delphi usando OpenAPI 3.0 e JSON. O front end precisa ser construído separadamente — no TMS WEB Core, React, Angular ou qualquer tecnologia que utilize HTTP. O XData é excelente no que faz. Ele simplesmente não elimina a necessidade de uma tecnologia de front end separada quando você deseja uma interface no navegador.

sgcHTML — componentes no lado do servidor com Bootstrap 5 padrão

O sgcHTML ocupa uma posição diferente de todas as opções acima. É uma biblioteca de componentes no lado do servidor cuja saída é HTML Bootstrap 5 padrão. Os próprios componentes são classes Delphi (TsgcHTMLComponent_Chart, TsgcHTMLComponent_DataTable, etc.); você os configura por meio de propriedades e lê uma string HTML. Essa string vai para sua resposta HTTP. O navegador a renderiza usando Bootstrap. O htmx (uma biblioteca de 14 KB, sem etapa de build) gerencia a interatividade: cliques e envios de formulários retornam ao seu handler Delphi, que responde com um fragmento HTML, e o htmx substitui a seção relevante da página.

A arquitetura é stateless. Cada requisição constrói o que precisa, retorna o HTML e finaliza. Não há árvore de componentes por sessão para manter. A escalabilidade horizontal é trivial: coloque um balanceador de carga na frente de duas instâncias do mesmo .exe.

Comparação lado a lado

Recurso IntraWeb UniGUI TMS WEB Core sgcHTML
Arquitetura Formulários stateful no servidor Sessão ExtJS stateful Pascal→JS no lado do cliente HTML stateless no servidor
Marcação de saída HTML + CSS proprietários JSON/HTML ExtJS Bootstrap padrão Bootstrap 5 padrão
Interatividade Recarga de página completa ou AJAX AJAX ExtJS Executado no navegador Fragmentos htmx + WebSocket
Push em tempo real via WebSocket Não (complemento) Limitado Via API WebSocket do JS Sim — recurso principal (sgcWebSockets)
Escalabilidade Limitada pelo estado da sessão Limitada pelo estado da sessão Stateless (arquivos estáticos) Stateless, horizontal
JavaScript escrito por você Nenhum Mínimo Nenhum (compilado a partir de Pascal) Nenhum
npm / Node.js necessário Não Não Sim (etapa de build) Não
Implantação em binário único Sim Sim Não (pacote JS + recursos) Sim
Vinculação de DataSet Sim Sim Via bridge JS Sim (TDataSet/TDataSource direto)
Número de componentes de interface ~40 80+ 50+ 60+
Mobile/responsivo Parcial Sim (ExtJS Touch) Sim (Bootstrap) Sim (Bootstrap 5)
Edição .NET Não Não Não Sim (.NET 6+)

Onde o sgcHTML tem uma vantagem clara

Dashboards em tempo real. Como o sgcHTML é construído sobre o sgcWebSockets, o mesmo servidor que serve páginas HTML também gerencia conexões WebSocket. Uma atualização de preço de ação, uma nova leitura de sensor ou uma produção concluída pode enviar um fragmento HTML para todas as abas do navegador conectadas com uma única chamada Broadcast. Sem polling, sem infraestrutura de push separada, sem licença extra. IntraWeb e UniGUI têm suporte limitado a WebSocket que requer trabalho de integração adicional. O TMS WEB Core pode usar a API WebSocket nativa do navegador, mas exige lógica JavaScript no lado do cliente para tratar as mensagens recebidas.

Marcação padrão sem sobrecarga de personalização. Como a saída é HTML Bootstrap 5, qualquer designer que conheça Bootstrap pode estilizá-la. Os temas são temas Bootstrap padrão — existem centenas de temas gratuitos e pagos que se aplicam instantaneamente. IntraWeb e UniGUI geram marcação específica do framework, que exige aprender um sistema de estilização separado.

Stateless e horizontalmente escalável. Cada requisição do sgcHTML é independente. Não há objeto de sessão por usuário no servidor. Duas instâncias do mesmo executável com balanceamento de carga atendem requisições de forma intercambiável. IntraWeb e UniGUI roteiam as requisições de volta para a instância de servidor específica que mantém a sessão, complicando as implantações em nuvem.

Implantação em executável único. O CSS do Bootstrap, o Chart.js e o htmx são recursos embutidos dentro do binário Delphi. Implantar o sgcHTML significa copiar um único .exe. O TMS WEB Core produz um pacote JavaScript e um conjunto de recursos que precisam ser versionados e servidos separadamente.

Sem cadeia de build. Não há npm, webpack, Babel nem Node.js. Você compila seu projeto Delphi e distribui. Isso é extremamente relevante em ambientes regulamentados e em implantações on-premises, onde instalar uma cadeia de ferramentas Node.js exige aprovação da equipe de TI.

Comparação direta de código: um grid de dados

Para tornar a diferença concreta, veja como renderizar um grid de dados pesquisável e paginado a partir de uma consulta FireDAC, com sgcHTML:

uses
  sgcHTML_Component_DataTable;

var
  oTable: TsgcHTMLComponent_DataTable;
begin
  oTable := TsgcHTMLComponent_DataTable.Create(nil);
  oTable.PageBuilder  := oPage.PageBuilder;
  oTable.Section      := 'data';
  oTable.Title        := 'Customers';
  oTable.ShowSearch   := True;
  oTable.ShowExport   := True;
  oTable.LoadFromDataSet(fdqCustomers, 25); // 25 rows per page
  // Read oTable.HTML and include it in your response
end;

O resultado é uma tabela Bootstrap responsiva, pesquisável e paginada, com indicadores de ordenação, uma caixa de pesquisa e um botão de exportação. O navegador a renderiza sem requisições adicionais ao servidor para o carregamento inicial da página. Filtragem e paginação utilizam htmx para substituir apenas o fragmento da tabela, e não a página inteira.

Quando escolher as alternativas

O sgcHTML nem sempre é a escolha certa. Se você possui uma grande aplicação IntraWeb ou UniGUI existente, com centenas de formulários e um sistema de temas bem estabelecido, migrá-la faz pouco sentido. O UniGUI é a melhor escolha quando você precisa de recursos avançados de grid (colunas fixas, editores de célula, agrupamento de linhas, tabela dinâmica) que igualem ou superem o Excel, ou quando deseja o acabamento do ExtJS para uma ferramenta de back-office para usuários avançados. O TMS WEB Core é a escolha certa quando você precisa de uma aplicação que seja executada offline no navegador sem nenhum servidor, ou quando deseja distribuir uma aplicação de página única como arquivos estáticos por meio de um CDN.

O sgcHTML é a escolha mais forte quando:

Experimentando o sgcHTML

Uma avaliação gratuita com todos os 60+ componentes e sem restrições de recursos está disponível em esegece.com/products/sgchtml/download. O download inclui quatro aplicações de demonstração funcionais (ERP, Console de Administração, Monitor ao Vivo e Portal do Cliente) que demonstram a paleta de componentes em cenários realistas.

Tem perguntas ou deseja uma comparação com um projeto específico existente? Entre em contato. Você receberá uma resposta das pessoas que escreveram o código.