自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

這個(gè)標(biāo)星 1.2k+ 的 GUI 引擎竟然支持跨平臺(tái)開(kāi)發(fā)

新聞 前端
這個(gè)開(kāi)源的 GUI 引擎,旨在為嵌入式系統(tǒng)、WEB、各種小程序、手機(jī)和 PC 打造的通用 GUI 引擎,為用戶提供一個(gè)功能強(qiáng)大、高效可靠、簡(jiǎn)單易用、可輕松做出炫酷效果的 GUI 引擎。

AWTK 全稱 Toolkit AnyWhere,是 ZLG 開(kāi)發(fā)的開(kāi)源 GUI 引擎,旨在為嵌入式系統(tǒng)、WEB、各種小程序、手機(jī)和 PC 打造的通用 GUI 引擎,為用戶提供一個(gè)功能強(qiáng)大、高效可靠、簡(jiǎn)單易用、可輕松做出炫酷效果的 GUI 引擎。

AWTK 寓意有兩個(gè)方面:

  • Toolkit AnyWhere。
  • ZLG 物聯(lián)網(wǎng)操作系統(tǒng) AWorks 內(nèi)置 GUI。

AWTK 運(yùn)行效果截圖:

這個(gè)標(biāo)星 1.2k+ 的 GUI 引擎竟然支持跨平臺(tái)開(kāi)發(fā)
這個(gè)標(biāo)星 1.2k+ 的 GUI 引擎竟然支持跨平臺(tái)開(kāi)發(fā)

AWTK 主要特色:

1、跨平臺(tái)

AWTK 是跨平臺(tái)的,這有兩個(gè)方面的意思:

  • AWTK 本身是跨平臺(tái)的。目前支持的平臺(tái)有 ZLG AWorks、Windows、Linux、MacOS、嵌入式 Linux、Android、Web 和嵌入式裸系統(tǒng),可以輕松的移植到各種 RTOS 上。AWTK 以后也可以運(yùn)行在各種小程序和 iOS 等平臺(tái)上運(yùn)行。
  • AWTK 同時(shí)還提供了一套跨平臺(tái)的基礎(chǔ)工具庫(kù)。其中包括鏈表、數(shù)組、字符串 (UTF8 和 widechar),事件發(fā)射器、值、對(duì)象、文件系統(tǒng)、互斥鎖和線程、表達(dá)式和字符串解析等等,讓你用 AWTK 開(kāi)發(fā)的應(yīng)用程序可以真正跨平臺(tái)運(yùn)行。

2、高效

AWTK 通過(guò)一系列的手段保證 AWTK 應(yīng)用程序高效運(yùn)行:

  • 通過(guò)臟矩算法只更新變化的部分。
  • 支持 3 FrameBuffer 讓界面以最高幀率運(yùn)行 (可選)。
  • UI 描述文件和主題文件使用高效的二進(jìn)制格式,解析在瞬間完成。
  • 支持各種 GPU 加速接口。如 OpenGL、DirectX、Vulkan 和 Metal 等。
  • 支持嵌入式平臺(tái)的各種 2D 加速接口。目前 STM32 的 DMA2D 和 NXP 的 PXP 接口,廠家可以輕松擴(kuò)展自己的加速接口。

3、穩(wěn)定

AWTK 通過(guò)下列方式極力讓代碼穩(wěn)定可靠:

  • 使用 cppcheck 和 facebook infer 進(jìn)行靜態(tài)檢查。
  • 使用 valgrind 進(jìn)行動(dòng)態(tài)內(nèi)存檢查。
  • 近兩萬(wàn)行的單元測(cè)試代碼。
  • ZLG 強(qiáng)大 GUI 團(tuán)隊(duì)的支持。
  • 經(jīng)過(guò)多個(gè)實(shí)際項(xiàng)目驗(yàn)證。
  • 多平臺(tái) / 多編譯器驗(yàn)證。
  • 優(yōu)秀的架構(gòu)設(shè)計(jì)。
  • Code Review。
  • 手工測(cè)試。

4、強(qiáng)大

  • 豐富的控件 (持續(xù)增加中)。
  • 支持各種圖片格式 (png/jpg/gif/svg)。
  • 支持各種字體格式 (點(diǎn)陣和矢量)。
  • 支持窗口動(dòng)畫(huà)
  • 支持控件動(dòng)畫(huà)
  • 支持高清屏。
  • 支持界面描述文件。
  • 支持主題描述文件。
  • 支持控件布局策略。
  • 支持對(duì)話框高亮策略。
  • 豐富的輔助工具。
  • 支持從低端的 Cortex M3 到各種高端 CPU。
  • 支持無(wú)文件系統(tǒng)和自定義的文件系統(tǒng)。
  • 支持裸系統(tǒng)和 RTOS。

