AWTK(Toolkit AnyWhere): 为嵌入式、手机和桌面开发的通用GUI

韦东山 数码相框 项目学习 (七)awtk的移植 awtk是国内一个优秀的开源GUI引擎,gitee网址由于LVGL无法直接显示JPG和PNG等格式的图片,折腾起来也较为麻烦,所以尝试了使用AWTK。 阅读详情

AWTK = Toolkit AnyWhere

AWTK是吸取了FTK和CanTK的精华,重新开发的GUI,计划分以下几个阶段实施:

  • 第一阶段专注于嵌入式系统,到达并超越TouchGfx/Embedded Wizard的功能。计划在2018/9底完成。
  • 第二阶段用AWTK本身开发界面编辑器(或组态软件IDE),从而验证AWTK支持PC软件开发的能力。计划在2018年底完成。
  • 第三阶段支持Mobile应用程序开发,这一步比较容易,因为在第一阶段就是要把手机上的现代GUI推广到传统嵌入式系统中去。计划在2019/3完成。
  • 第四阶段支持2D游戏开发,把以前开发游戏引擎的经验融合到AWTK中,方便开发交互式的多媒体应用。计划在2019/6完成。

最终目标:

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

其主要特色有:

  1. 小巧。在精简配置下,不依赖第三方软件包,仅需要8K RAM+32K 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. 内置agg/picasso/nanovg实现高质量的矢量动画。

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

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

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

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

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

目前核心功能已经完成(还不具备应用到产品的水平),欢迎有兴趣的朋友移植到各个RTOS。

模拟运行:

Mac

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

brew install scons sdl2

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

scons
./bin/demoui

Ubuntu

如果没有安装scons和libsdl2-dev,请在终端运行下面的命令:

sudo apt-get install scons libsdl2-dev

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

scons
./bin/demoui

Windows

(请先安装scons和Visual Studio C++(版本>2012)

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

scons
bin\demoui

各个平台的移植

文档

1.使用文档

2.HowTos

3.内部原理

4.移植文档

5.技术笔记

任务完成情况

TODO.md

AWTK学习笔记 编译:scons运行:.\bin\demo.exexml文件存放在工程的design\default\ui文件夹内c文件存放在工程的src文件夹内如果代码没有指定修改,默认按照AWTK Designer设置的控件属性动作运行API函数查看使用说明:https://awtk.zlg.cn/api/awtk/ 阅读详情

相关推荐

主流嵌入式开源GUI比较(二)

本文介绍网上资料比较少,搜索不到的一些GUI框架,有EFL(Enlightenment Foundation Libraries),AWTK(Toolkit AnyWhere),Wayland/Weston,SDL(Simple DirectMedia Layer),DirectFB,LittlevGL,Nuklear

逐梦的博客 2万+

GUI和AWTK介绍

GUI(图形化界面)目前在我们的生活中无处不在,以至于我们都很少关注到他为我们所带来的巨大改变,GUI出现于1970年一群天才之手,后伴随着PC由面向企业到面向个人的发展,再经乔布斯和比尔盖茨等发掘应用逐渐进入到大众视野。AWTK是我们国产的GUI开源引擎,其代码干净利落,思路清晰,而且各种更新频繁各种特性在不断的进行支持,同时对于开发者的支持做的也很好经常碰到问题后在github上上午提问,下午可能就有答复了。

Dr_chaser的博客 5004

嵌入式GUI框架选型指南:LVGL、Qt、TouchGFX等6大方案深度对比

图形用户界面(GUI)是嵌入式系统与用户交互的核心组件,其底层原理涉及图形渲染、事件驱动和人机交互设计。在资源受限的嵌入式环境中,GUI框架需在性能、内存占用和开发效率间取得平衡,其技术价值直接决定了产品的用户体验和开发维护成本。常见的应用场景包括智能家居面板、工业HMI、穿戴设备和车载显示等。本文聚焦嵌入式GUI选型,针对LVGL、Qt for MCUs、TouchGFX等主流框架,从硬件资源、开发工具、生态支持等维度进行横评,并结合LVGL的移植与优化实践,为工程师提供选型决策矩阵和实战避坑指南。

weixin_30629653的博客 364

ESP32 移植 AWTK(嵌入式GUI库)

ESP32 移植 AWTK库(开源嵌入式GUI库)

weixin_41640116的博客 3432

AWTK实现汽车仪表Cluster/DashBoard嵌入式GUI开发(一):概述

智能座舱的液晶仪表盘与中控IVI屏、抬头显示HUD、流媒体后视镜等一样属于智能座舱的一部分,它具有一定的交互能力,一种是用于显示,比如油车的发动机转速、里程、燃油量、冷却液温度、机油压力、行驶速度、ABS等,AWTK最厉害的不仅仅是通过拖拉就可以实现好看流畅顺滑的界面设计,关键是其还有一套可编程的部分,基于C语言实现一些界面的刷新、控件属性的设置、布局还有最重要的交互等。实现高质量的矢量动画。所谓矢量,可以理解为指针的转动不用一张张图片去贴,只要给这个指针的图片一个角度设定就好了,通过简单编程就可以实现。

码农17年的博客 2377

最新版谷歌浏览器Axure插件(免翻墙)

本文介绍了在Chrome浏览器无法直接打开Axure导出HTML文件的解决方法。由于国内网络限制无法访问Chrome商店,需手动下载安装AxureRP扩展插件(提供百度网盘下载链接)。安装步骤包括:1)启用开发者模式;2)拖拽CRX文件或加载解压文件夹;3)勾选"允许访问文件网址"。同时还提示若浏览器版本过低可能无法正常运行,并给出了浏览器升级方法。该教程详细说明了从插件安装到浏览器升级的完整解决方案。

