studio - ¿Cuáles son algunos de los "mejores" juegos de herramientas de UI de C++ multiplataforma de hoy en día?
visual studio installer (11)
Aunque no estoy seguro de lo que quiere decir con "Trucos", solo puedo darle estos enlaces. Si es "lo mejor" es para que usted decida.
- wxWidgets. Gratis para uso comercial. Diseño de API antiguo pero compatible (sin excepciones, sin plantillas, sin RTTI, sin uso de STL). Utiliza los widgets nativos.
Qt. Marco moderno. Soporte para SQL, para script ECMA incrustado. Incluye un Webbrowser incorporado. Los widgets son CSS themable y se pueden poner en lienzos transformables. Increíble kit de herramientas. También es rápido. No es gratuito para uso comercial, sino gratuito para proyectos de código abierto.
- Editar: a partir del 14 de enero de 2009, Nokia announced que pondría Qt en la licencia LGPL , lo que hace que Qt esté disponible para uso comercial, de forma gratuita.
- GtkMM. C ++ vinculante al famoso gtk + toolkit utilizado como base de GNOME. Gratis para comerciales (pero no puede vincular estáticamente). API moderna de C ++. GUI Toolkit solamente. Al igual que Qt, dibuja los widgets por sí mismo. Esto produce una apariencia algo pobre en Windows (Qt dibuja los widgets bastante bien). No lo he probado, así que no puedo decirte el rendimiento.
Hay mas. Pero solo conozco a esos razonablemente bien para contarte sobre ellos.
Estoy escribiendo un sistema de alto rendimiento en c ++ portátil moderno. Una gran cantidad de STL y Boost. Me gustaría comenzar a construir algunas interfaces para este sistema. Normalmente, optaría por usar una solución que no sea C ++ para una IU, sin embargo, esta debe ser una IU de muy alto rendimiento, lo que significa baja latencia para responder a los mensajes, alto volumen de mensajes para ordenar y mostrar, etc. He escrito mucho de IU en tiempo real en .NET, logran el trabajo bastante bien. Sin embargo, realmente quiero que sea multiplataforma sin trucos (como Mono) y que funcione. ¿Cuáles son algunas de las mejores opciones para lograr esto?
EDITAR:
Déjame agregar otro que acabo de recordar, JUCE. Gratis para uso no comercial y multiplataforma. El único problema es que el desarrollo está controlado por una persona, pero el código fuente está disponible.
Encontrará muchas bibliotecas de GUI multiplataforma para C ++, pero AFAIK Qt es la única opción real.
Me gustan los wxwidgets en general, pero lo he usado principalmente en Linux. Recientemente intenté instalar en Windows XP con g ++ y he tenido un error de instalación.
Editar: Para hacer un poco más de detalle, estoy teniendo problemas para construirlo.
No olvidemos que XVT está disponible como una biblioteca de objetos C ++ y una API C. Vea www.XVT.com. Perdió su camino a mediados de los 90 pero aún se mantiene actualizado y vendido. Utiliza los widgets nativos cuando es posible en lugar de la emulación. Cuando fue popular, fue comprada por más de 19 000 empresas para enviar software de forma comercial y tiene una gran profundidad en su implementación.
y no, yo no trabajo para ellos!
Tony
Qt es de lejos el marco de GUI de C ++ más completo, bien soportado y multiplataforma que existe en la actualidad.
Recientemente estudié casi todos los kits de herramientas mencionados anteriormente. Diría que Qt es de lejos el conjunto de herramientas más aconsejable. Digo ''recomendable'' pero no ''el mejor'' porque realmente ningún conjunto de herramientas es perfecto, en general no hay soluciones ''perfectas'' para problemas multiplataforma.
Éstos son algunos de los pros y contras de Qt 4.5 (también conocido como Qt 2009.01), disponible bajo LGPL a partir de enero de 2009
ventajas:
- admite muchas plataformas, las más importantes (supongo) son Windows, Mac OS X y Linux.
- parece nativo (algunas veces realmente usa las cosas nativas bajo el capó) en Windows, Mac OS X y Linux. Funciona muy bien en Windows. Cocoa es compatible con Mac OS X, que es un gran problema. En Mac OS X, es posible hacer que la interfaz se vea casi indistinguible de las aplicaciones nativas de Cocoa.
- viene con un muy buen sistema de construcción multiplataforma, que puede ahorrar mucho tiempo
- es un conjunto completo, como algunos dicen, un marco de aplicación, no solo un marco de GUI. por ejemplo, base de datos y red. incluso te da un control de webkit.
- gran gran documentación. uno de los mejores conjuntos de documentación que puede encontrar en los marcos de GUI. es incluso mejor que las referencias de desarrollo de MSDN y Apple.
- todas las otras cosas comunes de plataforma cruzada
desventajas:
- es grande. la configuración no es tan trivial. aprender toma un poco de tiempo. ocupa mucho espacio en disco.
Siempre me han gustado wxWidgets.
En cuanto a la respuesta sobre la instalación en Windows, hay un par de excelentes videos en ... http://blip.tv/file/1068698 y aquí http://wxwidgets.info/video
Una de las mejores aplicaciones de código abierto que he visto es Songbird . Es un reproductor multimedia similar a iTunes construido sobre el marco XULRunner de Modzilla.
Una lista de toolkits de GUI de C ++ se puede encontrar en una antigua publicación de blog que escribí . Aproximadamente la mitad de ellos son multiplataforma (a través de los "tres grandes"). Por desgracia, algunos de ellos han sido abandonados en gran parte.
Desafortunadamente ninguno de ellos viene sin compromiso. IMO no hay una elección obvia cuando se trata de bibliotecas de GUI en C ++. Investigue a fondo sus requisitos particulares.
Si no tiene necesidades de GUI particularmente exóticas, cualquiera de las wxWidgets, Qt, FLTK o Gtkmm probablemente lo solucionen.
Usted dice que normalmente no escribiría una IU en C ++, pero está preocupado por el rendimiento en este caso. Por lo tanto, considero N las recomendaciones de Qt, ya que tiene enlaces para otros idiomas, por ejemplo, PyQt . Todos tus widgets serán widgets rápidos de C ++ Qt, puedes ordenar tus mensajes con métodos Qt nativos envueltos en capas finas y mantenerlo todo junto con un poco de python / perl / whatever.
Creo que Ultimate ++ (puedes hacer una búsqueda en Google fácilmente con el nombre Ultimate ++) es muy bueno. Aprovecha las plantillas de C ++ en gran medida, pero el problema es que solo se ejecuta y produce ejecutables para Windows y Linux y no Mac OS. Tiene su IDE y su IDE está escrito usando Ultimate ++ (problema de huevo y gallina). La ventaja de usar U ++ sobre .NET y Mono es que las aplicaciones resultantes tienen un tamaño más reducido ya que no es necesario instalar un marco para que las aplicaciones se ejecuten.