8.3 KiB
GuiLite - The smallest GUI library
Introduction
GuiLite is the smallest GUI library with 5000 lines of code, could run on all platforms(e.g, iOS/macOS/WathOS, Android, Linux, Windows, Docker and MCU without OS), and work with many languages(e.g. Swift, Java, Javascript, C#, Golang).
- ✂️Small: 5,000 lines of C++ code, could be merged into 1 header & 1 source file(GuiLite.h/GuiLite.cpp) - Easy to build & port
- ⚡Fast: Render GUI within one invoking, independent of any OS and any third party library - Make GUI run quickly and smoothly
- 💉Inject: Run inside Qt/MFC/Winform/Cocoa/Web - Keep Qt/MFC code reusable, and speed it up by local GuiLite-optimization
- ⚙️️Hardware Minimum Requirment:
| Processor | Disk/ROM space | Memory |
|---|---|---|
| 24 MHZ | 29 KB | 9 KB |
🔥New feature:Apple Watch
Run GuiLite both on MCU and Apple Watch:
| MCU | Apple Watch |
|---|---|
![]() |
![]() |
![]() |
![]() |
✨Features
⚔️Cross platform
| ARM Linux | STM32 Without OS |
|---|---|
![]() |
![]() |
| Windows Mixed Reality | Android |
|---|---|
![]() |
![]() |
| macOS | iOS & Aplle Watch |
|---|---|
![]() |
![]() |
🔍GuiLite previewer(WYSIWYG extension for GuiLite)
GuiLite Previewer is a Visual Studio Code extension, could extract GUI information from C++ code and preview GUI at preview page(What you see is what you get)

😎Gorgeous UI
🔣Multi-language:
🌐IoT Solution & 📊Code Telemetry
- Report build activities to cloud:

- Sync running data to cloud:

- ⚠️To stop telemetry, remove script files(e,g: sync_build.bat .sync.sh .sync_build.sh)
🐋Support Docker
We build GuiLite demo as docker image, you can update/deploy/run the latest GuiLite demo on your device with single command below:
sudo docker run -it --privileged -v /dev:/dev-share idea4good/gui-lite:latest bash /run.sh
📦3D

- Run GuiLite Samples(HelloParticle, HelloWave) on Web and 3D scenario, source code here
- Run GuiLite-Sample-Hello3D on MCU and Windows/Linux/Qt platform
🚀Quick Launch
GuiLite is only a framework, could not create UI by itself. In order to show how to build UI App with it, We provide some samples for you.
- Sample code here
- Sample introduction:
| Sample name | Platform | Description | Build guidance | Diffculty level |
|---|---|---|---|---|
| HelloParticle | Windows, Linux, STM32F103, STM32F429 | Show how to develop particle effect | Build | ★ |
| HelloStar | Windows, Linux, STM32F103, STM32F429 | Show how to develop star field effect | Build | ★ |
| Hello3D | Windows, Linux, STM32F103 | Lightweight(MCU level) 3D engine base on GuiLite | Build | ★★ |
| HelloNets | Windows, Linux, STM32F103 | Show how to build physics App with GuiLite | Build | ★★ |
| HelloGuiLite | Windows, Linux | Show how to Initialize UI, load resource, layout UI | Build | ★★ |
| HelloWidgets | Windows, Linux | Show how to use GuiLite widgets | Build | ★★ |
| HelloMario | Windows, Linux, STM32F103, STM32F429 | Show how to develop multi-layer UI system | Build | ★★ |
| HelloNavigation | Windows, Linux, STM32F103, STM32F429 | Show how to navigate/click widgets by hard button in non-touch GUI scenario | Build | ★★ |
| HelloFont | Windows, Linux | Show how to use multi-language feature(UTF-8) | Build | ★★ |
| HelloAnimation | Windows, Linux | Show how to make animation | Build | ★★ |
| HelloSlide | Windows, Linux | Show how to use sliding pages | Build | ★★★ |
| HelloWave | Windows, Linux, STM32F103, STM32F429 | Show how to use wave widget | Build | ★★★ |
| HostMonitor | iOS, Mac, Android, Windows, Linux | Show how to build complex UI for all platforms | Build | ★★★★ |
📚Documents
GuiLite is the smallest and simplest GUI library.
- Just 5,000 line C++ code
- Only use basic C++ feature(class, virtual function), no complex syntax
- All rendering base on draw_pixel, no algorithm
- Full documents and small live demos for reference
📈How to learn?
- Build/Run GuiLite library
- Build/Run HelloXXX demos
- Read/Modify
HelloXXX/UIcode/UIcode.cppcode - Read/Modify
guicode - Read/Modify
corecode - Build your UI framework
📀Videos
Mirror repository
📞Community Channel
Thanks for the help from community, you guys make GuiLite better! And welcome new friend to join us.
- QQ code:















