"\u003Cdiv\u003E\u003Cp\u003EAWTK全稱爲Toolkit AnyWhere,是ZLG傾心打造的一套基於C語言開發的GUI框架。旨在爲用戶提供一個功能強大、高效可靠、簡單易用、可輕鬆做出炫酷效果的GUI引擎,並支持跨平臺同步開發,一次編程,終生使用。\u003C\u002Fp\u003E\u003Cp\u003EAWTK當前升級到了v1.2版本,相對於v1.1,我們完善了許多細節,增加了部分特性、控件以及API等,讓AWTK支持更多的功能和更炫酷的效果。\u003C\u002Fp\u003E\u003Cdiv class=\"pgc-img\"\u003E\u003Cimg src=\"http:\u002F\u002Fp3.pstatp.com\u002Flarge\u002Fpgc-image\u002F5eb95ad60d1e41c49ca1b676925713a6\" img_width=\"1\" img_height=\"1\" alt=\"軟件更新丨AWTK 1.2 發佈,國產開源 GUI 引擎\" inline=\"0\"\u003E\u003Cp class=\"pgc-img-caption\"\u003E\u003C\u002Fp\u003E\u003C\u002Fdiv\u003E\u003Cp\u003E\u003Cstrong\u003E 1.2版本更新的內容\u003C\u002Fstrong\u003E\u003C\u002Fp\u003E\u003Cp\u003E\u003Cstrong\u003E細節完善\u003C\u002Fstrong\u003E\u003C\u002Fp\u003E\u003Cul\u003E\u003Cli\u003E輸入法候選字支持滾動;\u003C\u002Fli\u003E\u003Cli\u003Eslider支持上下左右鍵;\u003C\u002Fli\u003E\u003Cli\u003Eguage pointer支持錨點;\u003C\u002Fli\u003E\u003Cli\u003Eslide view indicator作爲獨立控件;\u003C\u002Fli\u003E\u003Cli\u003E完善idl gen工具;\u003C\u002Fli\u003E\u003Cli\u003E完善doc gen工具;\u003C\u002Fli\u003E\u003Cli\u003E支持用focusable屬性設置控件焦點;\u003C\u002Fli\u003E\u003Cli\u003E去掉TK_DEFAULT_FONT宏定義;\u003C\u002Fli\u003E\u003Cli\u003E增加style border_width;\u003C\u002Fli\u003E\u003Cli\u003E支持動態修改屏保時間;\u003C\u002Fli\u003E\u003Cli\u003ESDL FB模式啓用髒矩形;\u003C\u002Fli\u003E\u003Cli\u003E新增內存耗盡處理;\u003C\u002Fli\u003E\u003Cli\u003E...\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003Cp\u003E\u003Cstrong\u003E新增特性\u003C\u002Fstrong\u003E\u003C\u002Fp\u003E\u003Cul\u003E\u003Cli\u003Ecairo實現的vgcanvas;\u003C\u002Fli\u003E\u003Cli\u003E支持32位Windows編譯;\u003C\u002Fli\u003E\u003Cli\u003E增加條件變量tk_cond_var;\u003C\u002Fli\u003E\u003Cli\u003E支持用tab鍵切換控件的焦點;\u003C\u002Fli\u003E\u003Cli\u003E支持在不同位置彈出完整窗口動畫;\u003C\u002Fli\u003E\u003Cli\u003Esvg\u002Fgif支持從文件系統中加載圖片;\u003C\u002Fli\u003E\u003Cli\u003E增加widget_gen腳本生成自定義控件;\u003C\u002Fli\u003E\u003Cli\u003E增加self_layouter_menu實現彈出菜單;\u003C\u002Fli\u003E\u003Cli\u003E增加lcd_mem_special;\u003C\u002Fli\u003E\u003Cli\u003Estyle增加margin參數。\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003Cp\u003E\u003Cstrong\u003E新增控件\u003C\u002Fstrong\u003E\u003C\u002Fp\u003E\u003Cul\u003E\u003Cli\u003Emledit多行編輯器;\u003C\u002Fli\u003E\u003Cli\u003Eoverlay overlay窗口;\u003C\u002Fli\u003E\u003Cli\u003Ehscroll_label可水平滾動的文本。\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003Cp\u003E\u003Cstrong\u003E新增重要API\u003C\u002Fstrong\u003E\u003C\u002Fp\u003E\u003Cul\u003E\u003Cli\u003Etimer_modify\u003C\u002Fli\u003E\u003Cli\u003Ewidget_add_idle\u003C\u002Fli\u003E\u003Cli\u003Ewidget_find_animator\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003Cdiv class=\"pgc-img\"\u003E\u003Cimg src=\"http:\u002F\u002Fp3.pstatp.com\u002Flarge\u002Fpgc-image\u002F9ef89d06e1824381b57820b79c860047\" img_width=\"1\" img_height=\"1\" alt=\"軟件更新丨AWTK 1.2 發佈,國產開源 GUI 引擎\" inline=\"0\"\u003E\u003Cp class=\"pgc-img-caption\"\u003E\u003C\u002Fp\u003E\u003C\u002Fdiv\u003E\u003Cp\u003E\u003Cstrong\u003E在線運行效果: \u003C\u002Fstrong\u003Ehttp:\u002F\u002Fzlgawtk.bceapp.com\u002F\u003C\u002Fp\u003E\u003Cp\u003E\u003Cstrong\u003EAWTK介紹:\u003C\u002Fstrong\u003E\u003C\u002Fp\u003E\u003Cp\u003EAWTK 全稱 Toolkit AnyWhere,是 ZLG 開發的開源 GUI 引擎,旨在爲嵌入式系統、WEB、各種小程序、手機和 PC 打造的通用 GUI 引擎,爲用戶提供一個功能強大、高效可靠、簡單易用、可輕鬆做出炫酷效果的 GUI 引擎。\u003C\u002Fp\u003E\u003Cp\u003EAWTK 寓意有兩個方面:\u003C\u002Fp\u003E\u003Cul\u003E\u003Cli\u003EToolkit AnyWhere。\u003C\u002Fli\u003E\u003Cli\u003EZLG 物聯網操作系統 AWorks 內置 GUI。\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003Cp\u003EAWTK 源碼倉庫:\u003C\u002Fp\u003E\u003Cul\u003E\u003Cli\u003E主源碼倉庫:https:\u002F\u002Fgithub.com\u002Fzlgopen\u002Fawtk\u003C\u002Fli\u003E\u003Cli\u003E鏡像源碼倉庫:https:\u002F\u002Fgitee.com\u002Fzlgopen\u002Fawtk\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003Cp\u003E運行效果截圖:\u003C\u002Fp\u003E\u003Cdiv class=\"pgc-img\"\u003E\u003Cimg src=\"http:\u002F\u002Fp1.pstatp.com\u002Flarge\u002Fpgc-image\u002Fe9ccceeebf944cd9af888491dac89ede\" img_width=\"800\" img_height=\"480\" alt=\"軟件更新丨AWTK 1.2 發佈,國產開源 GUI 引擎\" inline=\"0\"\u003E\u003Cp class=\"pgc-img-caption\"\u003E\u003C\u002Fp\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"pgc-img\"\u003E\u003Cimg src=\"http:\u002F\u002Fp1.pstatp.com\u002Flarge\u002Fpgc-image\u002F44fee2e7475649b6bff43b75e7179772\" img_width=\"800\" img_height=\"480\" alt=\"軟件更新丨AWTK 1.2 發佈,國產開源 GUI 引擎\" inline=\"0\"\u003E\u003Cp class=\"pgc-img-caption\"\u003E\u003C\u002Fp\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"pgc-img\"\u003E\u003Cimg src=\"http:\u002F\u002Fp1.pstatp.com\u002Flarge\u002Fpgc-image\u002F1d14a28ffe274cd89ee26841b8b0d1e4\" img_width=\"800\" img_height=\"480\" alt=\"軟件更新丨AWTK 1.2 發佈,國產開源 GUI 引擎\" inline=\"0\"\u003E\u003Cp class=\"pgc-img-caption\"\u003E\u003C\u002Fp\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"pgc-img\"\u003E\u003Cimg src=\"http:\u002F\u002Fp1.pstatp.com\u002Flarge\u002Fpgc-image\u002F61b648b65d804e6aa477c28fe55cb36f\" img_width=\"800\" img_height=\"480\" alt=\"軟件更新丨AWTK 1.2 發佈,國產開源 GUI 引擎\" inline=\"0\"\u003E\u003Cp class=\"pgc-img-caption\"\u003E\u003C\u002Fp\u003E\u003C\u002Fdiv\u003E\u003Cp\u003E二、最終目標:\u003C\u002Fp\u003E\u003Cul\u003E\u003Cli\u003E支持開發嵌入式應用程序。\u003C\u002Fli\u003E\u003Cli\u003E支持開發 Linux 應用程序。\u003C\u002Fli\u003E\u003Cli\u003E支持開發 MacOS 應用程序。\u003C\u002Fli\u003E\u003Cli\u003E支持開發 Windows 應用程序。\u003C\u002Fli\u003E\u003Cli\u003E支持開發 Web APP。\u003C\u002Fli\u003E\u003Cli\u003E支持開發微信小程序。\u003C\u002Fli\u003E\u003Cli\u003E支持開發支付寶小程序。\u003C\u002Fli\u003E\u003Cli\u003E支持開發百度小程序。\u003C\u002Fli\u003E\u003Cli\u003E支持開發 Android 應用程序。\u003C\u002Fli\u003E\u003Cli\u003E支持開發 iOS 應用程序。\u003C\u002Fli\u003E\u003Cli\u003E支持開發 2D 小遊戲。\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003Cp\u003E三、主要特色\u003C\u002Fp\u003E\u003Cp\u003E1. 跨平臺\u003C\u002Fp\u003E\u003Cp\u003EAWTK 是跨平臺的,這有兩個方面的意思:\u003C\u002Fp\u003E\u003Cul\u003E\u003Cli\u003EAWTK 本身是跨平臺的。目前支持的平臺有 ZLG AWorks、Windows、Linux、MacOS、嵌入式 Linux 和嵌入式裸系統,可以輕鬆的移植到各種 RTOS 上。AWTK 以後也可以運行在瀏覽器 (即將公測)、各種小程序、Android 和 iOS 等平臺上運行。\u003C\u002Fli\u003E\u003Cli\u003EAWTK 同時還提供了一套跨平臺的基礎工具庫。其中包括鏈表、數組、字符串 (UTF8 和 widechar),事件發射器、值、對象、文件系統、互斥鎖和線程、表達式和字符串解析等等,讓你用 AWTK 開發的應用程序可以真正跨平臺運行。\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003Cp\u003E2. 高效\u003C\u002Fp\u003E\u003Cp\u003EAWTK 通過一系列的手段保證 AWTK 應用程序高效運行:\u003C\u002Fp\u003E\u003Cul\u003E\u003Cli\u003E通過髒矩算法只更新變化的部分。\u003C\u002Fli\u003E\u003Cli\u003E支持 3 FrameBuffer 讓界面以最高幀率運行 (可選)。\u003C\u002Fli\u003E\u003Cli\u003EUI 描述文件和主題文件使用高效的二進制格式,解析在瞬間完成。\u003C\u002Fli\u003E\u003Cli\u003E支持各種 GPU 加速接口。如 OpenGL、DirectX、Vulkan 和 Metal 等。\u003C\u002Fli\u003E\u003Cli\u003E支持嵌入式平臺的各種 2D 加速接口。目前 STM32 的 DMA2D 和 NXP 的 PXP 接口,廠家可以輕鬆擴展自己的加速接口。\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003Cp\u003E3. 穩定\u003C\u002Fp\u003E\u003Cp\u003EAWTK 通過下列方式極力讓代碼穩定可靠:\u003C\u002Fp\u003E\u003Cul\u003E\u003Cli\u003E使用 cppcheck 和 facebook infer 進行靜態檢查。\u003C\u002Fli\u003E\u003Cli\u003E使用 valgrind 進行動態內存檢查。\u003C\u002Fli\u003E\u003Cli\u003E近兩萬行的單元測試代碼。\u003C\u002Fli\u003E\u003Cli\u003EZLG 強大 GUI 團隊的支持。\u003C\u002Fli\u003E\u003Cli\u003E經過多個實際項目驗證。\u003C\u002Fli\u003E\u003Cli\u003E多平臺 \u002F 多編譯器驗證。\u003C\u002Fli\u003E\u003Cli\u003E優秀的架構設計。\u003C\u002Fli\u003E\u003Cli\u003ECode Review。\u003C\u002Fli\u003E\u003Cli\u003E手工測試。\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003Cp\u003E4. 強大\u003C\u002Fp\u003E\u003Cul\u003E\u003Cli\u003E豐富的控件 (持續增加中)。\u003C\u002Fli\u003E\u003Cli\u003E支持各種圖片格式 (png\u002Fjpg\u002Fgif\u002Fsvg)。\u003C\u002Fli\u003E\u003Cli\u003E支持各種字體格式 (點陣和矢量)。\u003C\u002Fli\u003E\u003Cli\u003E支持窗口動畫\u003C\u002Fli\u003E\u003Cli\u003E支持控件動畫\u003C\u002Fli\u003E\u003Cli\u003E支持高清屏。\u003C\u002Fli\u003E\u003Cli\u003E支持界面描述文件。\u003C\u002Fli\u003E\u003Cli\u003E支持主題描述文件。\u003C\u002Fli\u003E\u003Cli\u003E支持控件佈局策略。\u003C\u002Fli\u003E\u003Cli\u003E支持對話框高亮策略。\u003C\u002Fli\u003E\u003Cli\u003E豐富的輔助工具。\u003C\u002Fli\u003E\u003Cli\u003E支持從低端的 Cortex M3 到各種高端 CPU。\u003C\u002Fli\u003E\u003Cli\u003E支持無文件系統和自定義的文件系統。\u003C\u002Fli\u003E\u003Cli\u003E支持裸系統和 RTOS。\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003Cp\u003E5. 易用\u003C\u002Fp\u003E\u003Cul\u003E\u003Cli\u003E大量的示例代碼。\u003C\u002Fli\u003E\u003Cli\u003E完善的 API 文檔和使用文檔。\u003C\u002Fli\u003E\u003Cli\u003EZLG 強大的技術支持團隊。\u003C\u002Fli\u003E\u003Cli\u003E用 AWTK 本身開發的界面編輯器 (開發中)。\u003C\u002Fli\u003E\u003Cli\u003E聲明式的界面描述語言。一行代碼啓用控件動畫,啓用窗口動畫,顯示圖片 (png\u002Fjpg\u002Fsvg\u002Fgif)。\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003Cp\u003E6. 高度擴展性\u003C\u002Fp\u003E\u003Cul\u003E\u003Cli\u003E可以擴展自己的控件。\u003C\u002Fli\u003E\u003Cli\u003E可以擴展自己的動畫。\u003C\u002Fli\u003E\u003Cli\u003E可以實現自己的主循環。\u003C\u002Fli\u003E\u003Cli\u003E可以擴展自己的軟鍵盤。\u003C\u002Fli\u003E\u003Cli\u003E可以擴展自己的圖片加載器。\u003C\u002Fli\u003E\u003Cli\u003E可以擴展自己的字體加載器。\u003C\u002Fli\u003E\u003Cli\u003E可以擴展自己的輸入法引擎。\u003C\u002Fli\u003E\u003Cli\u003E可以擴展自己的控件佈局算法。\u003C\u002Fli\u003E\u003Cli\u003E可以擴展自己的對話框高亮策略。\u003C\u002Fli\u003E\u003Cli\u003E可以實現自己的 LCD 接口。\u003C\u002Fli\u003E\u003Cli\u003E可以擴展自己的矢量引擎 (如使用 skia\u002Fcairo)。\u003C\u002Fli\u003E\u003Cli\u003E所有擴展組件和內置組件具有相同的待遇。\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003Cp\u003E7. 多種開發語言\u003C\u002Fp\u003E\u003Cp\u003EAWTK 本身是用 C 語言開發的,可以通過 IDL 生成各種腳本語言的綁定。生成的綁定代碼不是簡單的把 C 語言的 API 映射到腳本語言,而是生成腳本語言原生代碼風格的 API。目前支持以下語言 (以後根據需要增加):\u003C\u002Fp\u003E\u003Cul\u003E\u003Cli\u003EC\u003C\u002Fli\u003E\u003Cli\u003ELua\u003C\u002Fli\u003E\u003Cli\u003EJavascript on jerryscript\u003C\u002Fli\u003E\u003Cli\u003EJavascript on nodejs\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003Cp\u003E8. 國際化\u003C\u002Fp\u003E\u003Cul\u003E\u003Cli\u003E支持 Unicode。\u003C\u002Fli\u003E\u003Cli\u003E支持輸入法。\u003C\u002Fli\u003E\u003Cli\u003E支持字符串翻譯 (實時生效)。\u003C\u002Fli\u003E\u003Cli\u003E支持圖片翻譯 (實時生效)。\u003C\u002Fli\u003E\u003Cli\u003E文字雙向排版 (計劃中)。\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003Cp\u003E9. 開放源碼,免費商用 (LGPL)。\u003C\u002Fp\u003E\u003Cp\u003E作者: \u003Cstrong\u003Elixianjing \u003C\u002Fstrong\u003E\u003C\u002Fp\u003E\u003Cp\u003E軟件下載:\u003Ca class=\"pgc-link\" data-content=\"mp\" href=\"https:\u002F\u002Fwww.oschina.net\u002Fnews\u002F108635\u002Fawtk-1-2-released?from=toutiaohao\" target=\"_blank\"\u003E「鏈接」\u003C\u002Fa\u003E\u003C\u002Fp\u003E\u003C\u002Fdiv\u003E"'.slice(6, -6), groupId: '6720045644980945419
相關文章