This README is available in the following languages:
SOUI4 is a lightweight Windows client development framework, continuously developed and maintained for 14 years. The compiled core is about 1MB. The framework design draws inspiration from popular frameworks such as WTL, Android, QT, and Flash. UI presentation is based on XML configuration, with high performance (choose GDI or Skia rendering), rich controls, and flexible extension (supports xml + lua + js), truly separating UI and logic.
Visit the SOUI Official Website.
If you are new to SOUI, you can download the statically compiled demo.exe for a quick try (no need for source code or dependencies, just download and run).
Steps:
- Click the badge above to enter the page
- Click any link after the green circle
- Scroll down to find the
Artifacts
section - Download and extract
PC_Demo
to run
For more demo cases, visit the DEMO repository:
- https://github.com/soui4-demo Each demo is in a separate repository, clone as needed.
SOUI requires basic knowledge of C++ and Win32. Please ensure you are familiar with these skills. For more details, see the official documentation.
Use CMake to generate Visual Studio projects, then compile. All configuration is managed in CMake. For details, see build documentation.
The latest souieditor is integrated in the demos folder. Build the demo to get souieditor.
- JavaScript export version for client development. Repository: soui4js
- Supports Windows, Linux, macOS.
- Python3 version for client development. Repository: soui4py
- Supports Windows, Linux, macOS.
- Latest Online Tutorial (most complete, updated regularly)
- Tutorial Source Code (host locally with http server)
- Author's Blog
- Author's Bilibili Video Tutorials
- Use CMake to generate project files, open with Visual Studio, and compile
- Or use mingw32/64:
mkdir build && cd build && cmake .. && make -j8
- Pull submodule swinx:
git submodule update --init
- Install dependencies:
sudo apt install cmake git build-essential gdb libxcb1-dev libgl1-mesa-dev freeglut3-dev
- Build:
mkdir build && cd build && cmake .. && make -j8
- Pull submodule swinx:
git submodule update --init
- Install Homebrew (China mirror recommended)
- Install homebrew-core and homebrew-cask:
brew tap homebrew/core && brew tap homebrew/cask
- Install tools and dependencies:
brew install cmake ninja pkgconf glfw3 glew
- Build:
mkdir build && cd build && cmake .. -G Ninja && ninja -j8
See contributors.md
See license.txt