Telas de negócio
Grids, formulários, master-detail e relatórios, vinculados aos seus datasets existentes.
Abrir a demo ao vivo →
O uniGUI, da FMSoft, é um framework web Delphi comercial com uma grande paleta visual e uma experiência em tempo de design próxima do desenvolvimento VCL nativo, e muitas equipes entregaram aplicações sérias com ele. As equipes normalmente começam a olhar para o sgcHTML quando querem páginas mais leves construídas sobre markup Bootstrap 5 puro em vez de um framework de aplicação JavaScript embutido, quando o estado de componentes por sessão na RAM do servidor se torna um tema de planejamento de capacidade, ou quando querem tempo real via WebSocket e uma opção .NET a partir do mesmo conjunto de componentes. O sgcHTML mantém você em Object Pascal e no RAD Studio enquanto muda a forma como as páginas são produzidas.
Os dois frameworks resolvem o problema da UI no navegador de formas diferentes. Aqui está a diferença factual, e depois o que o modelo do sgcHTML oferece a você.
No uniGUI, as aplicações são construídas no designer de formulários do RAD Studio com controles DB-aware e renderizadas no navegador por meio de uma camada Sencha Ext JS embutida. As sessões têm estado: cada usuário mantém o estado completo dos componentes na RAM do servidor, então aplicações movimentadas exigem planejamento de memória e gestão de sessões. O sgcHTML segue outro caminho: seu código Delphi (ou C++ Builder ou C#) renderiza HTML Bootstrap 5 padrão no servidor, o navegador permanece interativo por meio do htmx, e cada requisição é sem estado, a menos que você opte por manter estado.
Nenhum framework de aplicação JavaScript de terceiros embutido. O lado do cliente é Bootstrap 5 mais htmx (~14 KB), então as páginas são mais leves e carregam rápido em qualquer dispositivo.
A saída é HTML padrão renderizado no servidor que você pode inspecionar no navegador e reestilizar com qualquer tema Bootstrap 5, com temas claro e escuro integrados, em vez de um visual Ext JS.
Nenhum estado completo de componentes por sessão na RAM do servidor por padrão. Você decide quais dados de sessão manter, o que simplifica o planejamento de capacidade e os reinícios.
O push via WebSocket vem do mesmo conjunto de componentes por meio do motor sgcHTMX, e a mesma API Tsgc* está disponível em Delphi, C++ Builder e em uma implementação .NET puramente gerenciada.
Os blocos de construção mapeiam de forma limpa. Esta é a tabela de tradução que sua equipe usará tela por tela.
| Conceito do uniGUI | Equivalente no sgcHTML |
|---|---|
| uniForm / uniFrame | Composição de páginas e painéis sgcHTML construída a partir de componentes de nó |
| Grades e edições DB-aware | TsgcHTMLComponent_Grid / TsgcHTMLComponent_Form data-aware vinculados diretamente a um TDataSet |
| Camada cliente Ext JS | Markup Bootstrap 5 mais htmx (~14 KB) |
| Eventos Ajax | Rotas de fragmento htmx que retornam HTML de componente |
| Gerenciador de sessões e estado por usuário na RAM | Renderização sem estado mais os dados de sessão que você escolher manter |
| Temas Ext | Qualquer tema Bootstrap 5, com temas claro e escuro integrados |
| Implantação uniGUI Server / HyperServer | Um único binário de servidor sgcWebSockets, ou um host WebBroker, DataSnap ou RAD Server |
| Extensões de polling e push | Broadcast sgcHTMX de fragmentos HTML via WebSocket (hx-swap-oob) |
Migrar para o sgcHTML substitui a camada de UI, não o seu investimento.
Você permanece no RAD Studio com Delphi ou C++ Builder. Os componentes sgcHTML são classes nativas compiladas no binário do seu servidor, com código-fonte completo incluído.
Sua lógica TDataSet, consultas e regras de negócio são transferidas sem alterações. 28 dos 93 componentes são data-aware e vinculam-se diretamente a um TDataSet ou DataSource.
Você continua entregando um único executável ou serviço autocontido, sem runtime externo para instalar junto.
Você escreve Object Pascal ou C#; o sgcHTML escreve o HTML, o CSS e o JavaScript. Nenhum JavaScript é exigido do desenvolvedor.
Você não precisa migrar tudo de uma vez. Quatro etapas que as equipes seguem na prática.
Liste cada uniForm e uniFrame, os datasets por trás deles e quais telas precisam de dados ao vivo. Esse inventário orienta todo o plano.
Associe cada tela aos componentes sgcHTML usando a tabela de conceitos acima e a galeria de componentes: grids, formulários, gráficos, dashboards e mais.
Os dois servidores podem rodar lado a lado atrás do mesmo proxy reverso, já que o sgcHTML serve HTTP padrão. Mova uma tela de cada vez e mantenha o restante no uniGUI até estar pronto.
Adicione interações htmx para atualizações parciais, e push via WebSocket por meio do motor sgcHTMX onde a aplicação precisar de dados ao vivo.
Você não precisa fazer isso sozinho. Conte-nos sobre sua aplicação uniGUI, as telas, os dados por trás delas e o comportamento em tempo real de que você precisa, e a equipe eSeGeCe ajuda a planejar a migração: um mapeamento de componentes, uma sequência realista e uma estimativa de esforço.
Se preferir, reconstruímos a aplicação para você por meio do sgcCustomization HTML: pacotes únicos a partir de €149, em que nossa equipe constrói a aplicação web completa a partir de uma descrição por escrito e entrega um projeto que você compila, implanta e evolui.
Para ser justo: permanecer no uniGUI é uma escolha razoável quando uma experiência profunda de designer de formulários RAD e uma interface no estilo desktop importam mais do que a escalabilidade sem estado, e quando o número de usuários simultâneos é limitado e planejado. Se você quiser o quadro completo antes de decidir, leia nossa matriz lado a lado com fontes neutra, em que cada afirmação aponta para a documentação do próprio fornecedor.
Estas são aplicações Delphi servindo seu próprio HTML através do sgcHTML, sem etapa de build de JavaScript e sem projeto de front end separado.
Grids, formulários, master-detail e relatórios, vinculados aos seus datasets existentes.
Abrir a demo ao vivo →
CRUD ao vivo com busca enquanto você digita e edição inline através do htmx.
Abrir a demo ao vivo →
Cards de KPI, gráficos, tree maps e medidores renderizados a partir do Pascal.
Abrir a demo ao vivo →