OldCat先生 2976

AWTK(Toolkit AnyWhere): 为嵌入式、手机和桌面开发的通用GUI【转】

转自:https://blog.youkuaiyun.com/absurd/article/details/80958279 AWTK = Toolkit AnyWhere AWTK是吸取了FTK和CanTK的精华,重新开发的GUI,计划分以下几个阶段实施: 第一阶段专注于嵌入式系统,到达并超越TouchGfx/Embedded Wizard的功能。计划在2018/9底完成。 第二阶段用AWTK本...

weixin_33895016的博客 343

02-Cesium-实现天地图标记

首先天地图申请token,然后Cesium-实现天地图标记详细说明

m0_62785037的博客 1171

嵌入式GUI FTK介绍(8)-编译/运行PC模拟版本

转载时请注明出处和作者联系方式文章出处:http://www.limodev.cn/blog作者联系方式:李先静  FTK可以在X Window下模拟运行。o download: svn checkout http://ftk.googlecode.com/svn/trunk/ ftk-read-on

国产开源 GUI 引擎 AWTK 2828

Windows 10/11下R与RStudio最新版安装避坑指南(含镜像加速配置)

本文提供了Windows 10/11系统下R与RStudio最新版的详细安装指南,包含镜像加速配置和常见问题解决方案。通过分步教程帮助用户避开安装陷阱,优化开发环境设置,特别适合国内用户快速搭建高效的数据分析平台。

weixin_29065959的博客 1006

手把手教你用ZEMAX复现贝塞尔光束:从Thorlabs锥透镜到Edmund透镜的完整光路搭建

本文详细介绍了如何在ZEMAX光学设计软件中复现贝塞尔光束,从Thorlabs锥透镜到Edmund透镜的完整光路搭建过程。通过逐步指导,帮助研究人员和工程师掌握光学设计技巧,实现无衍射特性的贝塞尔光束生成,适用于激光加工和生物成像等领域。

weixin_33737774的博客 182

国产开源 GUI 引擎AWTK 1.2 发布

