AWTK 全稱為 Toolkit AnyWhere,是 ZLG 傾心打造的一套基於 C 語言開發的 GUI 框架(三平台+2個手機平台+嵌入式)


最終目標:

  • 支持開發嵌入式軟件。
  • 支持開發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協議開源發布,在商業軟件中使用時無需付費。

目前核心功能已經完成,內部開始在實際項目中使用了,歡迎有興趣的朋友評估和嘗試,期待您的反饋。

https://github.com/zlgopen/awtk

https://www.oschina.net/news/104548/zlg-released-gui-engine-awtk


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM