android - tutorial - opengl en visual studio 2017
Ligera GUI C de plataforma cruzada(OpenGL) (7)
Estoy buscando una biblioteca de GUI multiplataforma ligera para diferentes aplicaciones de procesamiento de señal. Un programa ANSI-C debe estar vinculado de forma estática con él y el tamaño es importante. 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 con iOS. Me inclino por la biblioteca de GUI basada en OpenGL, porque OpenGL es compatible con todas las plataformas de destino modernas y una aplicación OpenGL tendrá el mismo aspecto en todos los dispositivos.
Preferiblemente, dicha GUI debe admitir definiciones de formularios usando la semántica declarativa, por ejemplo, desde cadenas C o desde archivos textuales externos.
- libnui es la mejor aproximación, en mi opinión, utiliza css Philosophy, pero no está en contribución activa.
- kivy es una buena herramienta, pero debes insertar python.h con tu aplicación para que tu aplicación crezca en tamaño (Android 40M por defecto)
- qt es una buena utilidad, pero el rendimiento en comparación con otras herramientas es un poco lento y su licencia no es tan barata para aplicaciones móviles comerciales. (GPL v3)
- Juce es otra solución, pero su interfaz gráfica de usuario no es madura, creo.
Mi sugerencia: es mejor usar c ++ para el modelo de negocio crossplatform como WebServer y usar una interfaz gráfica de usuario específica de la plataforma. mira este video https://www.youtube.com/watch?v=ZcBtF-JWJhM y mira este repositorio: https://github.com/libmx3/mx3 espero que tenga sentido para ti. :)
¿Qué hay de GTK? Se ha portado al linux framebuffer y existe para Windows. Sin embargo, no estoy seguro de cuánto esfuerzo requeriría para convertirlo en un framebuffer en un entorno incrustado.
El lenguaje Haxe ( http://haxe.org/ ) le permite escribir y compilar aplicaciones con OpenGL para muchas plataformas (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 de GUI 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 una cuestión de aprender a dibujar y animar cosas usando HaxeNME ( http://haxenme.org ), que ya incluye cosas básicas como campos de texto. Para los botones de opción, las casillas de verificación, etc., debe dibujarlos, o usar / modificar una de las bibliotecas de GUI existentes según sus necesidades. La ventaja de usar Haxe es que su aplicación puede ejecutarse en muchas plataformas.
Eche un vistazo al escaparate de las aplicaciones accionadas por HaxeNME: http://www.haxenme.org/showcase/ .
Pruebe el marco de USUI Labs uSwish UI para Android.
Es un marco de interfaz de usuario multiplataforma que se ejecuta en la mayoría de los sistemas operativos. Es C y C ++ con procesamiento extremadamente rápido de software y hardware.
www.youilabs.com
Puedes probar el desorden. Fue escrito en C y el respaldado tiene soporte para EGL y GLX. http://www.clutter-project.org/
Recomendaría Cocos 2d-x (C ++, OpenGL ES 2.0, de código abierto, rápido y con gran biblioteca de GUI que contiene muchas clases: ventanas, botones, vistas de desplazamiento, listas, etc.) Su framework C ++ crossplatform para Android, iOS, Win32, OSX y Linux (principalmente utilizado para juegos, pero funciona bien para aplicaciones simples de interfaz de usuario), pero tiene un editor visual para configurar la interfaz de usuario
Un buen proyecto que todos deberían saber es Kivy . Es un lenguaje de programación multiplataforma de código abierto para hacer aplicaciones con 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 plataformas y sea compatible con multitouch. Es mucho mejor que escribir una aplicación en PhoneGap o en Appcelerator (HTML5 y JavaScript todavía tienen mucho camino por recorrer antes de que el rendimiento sea tan bueno como las aplicaciones nativas). Usando Kivy puedes hacer aplicaciones que funcionan tan bien como las aplicaciones nativas, para todas las plataformas.