zlgopen / awtk

AWTK = Toolkit AnyWhere(a cross-platform embedded GUI)
GNU Lesser General Public License v2.1
3.1k stars 768 forks source link
djyos embedded gui liteos ms-rtos rt-thread stm32 sylixos zephyr

AWTK = Toolkit AnyWhere

中文用户请看这里

I. Introduction

AWTK , the abbreviation of Toolkit AnyWhere, is an open source GUI engine developed by ZLG. It is a cross-platform GUI engine for embedded systems, WEB, mini programs, mobile phones and PC. It is a powerful, efficient, reliable and easy-to-use GUI engine for users to design beautiful GUI applications.

Welcome developers to join us in our development:Joint Ecology Building Plan

AWTK has two implications as follows:

AWTK source code repositories:

AWTK Designer - the UI design tool:

AWTK Designer

Screenshots:

Chart-Demo

MusicPlayer-Demo

Watch

II. Ultimate Objectives

III. Main Features

1. Cross-platform

AWTK is a cross-platform GUI engine , which has two meanings as follows:

2. Efficient

AWTK ensure efficiency through the following operations:

3. Stable

AWTK makes codes as stable and reliable as possible in following ways:

4. Powerful

5. Easy-to-use

6. Customizable

7. Multiple Development Languages

AWTK is been developed in the C Program Language. Scripts in different languages can be generated by the IDL. The binding code generated not only simply mapping the C API to the target script language, but also with the native code styles of the target script language. At present, following languages are supported (More languages will be added):

8. Internationalization

9. The MVVM framework for embedded software thoroughly separate user interfaces from business logic

For details, please see https://github.com/zlgopen/awtk-mvvm

10. Open source codes are freely available for commercial purposes (LGPL)

IV. Simulation Run

Code Downloading

Git under Windows

Code Downloading

git clone https://github.com/zlgopen/awtk.git

Under Windows, codes can be downloaded by git with GUI tool.

Code Updating (in the awtk directory)

git pull

The advantage of using Git is that it is very convenient to update the code later.

Download the zip file. Once unzipped, the file shall be renamed awtk.

Mac

If nodejs, scons and sdl2 aren't installed, please run the following command in the terminal (assuming that brew has been installed):

brew install scons sdl2 node

Compile and run (Enter the directory where awtk is and run the following command in the terminal):

scons
./bin/demoui

Ubuntu (version >=16)

If scons and the dependent software pack aren't installed, please run the following command in the terminal:

sudo apt-get install gcc g++ scons libsndio-dev libgtk-3-dev libglu1-mesa libglu1-mesa-dev libgl1-mesa-glx libgl1-mesa-dev libasound2-dev libibus-1.0-dev fcitx-libs-dev git vim clang-format libharfbuzz-dev nodejs libreadline-dev

Compile and run (Enter the awtk directory and run the following command in the terminal):

scons
./bin/demoui

If it can't be run in Ubuntu 14, please refer to FAQ.

Windows

Please install python (64-bit python shall be installed for a 64-bit system), scons and Visual Studio C++ (version>=2017) first.

If pywin32 isn't installed, please use pip to install:

pip install pywin32

Compile and run (Enter the awtk directory and run the following command in the terminal):

Install nodejs

scons
bin\demoui

compile prams

help info :

scons help

export compile prams file :

scons DEFINE_FILE=./awtk_config_define.py

build compile prams file :

scons EXPORT_DEFINE_FILE=./awtk_config_define.py

for all platforms

If PIL isn't installed, please use pip to install:

pip install Pillow

If nodejs glob isn't installed, please use npm to install:

npm install -g glob

V. Online Demonstration

VI. Platform Porting

VII. Language Binding

VIII. Related Projects

The third party provides:

IX. Documentation

X. Joint Ecology Building Plan

    

XI. Developer Community

Welcome any interested developer to evaluate and try to use AWTK. If you have any suggestions or questions about AWTK, please add the WeChat account zlgmcu-888 to enter the AWTK communication group, and ZLG R&D team will answer them for you.