Build complete, modern web UIs straight from Delphi, C++ Builder and .NET. sgcHTML is a server-side component framework with 89 ready-made, data-aware widgets — charts, grids, forms, dashboards, chat and more — that bind straight to a TDataSet, render to Bootstrap 5 markup and stay interactive through htmx. You write Object Pascal or C#, sgcHTML writes the HTML, CSS and JavaScript.
sgcHTML turns your existing Delphi, C++ Builder or .NET back end into a web application server. Every component is a native class that emits Bootstrap 5 HTML; htmx keeps the page interactive and live without a single line of hand-written JavaScript.
Every widget is a class — TsgcHTMLComponent_Chart, TsgcHTMLComponent_Grid, TsgcHTMLComponent_Form and 86 more. Set its properties, then read its HTML property to get clean, Bootstrap 5 markup ready to serve.
Drop a TsgcHTMLEngine_Server (or wire the HTML to an existing TsgcWebSocketHTTPServer). Requests arrive in your OnCommandGet handler; you answer with a page built from components. No external web stack.
sgcHTML is not tied to the sgcWebSockets server. Serve the same component-built pages from any Embarcadero WebBroker application via TsgcHTMX_Engine_Server_WebBroker, or from a DataSnap server with live WebSocket push on the same port as your REST endpoints.
Add a TsgcHTMX_Engine_Server and clicks, form posts and live updates round-trip to your Pascal/C# event handlers. The server swaps HTML fragments in place — the SPA feel, none of the JavaScript build chain.
Because htmx runs over the sgcWebSockets server, you can push live HTML to every connected browser. Dashboards, monitors and chat windows update the instant your data changes — server-driven, no polling.
TsgcHTMLTemplate_Bootstrap wraps your content in a complete responsive document; TsgcHTMLThemeController and TsgcHTMLThemeBuilder provide light/dark themes and a shared stylesheet. Bootstrap 5.3 and htmx ship embedded — no CDN at runtime.
Grid, DataTable, Chart, Select, TreeView, Scheduler, Timeline and Form bind straight to a TDataSet via LoadFromDataSet / DataSource. Point a component at a query and it renders the rows.
sgcHTML ships built-in UI text (buttons, labels, validation messages) in 17 languages: English, Spanish, French, German, Portuguese, Italian, Dutch, Swedish, Norwegian, Polish, Czech, Turkish, Russian, Chinese, Japanese, Korean and Arabic. Pick one with sgcHTMLSetLanguage and components render in the visitor's language with correct native scripts, including CJK, Cyrillic and Arabic.
Every component routes its dynamic text, attributes, inline JavaScript and URLs through automatic HTML, attribute, JavaScript and URL encoding plus URL sanitization (sgcHTMLEncode, sgcHTMLAttrEncode, sgcJSEncode, sgcHTMLSanitizeURL), so user data cannot break out of its context and inject script. XSS and injection protection is on without extra work.
From navigation chrome to data grids, charts, forms, overlays and AI chat — the full Bootstrap 5 vocabulary as native components. Each links to its own page with Delphi, C++ Builder and .NET examples.
NavBar, Sidebar, Breadcrumb, Tabs, Pagination, Toolbar, TreeView, Stepper, Dropdown, ButtonGroup, ListGroup, DashboardLayout, Splitter.
View components →Grid, DataTable, TreeGrid, PivotTable, Calendar, Scheduler, Timeline, ActivityFeed, KanbanBoard, Gantt — sortable, filterable, exportable, dataset-bound.
View components →Chart (Chart.js), CandlestickChart, Gauge, Heatmap, Sparkline, TreeMap, Diagram (SVG flow), Map (Leaflet), QRCode, Barcode — data-driven visuals from your own datasets.
View components →Form, Edit, Memo, CheckBox, RadioGroup, Select, MultiSelect, InputGroup, AutoComplete, DatePicker, TimePicker, ColorPicker, Slider, FileUpload, RichEditor, Rating, SignaturePad, Transfer.
View components →Panel, StatCard, Accordion, Carousel, Image, Avatar, Video, Badge, PDFViewer — cards, media and KPI tiles for dashboards.
View components →Modal, Offcanvas, Popover, Toast, Snackbar, Notification, Spinner, Placeholder, ContextMenu, ProgressBar, JobProgress, LogViewer — dialogs and status surfaces.
View components →ChatBox, Chat (WhatsApp-style), AIChat with provider selector, token streaming and RAG source citations, Presence for live online status.
View components →Login, SocialLogin (OAuth), OAuthCallback, WebAuthnLogin (passkeys), UserManagement, RolesPermissions — ready-made sign-in flows and admin screens.
View components →EngineServer, HTMXEngine, PageBuilder, TemplateBootstrap, ThemeController, ThemeBuilder, HTMXFragment, HTMXRouter — the non-visual pieces that serve pages and keep them live.
View components →Start an HTTP server, attach the htmx engine, and answer requests with a page built from components. The same API in Delphi, C++ Builder and .NET.
uses
sgcWebSocket_Server, sgcHTMX_Engine_Server,
sgcHTML_Template_Bootstrap, sgcHTML_Component_Chart;
// 1. Start a server and attach the htmx engine
FServer := TsgcWSHTTPServer.Create(nil);
FServer.Port := 8080;
FServer.OnCommandGet := HandleGet;
FHTMX := TsgcHTMX_Engine_Server.Create(nil);
FHTMX.Server := FServer; // realtime htmx over WebSocket
FServer.Active := True;
// 2. Build the page from components
function TForm1.BuildDashboard: string;
var
oChart: TsgcHTMLComponent_Chart;
oPage: TsgcHTMLTemplate_Bootstrap;
begin
oChart := TsgcHTMLComponent_Chart.Create(nil);
oPage := TsgcHTMLTemplate_Bootstrap.Create(nil);
try
oChart.ChartType := ctBar;
oChart.AddLabel('Q1'); oChart.AddLabel('Q2'); oChart.AddLabel('Q3');
oChart.AddDataset('Revenue', [1200, 1900, 1500],
'#7C3AED', 'rgba(124,58,237,.25)', True);
oPage.Title := 'Dashboard';
oPage.BodyContent := oChart.HTML; // component -> HTML
Result := oPage.GetHTML; // full Bootstrap document
finally
oPage.Free;
oChart.Free;
end;
end;
// includes: sgcWebSocket_Server.hpp, sgcHTMX_Engine_Server.hpp,
// sgcHTML_Template_Bootstrap.hpp, sgcHTML_Component_Chart.hpp
// 1. Start a server and attach the htmx engine
FServer = new TsgcWSHTTPServer(this);
FServer->Port = 8080;
FServer->OnCommandGet = HandleGet;
FHTMX = new TsgcHTMX_Engine_Server(this);
FHTMX->Server = FServer; // realtime htmx over WebSocket
FServer->Active = true;
// 2. Build the page from components
String __fastcall TForm1::BuildDashboard()
{
TsgcHTMLComponent_Chart *oChart = new TsgcHTMLComponent_Chart(NULL);
TsgcHTMLTemplate_Bootstrap *oPage = new TsgcHTMLTemplate_Bootstrap(NULL);
try
{
oChart->ChartType = ctBar;
oChart->AddLabel("Q1"); oChart->AddLabel("Q2"); oChart->AddLabel("Q3");
oChart->AddDataset("Revenue", OPENARRAY(double, (1200, 1900, 1500)),
"#7C3AED", "rgba(124,58,237,.25)", true);
oPage->Title = "Dashboard";
oPage->BodyContent = oChart->HTML; // component -> HTML
return oPage->GetHTML(); // full Bootstrap document
}
__finally
{
delete oPage;
delete oChart;
}
}
using esegece.sgcWebSockets;
// 1. Start a server and attach the htmx engine
var server = new TsgcWebSocketHTTPServer();
server.Port = 8080;
server.OnCommandGet += HandleGet;
var htmx = new TsgcHTMX_Engine_Server();
htmx.Server = server; // realtime htmx over WebSocket
server.Active = true;
// 2. Build the page from components
string BuildDashboard()
{
var chart = new TsgcHTMLComponent_Chart();
chart.ChartType = TsgcHTMLChartType.ctBar;
chart.AddLabel("Q1"); chart.AddLabel("Q2"); chart.AddLabel("Q3");
chart.AddDataset("Revenue", new double[] { 1200, 1900, 1500 },
"#7C3AED", "rgba(124,58,237,.25)", true);
var page = new TsgcHTMLTemplate_Bootstrap();
page.Title = "Dashboard";
page.BodyContent = chart.HTML; // component -> HTML
return page.GetHTML(); // full Bootstrap document
}
Reach for ready-made components when you want a widget in one line, or drop to the node layer when you need full control over the markup.
The 89 TsgcHTMLComponent_* widgets. Configure properties, optionally bind a dataset, read HTML. Many also expose a static Build(...) helper for one-line inline use.
Primitives like TsgcHTMLContainer (with a Void flag for self-closing tags), TsgcHTMLCard, TsgcHTMLForm, TsgcHTMLField, TsgcHTMLButton and TsgcHTMLTable compose into any layout, then render with TsgcHTMLTemplate_Bootstrap. The node set also includes Bootstrap building blocks such as TsgcHTMLModal, TsgcHTMLOffcanvas, TsgcHTMLAccordion, TsgcHTMLCarousel, TsgcHTMLToast, TsgcHTMLProgress, TsgcHTMLSpinner, TsgcHTMLListGroupNode, TsgcHTMLInputGroup, TsgcHTMLButtonGroupNode, TsgcHTMLRadio, TsgcHTMLBreadcrumb, TsgcHTMLNavbarNode and TsgcHTMLImage.
TsgcHTMLPageBuilder with its design-time editor lets you assemble pages in the IDE, while TsgcHTMLThemeController manages light/dark theming across the whole app.
With sgcCustomization HTML you describe the application you need and the eSeGeCe team builds it for you with the sgcHTML + sgcWebSockets components. Three one-time packages from €149, and you receive a complete project you can compile, extend and restyle with your licensed components.
Already have a web application built with IntraWeb, uniGUI, TMS WEB Core, Elevate Web Builder or D2Bridge? Step-by-step guides walk you through moving it to sgcHTML, with a concept mapping for each framework. There is also a migration assistance form if you want our team to help plan or do the move.
Pair sgcHTML with our other Delphi, C++ Builder and .NET component libraries.
Enterprise WebSocket, HTTP/2, MQTT, AMQP, WebRTC and AI/LLM components. sgcHTML is served over the same high-performance HTTP and WebSocket servers.
Learn more →QUIC and HTTP/3 client and server components for Delphi, C++ Builder and .NET. Serve sgcHTML's rendered UI over HTTP/3 for lower-latency page loads on lossy networks.
Learn more →Enterprise digital signatures — XAdES, PAdES, CAdES and ASiC with 10 key providers and 21 EU country profiles.
Learn more →OpenAPI 3.0 parser and SDK generator. Turn any OpenAPI spec into a strongly-typed Delphi client in seconds.
Learn more →Native Windows Hello, fingerprint and Windows Biometric Framework components for Delphi and C++ Builder.
Learn more →Updated Indy TCP/IP components with modern TLS, IPv6 and HTTP/2 support for Delphi 7 through 13.
Learn more →15 AI, LLM and MCP components for Delphi and C++ Builder. One chat component reaches OpenAI, Anthropic, Gemini, DeepSeek, Ollama, Grok and Mistral. Standalone, the sgcWebSockets Core runtime is bundled in.
Learn more →MQTT 3.1.1 and 5.0, AMQP 0.9.1, AMQP 1.0, Apache Kafka and STOMP client components for Delphi and C++ Builder. Standalone, the sgcWebSockets Core runtime is bundled in.
Learn more →WhatsApp Business Cloud API and Telegram TDLib clients. Standalone, the sgcWebSockets Core runtime is included.
Learn more →