uniGUI から sgcHTML への移行 — Delphi Web UI コンポーネント | eSeGeCe

uniGUI から sgcHTML への移行

FMSoft の uniGUI は、大規模なビジュアルパレットとネイティブ VCL 開発に近い設計時の操作性を備えた商用の Delphi Web フレームワークで、多くのチームがこれで本格的なアプリケーションを出荷してきました。チームが sgcHTML を検討し始めるのは通常、同梱の JavaScript アプリケーションフレームワークではなく、プレーンな Bootstrap 5 マークアップで構築されたより軽いページが欲しいとき、サーバー RAM 上のセッションごとのコンポーネント状態がキャパシティプランニングの課題になったとき、あるいは同じコンポーネントセットから WebSocket リアルタイムと .NET オプションを使いたいときです。sgcHTML は、ページの生成方法を変えながらも、Object Pascal と RAD Studio の中にとどまらせてくれます。

アーキテクチャ上の変更点

2 つのフレームワークは、ブラウザ UI の課題を異なる方法で解決します。まず事実としての違いを示し、次に sgcHTML のモデルが何をもたらすかを説明します。

uniGUI では、アプリケーションを RAD Studio のフォームデザイナーで DB 対応コントロールを使って構築し、同梱の Sencha Ext JS レイヤーを通じてブラウザにレンダリングします。セッションはステートフルで、各ユーザーがコンポーネントの状態をすべてサーバーの RAM に保持するため、負荷の高いアプリケーションではメモリ計画とセッション管理が必要です。sgcHTML は別の道を取ります。Delphi(または C++ Builder、C#)のコードがサーバー上で標準的な Bootstrap 5 HTML をレンダリングし、ブラウザは htmx を通じてインタラクティブな状態を保ち、状態を保持すると自分で決めない限り、各リクエストはステートレスです。

クライアントは Bootstrap 5 と htmx

サードパーティ製 JavaScript アプリケーションフレームワークの同梱はありません。クライアントサイドは Bootstrap 5 と htmx(約 14 KB)なので、ページはより軽く、どのデバイスでも高速に読み込まれます。

自分で制御できるプレーンな HTML

出力は標準的なサーバーレンダリングされた HTML で、ブラウザで検証でき、Ext JS の見た目ではなく任意の Bootstrap 5 テーマで再スタイルできます。ライトとダークのテーマも組み込みです。

デフォルトでステートレス

デフォルトでは、セッションごとの完全なコンポーネント状態をサーバー RAM に保持しません。保持するセッションデータは自分で決められ、キャパシティプランニングと再起動が簡素化されます。

リアルタイムと広がりを標準搭載

WebSocket プッシュは sgcHTMX エンジンを通じて同じコンポーネントセットから提供され、同じ Tsgc* API が Delphi、C++ Builder、純粋なマネージド .NET 実装で利用できます。

uniGUI の概念と sgcHTML での対応

構成要素はきれいに対応します。これは、チームが画面ごとに使う変換表です。

uniGUI の概念 sgcHTML での対応
uniForm / uniFrame ノードコンポーネントから構成する sgcHTML のページとパネル
DB 対応のグリッドと編集コントロール TDataSet に直接バインドするデータアウェアな TsgcHTMLComponent_Grid / TsgcHTMLComponent_Form
Ext JS クライアントレイヤー Bootstrap 5 マークアップと htmx(約 14 KB)
Ajax イベント コンポーネントの HTML を返す htmx フラグメントルート
セッションマネージャーとユーザーごとの RAM 状態 ステートレスなレンダリングと、自分で選んで保持するセッションデータ
Ext のテーマ ライトとダークを標準搭載した、任意の Bootstrap 5 テーマ
uniGUI Server / HyperServer によるデプロイ 単一の sgcWebSockets サーバーバイナリ、または WebBroker、DataSnap、RAD Server ホスト
ポーリングとプッシュ拡張 HTML フラグメントの sgcHTMX WebSocket ブロードキャスト(hx-swap-oob)

移行で変わるものは思ったより少ない

sgcHTML への移行で置き換わるのは UI レイヤーであって、これまでの投資ではありません。

コードベースと IDE

Delphi または C++ Builder とともに RAD Studio にとどまります。sgcHTML コンポーネントはサーバーバイナリにコンパイルされるネイティブクラスで、完全なソースコードが含まれます。

データモジュール

TDataSet のロジック、クエリ、ビジネスルールはそのまま引き継がれます。89 コンポーネントのうち 27 種類がデータアウェアで、TDataSet や DataSource に直接バインドします。

デプロイの習慣

これからも単一の自己完結型実行ファイルまたはサービスを出荷でき、併せてインストールする外部ランタイムはありません。

チームのスキル

あなたが Object Pascal や C# を書けば、sgcHTML が HTML、CSS、JavaScript を書きます。開発者に JavaScript は必要ありません。

現実的な移行パス

すべてを一度に移行する必要はありません。チームが実際に踏んでいる 4 つのステップです。

1

画面を棚卸しする

すべての uniForm と uniFrame、その背後にあるデータセット、ライブデータが必要な画面を洗い出します。この棚卸しが計画全体を導きます。

2

画面をコンポーネントにマッピングする

上の対応表とコンポーネントギャラリー(グリッド、フォーム、チャート、ダッシュボードなど)を使って、各画面を sgcHTML コンポーネントに対応付けます。

3

ページ単位で再構築する

sgcHTML は標準の HTTP を配信するため、両方のサーバーを同じリバースプロキシの背後で並行稼働できます。一度に 1 画面ずつ移行し、準備が整うまで残りは uniGUI のままにしておけます。

4

インタラクションとプッシュを配線する

部分更新には htmx のインタラクションを、アプリケーションがライブデータを必要とする箇所には sgcHTMX エンジンによる WebSocket プッシュを追加します。

私たちが移行をお手伝いします

独りで進める必要はありません。uniGUI アプリケーションについて、画面、その背後にあるデータ、必要なリアルタイムの動作をお聞かせください。eSeGeCe チームが、コンポーネントマッピング、現実的な順序、工数見積もりといった移行計画の立案を支援します。

ご希望であれば、sgcCustomization HTML を通じてアプリケーションを私たちが再構築します。€149 からの一回限りのパッケージで、私たちのチームが文書による説明から完全な Web アプリケーションを構築し、お客様がコンパイル、デプロイ、発展させられるプロジェクトを納品します。

カスタム JavaScript ゼロの 5 つのライブアプリケーション

これらはすべて eSeGeCe のデモサーバー上でライブに動作し、sgcHTML + sgcWebSockets だけで構築されています。

ERP

顧客、仕入先、商品、請求書、レポート。

ライブデモを開く →

管理 CRUD

CRUD 画面とライブ検索を備えたコンパクトな管理コンソール。

ライブデモを開く →

ライブモニター

KPI が WebSocket 経由でプッシュされるリアルタイムダッシュボード。

ライブデモを開く →

カスタマーポータル

注文、プロフィール、サポートを備えたセルフサービスポータル。

ライブデモを開く →

ヘルプデスク

返信スレッドと管理ダッシュボードを備えたサポートチケット型ヘルプデスク。

ライブデモを開く →

公平を期すために。深い RAD フォームデザイナー体験とデスクトップに近いインターフェースがステートレスなスケーリングよりも重要で、同時接続ユーザー数が想定・計画されている場合、uniGUI にとどまるのは妥当な選択です。決断の前に全体像を知りたい場合は、すべての記述が各ベンダー自身のドキュメントにリンクしている、中立的な出典付きの横並びマトリックスをお読みください。

最もお得な選択: All-AccesseSeGeCe の全製品にプレミアムサポートが付いて、年間 €1,059 からご利用いただけます。
All-Access の価格を見る

まずは 1 画面で sgcHTML を試す

89 種類すべてのコンポーネントを含む無料体験版をダウンロードし、uniGUI の 1 画面を再構築して、その結果をご自身のブラウザで比べてみてください。ライセンスは開発者ごとで、€299 からです。