AWTK全称为Toolkit AnyWhere,是ZLG倾心打造的一套基于C语言开发的GUI框架。旨在为用户提供一个功能强大、高效可靠、简单易用、可轻松做出炫酷效果的GUI引擎,并支持跨平台同步开发,一次编程,终生使用。 AWTK当前升级到了v1.2版本,相对于v1.1,我们完善了许多细节,增加了部分特性、控件以及API等,让AWTK支持更多的功能和更炫酷的效果。 **  1....

国产开源 GUI 引擎 AWTK 3414

TMS320F28377D/F28379D CAN通信避坑指南:从寄存器配置到中断处理的完整流程

本文详细解析了TMS320F28377D/F28379D在CAN通信开发中的关键技术与避坑指南,涵盖时钟配置、寄存器初始化、中断处理等完整流程。针对工业控制和汽车电子应用,提供了实用的优化技巧和错误诊断方法,帮助开发者高效实现稳定可靠的CAN通信。

weixin_30954265的博客 492

AWTK:跨平台的开源GUI引擎

AWTK:跨平台的开源GUI引擎 awtkAWTK = Toolkit AnyWhere(a cross-platform embedded GUI)项目地址:https://gitcode.com/gh_mirrors/aw/awtk 在当今快速发展的技术环境中,开发一个稳定、高效且易于使用的图形用户界面(GUI)引擎对于各种应用场景至关重要。AWTK(Toolkit AnyWhere)是由Z...

gitblog_00074的博客 1572

展锐平台wifi连接性问题解决方案

对于断开连接的问题,需要从kernel log中确认下,是上 层主动发起的断开(会下发disconnect的命令),还是CP侧上报的断开事件。同学,别退出呀,我可是全网最牛逼的 WIFI/BT/GPS/NFC分析博主,我写了上百篇文章,请点击下面了解本专栏,进入本博主主页看看再走呗,一定不会让你后悔的,记得一定要去看主页置顶文章哦。1、出现wifi连接正常,但无法上网问题,首先确认其他手机是否可以正常上网,排除网络自身问题;3 路由器配置问题,出现过一个案例,恢复出场设置问题就解决了,具体根因。

手机-手表蓝牙开发工程师的博客 2023

【LAMMPS学习】八、基础知识(4.5)TIP5P水模型

​ 五点 TIP5P 刚性水模型通过添加两个通常无质量的附加位点 L 来扩展three-point TIP3P model,其中放置与氧原子相关的电荷。这些位点 L 位于距氧原子固定距离处,形成从 HOH 平面旋转 90 度的四面角。因此,这些位点在某种程度上近似于氧的孤对,从而改善了水结构,与four-point TIP4P model相比变得更加“四面体”。

荷塘阅色 1421

awtk支持html,awtk: AWTK 全称为 Toolkit AnyWhere,是 ZLG 倾心打造的一套基于 C 语言开发的 GUI 框架。旨在为用户提供一个功能强大、高效可靠、简单易用、可轻...

AWTK = Toolkit AnyWhere一、介绍AWTK 全称 Toolkit AnyWhere,是 ZLG 开发的开源 GUI 引擎,旨在为嵌入式系统、WEB、各种小程序、手机和 PC 打造的通用 GUI 引擎,为用户提供一个功能强大、高效可靠、简单易用、可轻松做出炫酷效果的 GUI 引擎。欢迎广大开发者一起参与开发:生态共建计划。AWTK 寓意有两个方面:Toolkit AnyWhere...

weixin_33657316的博客 1448

全志平台camera驱动开发(3)MIPI接口camera驱动开发

详细沟通: 请加video_D 目前开发过的allwinner平台: V5/V3/V3S/V40/T3/T7/A64等 开发过的mipi sensor: sony:imx317、imx477、imx274、imx258、imx286、imx307、imx385等 ov:ov2718、ov12895、ov2710等 ar: ar0238等 国产:gc1024、gc1034...

jzwjzw19900922的博客 9030

ZLG开源GUI引擎AWTK发布1.1版本

