[android] 輕量級跨平台C GUI(OpenGL)



Answers

Haxe語言( http://haxe.org/ )允許您使用一個代碼為許多平台(Android,iOS,BlackBerry,WindowsPhone HTML5,Linux,Windows 8,Mac OSX等)編寫和編譯OpenGL驅動的應用程序基地...這是值得檢查。 已經有一些GUI庫( http://haxe.org/doc/libraries/gui ),你也可以編寫你自己的GUI庫。 要創建自己的GUI庫,這將是一個學習如何使用HaxeNME( http://haxenme.org ),其中已經包含文本字段的基本東西繪製和動畫的事情。 單選按鈕,複選框等,你必須繪製它們,或使用/修改現有的GUI庫之一,以滿足您的需求。 使用Haxe的好處是你的應用可以在很多平台上運行。

看看HaxeNME驅動的應用程序展示: http//www.haxenme.org/showcase/

Question

我正在尋找適用於不同信號處理應用程序的輕量級跨平台GUI庫。 ANSI-C程序必須與其靜態鏈接,並且大小很重要。 完成的應用程序必須在iPad,iPhone,Android,Ubuntu,Leopard,Windows等任何平台上具有相同的外觀。

Qt是不恰當的,因為它是C ++,太大,並且不能在iOS設備上工作。 我傾向於基於OpenGL的GUI庫,因為每個現代化的目標平台都支持OpenGL,而OpenGL應用程序在每個設備上都會有相同的外觀和感覺。

優選地,這樣的GUI必須使用聲明性語義來支持形式定義,例如來自C字符串或來自外部文本文件。




  1. libnui是我認為最好的方式,它使用CSS哲學,但它沒有積極的貢獻。
  2. kivy是一個很好的工具,但你必須嵌入python.h與你的應用程序,使您的應用程序的大小增長(默認情況下,Android 40M)
  3. qt是一個很好的工具,但是與其他工具相比,性能有點慢,它的許可證對於商業移動應用來說並不便宜(GPL v3)
  4. Juce是另一個解決方案,但是它的gui api並不成熟,我想。

我的建議:最好使用c ++作為WebServer等跨平台業務模型,並使用平台特定的gui。 看到這個視頻https://www.youtube.com/watch?v=ZcBtF-JWJhM看看這個回購: https : //github.com/libmx3/mx3希望它對你有道理。 :)




GTK如何? 它已被移植到Linux幀緩衝區,它存在於Windows中。 但我不確定在嵌入式環境中將其移植到幀緩存需要多少努力。




Related