Hasson-Wong / GuiLite

✔️The smallest GUI library for all platform -- 5k lines code

Home Page:https://www.youtube.com/watch?v=grqXEz3bdC0

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

GuiLite - The smallest UI framework

badge_build badge_docker badge_platform badge_lincense badge_lincense


Introduction

  • GuiLite is a barebone UI framework with 5000 lines of C++ code, could run on all platforms(e.g, iOS, Android, Linux, Windows, macOS and Docker container).
  • GuiLite is embeddable, could work inside other UI framework(e.g, Qt, MFC, Winform, Cocoa). You could get GuiLite feature and host UI feature simultaneously.
  • GuiLite render UI by itself, independent of OS & Grphic library.
  • GuiLite could work with many languages(e.g. Swift, Java, C#, Golang).
  • ⚠️We never encourage people accept GuiLite totally, but want people customize it.
  • ⚙️We hope GuiLite is small enough to help you understand how UI work.
  • 👑You should be the master of your UI, not any UI library (including GuiLite).

🔥New feature:Golang + GuiLite

In order to show how GuiLite work with Golang, we add BuildGo for HostMonitor

Features

Cross platform

ARM Linux STM32 Without OS
ARM Linux MCU MCU
Windows Mixed Reality Android
Win MR Android
macOS iOS
macOS iOS

Support Docker Container

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

Easy customization

wallpaper


Multi-language:

unicode


Multi-theme

multi-theme


IoT Edge or Code Telemetry

⚠️Remove all shell/batch files if you do not want to share the data.

  • Report build activities to cloud:
    BuildInfo
  • Sync running data to cloud:
    DataOnCloud

Start with Demo

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 system Build
HelloGuiLite Windows, Linux Show how to Initialize UI, load resource, layout UI Build ★★
HelloMario Windows, Linux, STM32F103, STM32F429 Show how to develop multi-layer UI system 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

How to learn?

  1. Build/Run GuiLite library
  2. Build/Run HelloXXX demos
  3. Read/Modify HelloXXX/UIcode/UIcode.cpp code
  4. Read/Modify gui code
  5. Read/Modify core code
  6. Build your UI framework

Videos

Mirror repository

Gitee in China

Thanks

  • Thanks the help from QQ group, you guys make GuiLite better! And welcome new friend to join us.
    QQ group: 527251257
  • Thanks the donations from Gitee users, every penny of donations will be used for needy children or family of China.

About

✔️The smallest GUI library for all platform -- 5k lines code

https://www.youtube.com/watch?v=grqXEz3bdC0

License:Apache License 2.0


Languages

Language:C++ 96.9%Language:C 1.6%Language:Batchfile 0.6%Language:CMake 0.5%Language:Shell 0.4%