Ligera plataforma cruzada C GUI (OpenGL)

Estoy buscando una librería GUI ligera plataforma cruzada para diferentes aplicaciones de procesamiento de señales. Un progtwig ANSI-C debe estar estáticamente vinculado con él y el tamaño importa. Una aplicación terminada debe tener el mismo aspecto en cualquier plataforma como iPad, iPhone, Android, Ubuntu, Leopard, Windows, etc.

Qt no es apropiado, porque es C ++, demasiado grande y no funciona en dispositivos iOS. Me inclino hacia la biblioteca GUI basada en OpenGL, ya que OpenGL es compatible con todas las plataforms de destino modernas y una aplicación OpenGL tendrá el mismo aspecto en todos los dispositivos.

Preferiblemente, dicha GUI debe admitir definiciones de formularios utilizando la semántica declarativa, por ejemplo, de cadenas C o de files textuales externos.

Puedes probar el desorder. Fue escrito en C y el respaldo tiene soporte para EGL y GLX. http://www.clutter-project.org/

El lenguaje Haxe ( http://haxe.org/ ) le permite escribir y comstackr aplicaciones basadas en OpenGL para muchas plataforms (Android, iOS, BlackBerry, WindowsPhone HTML5, Linux, Windows 8, Mac OSX, …) usando un código base … Vale la pena echarle un vistazo. Ya hay algunas bibliotecas GUI preparadas para ello ( http://haxe.org/doc/libraries/gui ), y también puede escribir su propia biblioteca GUI. Para crear su propia biblioteca GUI, sería cuestión de aprender a dibujar y animar cosas usando HaxeNME ( http://haxenme.org ), que ya incluye cosas básicas como campos de text. Con los botones de radio, casillas de verificación, etc., tendría que dibujarlos, o usar / modificar una de las bibliotecas GUI existentes según sus necesidades. El beneficio de usar Haxe sería que su aplicación se puede ejecutar en muchas plataforms.

Eche un vistazo a la presentación de las aplicaciones impulsadas por HaxeNME: http://www.haxenme.org/showcase/ .

Un buen proyecto del que todos deberían saber es Kivy . Es un lenguaje de progtwigción multiplataforma de código abierto para hacer aplicaciones con tecnología OpenGL en Linux, Windows, MacOSX, Android e IOS. http://kivy.org

Viene con su propio kit de herramientas de widgets para crear UI para que pueda tener la misma interfaz en todas las plataforms y es compatible con multitouch. Es mucho mejor que escribir una aplicación en PhoneGap o Appcelerator (HTML5 y JavaScript todavía tienen forms de funcionar antes de que el performance sea tan bueno como las aplicaciones nativas). Usando Kivy puedes hacer que las aplicaciones funcionen igual de bien que las aplicaciones nativas, para todas las plataforms.

¿Qué hay de GTK? Ha sido portado al framebuffer de linux y existe para Windows. No estoy seguro de cuánto esfuerzo requeriría portarlo a un framebuffer en un entorno embedded.

Prueba el marco de UI uSwish UI de YOU i Labs para Android.

Es un marco de interfaz de usuario de plataforma cruzada que se ejecuta en la mayoría de los sistemas operativos. Es C y C ++ con una renderización extremadamente rápida de software y hardware.

http://www.youilabs.com

  1. Libnui es el mejor enfoque, en mi opinión usa css Philosophy. Pero no está en una contribución activa.
  2. Kivy es una buena herramienta, pero debes integrar python.h con tu aplicación para que tu aplicación crezca en tamaño (Android 40M pnetworkingeterminado)
  3. qt es una buena utilidad, pero la comparación de performance con otras herramientas es un poco lenta y su licencia no es tan barata para aplicaciones mobilees comerciales. (GPL v3)
  4. Juce es otra solución, pero su gui api no es madura, creo.

Mi sugerencia: es mejor usar c ++ para el model de negocio crossplatform como WebServer y usar la GUI específica de la plataforma. mira este video https://www.youtube.com/watch?v=ZcBtF-JWJhM y mira este repository: https://github.com/libmx3/mx3 espero que tenga sentido para ti. 🙂

Recomendaría Cocos 2d-x (C ++, OpenGL ES 2.0, código abierto, rápido y con una excelente biblioteca GUI que contiene muchas classs: windows, botones, vistas de desplazamiento, lists, etc.). Su marco crossplatform C ++ para Android, iOS, Win32, OSX y Linux (en su mayoría se utiliza para juegos, pero funciona bien para aplicaciones de interfaz de usuario simples) btw tiene un editor visual para configurar la interfaz de usuario

cocos2d-x.org