/GuiLite

✔️The smallest UI framework for all platform & Docker -- 5k lines code

Primary LanguageC++Apache License 2.0Apache-2.0

GuiLite - The smallest UI framework


What is GuiLite?

  • GuiLite, a tiny and light framework, has only 5000 lines of C++ code, supporting all computing platforms. It could run on iOS, Android, Linux(ARM/x86-64), Windows, macOS and Docker container.
  • GuiLite is without reference to OS & Grphic library, it even could run on any kind of MCU without OS.
  • GuiLite is an embeddable framework. It can work with an another UI framework such as Qt/MFC/UWP/XCode, which means you can get not only GuiLite features but also iOS/Android/macOS/Qt/MFC/UWP features on your project.
  • GuiLite can work with other languages(e.g. Swift, Java, C#).
  • ⚠️We never encourage people accept GuiLite totally and uncritically, but want people master principles of UI itself.
  • ⚙️We hope GuiLite is small enough to help you understand how UI work, and build unique UI yourself.
  • 👑You should be the master of your UI, not any UI library (including GuiLite).

New feature: Run GuiLite demos in Docker

We build GuiLite demo as docker container, 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

Features

Cross platform(include MCU platform without OS)

On macOS & iOS:

macOS iOS

On Android & GNU/Linux embedded (ARM):

Android GNU/Linux embedded (ARM)

On Windows Mixed Reality & MCU:

Win MR MCU

Unicode & Bitmap

Wallpaper with bitmap:

wallpaper

Multi-language:

unicode

How to build unicode font/bitmap resource?

Multi-theme

multi-theme

How to switch theme?

Self monitor

Report build activities to cloud:

BuildInfo

Sync local data to cloud:

DataOnCloud

Demo

GuiLite is only a framework, it could not create UI by itself. In order to show how to build UI App with it, We provide some samples for you.

  • Click here to preview its effect.
  • Sample code description:
Sample name Platform Description Build code 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

Gitee link

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.

Donators