/GuiLite

✔️The smallest UI framework for all platform -- 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, GNU/Linux, Windows, macOS and all ARM Linux IOT platforms.
  • GuiLite is without reference to OS & Grphic library, it even could run on any kind of MCU without OS.
  • GuiLite is an embedded 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: Demo on MCU -- HelloWave + HelloParticle

HelloWave        HelloParticle

  • MCU Hardware: STM32F103ZET6(512K ROM, 64K RAM) + 240*320 16bits color TFT LCD
  • MCU Software: None OS + GuiLite
  • Hello Wave has only 100+ lines code! Check the code. Showing you how to use the wave widget.
  • Hello Particle has only 100- lines code! Check the code. Showing you how to develop a particle system.
  • How to porting on any MCU in 5 minutes?
  • Also support: Windows & Linux

Features

Cross platform

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
HelloGuiLite Windows, Linux Show how to Initialize UI, load resource, layout UI Build ★★
HelloFont Windows, Linux Show how to use multi-language feature(UTF-8) Build ★★
HelloAnimation Windows, Linux Show how to make animation Build ★★
HelloParticle Windows, Linux, STM32F103, STM32F429 Show how to develop particle system 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