ZLG开源GUI引擎AWTK发布1.1版本 一、介绍 AWTK全称Toolkit AnyWhere,是ZLG开发的开源GUI引擎,旨在为嵌入式系统、WEB、各种小程序、手机和PC打造的通用GUI引擎,为用户提供一个功能强大、高效可靠、简单易用、可轻松做出炫酷效果的GUI引擎。 AWTK寓意有两个方面: Toolkit AnyWhere。 ZLG物联网操作系统AWorks内置GUI。 AWTK源...

国产开源 GUI 引擎 AWTK 3769

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

AWTK嵌入式GUI引擎:10分钟快速上手跨平台UI开发

想要快速掌握嵌入式GUI开发?AWTK(Toolkit AnyWhere)是一个功能强大的跨平台GUI引擎,专为嵌入式系统、Linux、Windows、Android、iOS和Web应用设计。这个完整的开源解决方案让你在10分钟内就能开始构建美观的用户界面!🚀 ## 为什么选择AWTK嵌入式GUI引擎? AWTK是一个高效、可靠的GUI引擎,特别适合资源受限的嵌入式设备。它提供了完整的工具链

gitblog_00607的博客 773

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

探索AWTK:跨平台的开源GUI引擎

在当今快速发展的技术环境中,选择一个合适的GUI引擎对于开发高效、可靠且用户友好的应用程序至关重要。AWTK(Toolkit AnyWhere)是由ZLG开发的一款开源GUI引擎,它不仅支持嵌入式系统,还广泛适用于Web、小程序、手机和PC等多种平台。本文将深入介绍AWTK的核心特性、技术优势以及应用场景,帮助开发者了解为何AWTK是值得考虑的优秀选择。 ## 项目介绍 AWTK,全称Tool...

gitblog_00120的博客 1289

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

AWTK跨平台GUI框架:从架构原理到多端部署实战

跨平台GUI开发是解决软件多端适配的核心技术,其原理在于通过抽象层封装不同操作系统的底层差异,实现一套代码多处运行。这项技术的核心价值在于大幅提升开发效率、降低维护成本,并确保用户体验的一致性。在嵌入式设备、桌面应用和移动端等场景中,高效的GUI框架尤为关键。AWTK作为一款轻量级跨平台GUI引擎,通过C语言核心结合JavaScript等脚本绑定,在**嵌入式Linux**和**WebAssembly**等平台上实现了高性能渲染与快速开发。其分层架构与矢量图形支持,为资源受限环境下的界面开发提供了可靠解决方

weixin_30706691的博客 455

嵌入式GUI选型指南:痞子衡嵌入式半月刊收录的12+主流GUI框架横评(u8g2/LVGL/emWin/AWTK)

《痞子衡嵌入式半月刊》从 2020 年 2 月起每半个月发布一期,持续收录嵌入式领域有用有趣的工具、项目与热点新闻。其中,**嵌入式 GUI 框架**方向的收录多达 12 个以上,从 u8g2、LVGL 到 emWin、AWTK,几乎覆盖了单片机开发者会遇到的全部主流选择。本文基于半月刊的历史收录,带你快速完成一次清晰的 GUI 选型。 ## 🎯 选型前先问三个问题 在纠结具体框架之前,先明

gitblog_02313的博客 403

AWTK界面开发入门:用XML构建跨平台UI的完整指南

在嵌入式与桌面跨平台GUI开发中,界面描述语言与逻辑代码的分离正成为提升效率的关键。XML作为AWTK的界面描述语言,用标签化结构定义窗口、控件布局与主题样式,使UI结构调整无需重新编译,资源迭代更快速。本文从XML的基本概念出发,解析其在AWTK中承担的角色、窗口控件骨架、布局容器与主题机制,并通过登录窗口示例演示静态界面与动态响应的协作方式。针对开发者常见的白屏、坐标单位、属性拼写与解析报错等实践问题,提供了可复用的排查思路。掌握XML描述结构、代码驱动行为的开发模式,能显著降低跨平台项目的适配成本,尤

weixin_33788244的博客 392
上一篇: SDL + OpenGL使用笔记
下一篇: AWTK是如何保证代码质量的
李先静
博客等级 码龄23年 2万+粉丝 846原创
评论 6
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值