Have you ever found yourself copying and pasting the same UI code across multiple Delphi forms? I did โ and thatโs exactly why I created BuilderUI.
BuilderUI is a dynamic UI generator for Delphi that allows you to define components using JSON and render them at runtime. Itโs perfect for scenarios where flexibility, rapid prototyping, or low-code customization is needed.
๐ง What is BuilderUI?
BuilderUI is a Delphi engine that reads a JSON file and builds a fully working VCL form with components like:
-
TEdit
,TLabel
,TButton
,TCheckBox
,TComboBox
- Containers like
TPanel
- Event support like
OnClick
โ Main Features:
- JSON-driven UI generation
- Component positioning (
Top
,Left
,Width
,Height
) - Runtime event handling
- Clean and extensible architecture
๐งช Example JSON Input
{
"Name": "FrmLoginScreen",
"Type": "TForm",
"Caption": "Login Screen",
"Width": 400,
"Height": 300,
"Components": [
{
"Type": "TLabel",
"Name": "lblUser",
"Caption": "Username",
"Top": 20,
"Left": 20
},
{
"Type": "TEdit",
"Name": "edtUser",
"Top": 40,
"Left": 20,
"Width": 200
},
{
"Type": "TButton",
"Name": "btnLogin",
"Caption": "Login",
"Top": 80,
"Left": 20
}
]
}
๐ง How It Works (Under the Hood) BuilderUI uses:
๐๏ธ Builder + Factory pattern to create UI elements
๐ RTTI to dynamically instantiate and set component properties
๐ System.JSON for JSON parsing
๐งช In-progress unit tests using DUnitX
๐ก Why BuilderUI?
Use cases:
Generate dynamic admin panels from metadata
Let clients define UI layouts via config
Create low-code solutions inside Delphi
Replace boilerplate screen generation with flexible runtime forms
๐งญ Roadmap
Grouping and tabs with TPageControl
Data-aware components with binding
Drag-and-drop form designer
Integration with 3rd-party components (DevExpress, TMS)
JSON schema validation and autocomplete
โ๏ธ How to Use
Want a quick demo? Just clone the repo and run the example project.
- Clone the repository: git clone https://github.com/boscobecker/BuilderUI.git
- Open in Delphi (tested on Delphi 10.4 and 11+)
- Load a JSON file with layout
- Run the project and see the form created at runtime
๐ Contribute or Give Feedback
This project is under active development.
If you're passionate about runtime UI, low-code, or just love Delphi โ I'd love your feedback, ideas or contributions.
โญ Star the project on GitHub
๐ฌ Comment here or open an issue
๐ค Connect with me on LinkedIn :https://www.linkedin.com/in/boscobecker/
๐ GitHub Repo: https://github.com/boscobecker/BuilderUI
๐ง Follow me for more Delphi & .NET content!
Top comments (0)