5、易用

  • 大量的示例代碼。
  • 完善的 API 文檔和使用文檔。
  • ZLG 強(qiáng)大的技術(shù)支持團(tuán)隊(duì)。
  • 用 AWTK 本身開(kāi)發(fā)的界面編輯器 (開(kāi)發(fā)中)。
  • 聲明式的界面描述語(yǔ)言。一行代碼啟用控件動(dòng)畫(huà),啟用窗口動(dòng)畫(huà),顯示圖片 (png/jpg/svg/gif)。

6、高度擴(kuò)展性

  • 可以擴(kuò)展自己的控件。
  • 可以擴(kuò)展自己的動(dòng)畫(huà)。
  • 可以實(shí)現(xiàn)自己的主循環(huán)。
  • 可以擴(kuò)展自己的軟鍵盤。
  • 可以擴(kuò)展自己的圖片加載器。
  • 可以擴(kuò)展自己的字體加載器。
  • 可以擴(kuò)展自己的輸入法引擎。
  • 可以擴(kuò)展自己的控件布局算法。
  • 可以擴(kuò)展自己的對(duì)話框高亮策略。
  • 可以實(shí)現(xiàn)自己的 LCD 接口。
  • 可以擴(kuò)展自己的矢量引擎 (如使用 skia/cairo)。所有擴(kuò)展組件和內(nèi)置組件具有相同的待遇。

7、多種開(kāi)發(fā)語(yǔ)言

AWTK 本身是用 C 語(yǔ)言開(kāi)發(fā)的,可以通過(guò) IDL 生成各種腳本語(yǔ)言的綁定。生成的綁定代碼不是簡(jiǎn)單的把 C 語(yǔ)言的 API 映射到腳本語(yǔ)言,而是生成腳本語(yǔ)言原生代碼風(fēng)格的 API。目前支持以下語(yǔ)言 (以后根據(jù)需要增加):

  • C
  • Lua
  • Javascript on jerryscript
  • Javascript on nodejs
  • Javascript on quickjs

8、國(guó)際化

  • 支持 Unicode。
  • 支持輸入法。
  • 支持字符串翻譯 (實(shí)時(shí)生效)。
  • 支持圖片翻譯 (實(shí)時(shí)生效)。
  • 文字雙向排版 (計(jì)劃中)。

9. 開(kāi)放源碼,免費(fèi)商用 (LGPL)。

是不是很強(qiáng)大,想了解更多,請(qǐng)閱讀原文。

開(kāi)源項(xiàng)目地址:https://github.com/zlgopen/awtk

開(kāi)源項(xiàng)目作者:zlgopen

 

責(zé)任編輯:張燕妮 來(lái)源: 今日頭條
相關(guān)推薦

2021-09-18 11:28:29

GitHub代碼開(kāi)發(fā)者

2014-08-06 14:56:15

2020-12-30 10:35:49

程序員技能開(kāi)發(fā)者

2014-09-26 22:21:33

2024-11-26 14:20:00

開(kāi)發(fā)模型工具

2019-09-16 09:58:16

GitHub搶票Python

2014-10-14 11:25:56

CrossApp開(kāi)發(fā)引擎移動(dòng)App

2020-09-23 14:33:01

Golang桌面開(kāi)發(fā)GUI

2021-05-27 05:22:28

前端引擎平臺(tái)

2014-06-04 10:37:20

CrossApp開(kāi)源跨平臺(tái)開(kāi)發(fā)引擎

2015-09-21 17:48:12

APICloudSublimeapicloud

2021-04-09 16:25:00

GitHub代碼開(kāi)發(fā)者

2011-12-12 13:58:11

TinyCoiOSAndroid

2019-11-08 10:34:42

開(kāi)發(fā)者技能工具

2013-09-10 10:44:39

移動(dòng)開(kāi)發(fā)工具游戲引擎

2015-09-16 10:21:46

SublimeAPICloudAPP

2014-05-26 15:17:10

CrossApp開(kāi)源跨平臺(tái)開(kāi)發(fā)引擎

2021-10-21 05:57:33

網(wǎng)盤開(kāi)源云盤系統(tǒng)

2021-03-10 09:39:15

GitHub 技術(shù)開(kāi)源

2020-06-16 11:09:13

程序員技能開(kāi)發(fā)者
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)