Code Monkey home page Code Monkey logo

caipengyang / awtk Goto Github PK

View Code? Open in Web Editor NEW

This project forked from zlgopen/awtk

0.0 2.0 0.0 104.4 MB

AWTK = Toolkit AnyWhere(为嵌入式、手机和PC打造的通用GUI系统)

License: GNU Lesser General Public License v2.1

Makefile 0.16% CMake 0.47% Python 1.46% HTML 0.02% Shell 1.05% C 58.82% M4 0.32% Java 0.49% Batchfile 0.01% PowerShell 0.04% Roff 0.01% C++ 34.97% Objective-C 1.73% Perl 0.06% Metal 0.01% JavaScript 0.13% PHP 0.25% Scala 0.01% SuperCollider 0.01%

awtk's Introduction

zlg

AWTK = Toolkit AnyWhere

最终目标:

  • 支持开发嵌入式软件。
  • 支持开发Linux应用程序。
  • 支持开发MacOS应用程序。
  • 支持开发Windows应用程序。
  • 支持开发Android应用程序。
  • 支持开发iOS应用程序。
  • 支持开发2D游戏。

其主要特色有:

  1. 小巧。在精简配置下,不依赖第三方软件包,仅需要32K RAM + 256K FLASH即可开发一些简单的图形应用程序。

  2. 高效。采用脏矩形裁剪算法,每次只绘制和更新变化的部分,极大提高运行效率和能源利用率。

  3. 稳定。通过良好的架构设计和编程风格、单元测试、动态(valgrind)检查和Code Review保证其运行的稳定性。

  4. 丰富的GUI组件。提供窗口、对话框和各种常用的组件(用户可以配置自己需要的组件,降低对运行环境的要求)。

  5. 支持多种字体格式。内置位图字体(并提供转换工具),也可以使用stb_truetype或freetype加载ttf字体。

  6. 支持多种图片格式。内置位图图片(并提供转换工具),也可以使用stb_image加载png/jpg等格式的图片。

  7. 紧凑的二进制界面描述格式。可以手工编辑的XML格式的界面描述文件,也可以使用Qt Designer设计界面,然后转换成紧凑的二进制界面描述格式,提高运行效率,减小内存开销。

  8. 支持主题并采用紧凑的二进制格式。开发时使用XML格式描述主题,然后转换成紧凑的二进制格式,提高运行效率,减小内存开销。

  9. 支持裸系统,无需OS和文件系统。字体、图片、主题和界面描述数据都编译到代码中,以常量数据的形式存放,运行时无需加载到内存。

  10. 内置nanovg实现高质量的矢量动画,并支持SVG矢量图。

  11. 支持窗口动画、控件动画、滑动动画和高清LCD等现代GUI常见特性。

  12. 支持国际化(Unicode、字符串翻译和输入法等)。

  13. 可移植。支持移植到各种RTOS和嵌入式Linux系统,并通过SDL在各种流行的PC/手机系统上运行。

  14. 脚本化。从API注释中提取API的描述信息,通过这些信息可以自动生成各种脚本的绑定代码。

  15. 支持硬件2D加速(目前支持STM32的DMA2D和NXP的PXP)和GPU加速(OpenGL/OpenGLES/DirectX/Metal),充分挖掘硬件潜能。

  16. 丰富的文档和示例代码。

  17. 采用LGPL协议开源发布,在商业软件中使用时无需付费。

目前核心功能已经完成,内部开始在实际项目中使用了,欢迎有兴趣的朋友评估和尝试,期待您的反馈。

模拟运行:

Mac

如果没有安装scons和sdl2,请在终端运行下面的命令(假定已安装brew):

brew install scons sdl2

编译运行(在终端下,进入awtk所在的目录,并运行下列命令):

scons
./bin/demoui

Ubuntu (版本>=16)

如果没有安装scons和依赖的软件包,请在终端运行下面的命令:

sudo apt-get install scons libsndio-dev libgtk-3-dev libglu1-mesa libglu1-mesa-dev libgl1-mesa-glx libgl1-mesa-dev

编译运行(在终端下,进入awtk所在的目录,并运行下列命令):

scons
./bin/demoui

Windows

(请先安装python2.7,scons和Visual Studio C++(版本>=2017)

编译运行(在命令行模式下,进入awtk所在的目录,并运行下列命令):

scons
bin\demoui

演示视频

1.基本控件演示

各个平台的移植

官方支持平台

移植示例(不定期更新)

各语言的绑定

相关工程

文档

文档

任务完成情况

任务完成情况

最新动态

最新动态

awtk's People

Contributors

xianjimli avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.