Pregunta

Pros.y los contras?¿por qué usarlo?¿Qué acerca de jambi?

¿Fue útil?

Solución

He usado Qt en un par de proyectos que hice en c++ en varias plataformas a través de un período de siete años.Creo que funciona bastante bien y sin duda fue más rápido para mí para desarrollar un decente GUI de la aplicación en el Mac de andar a través de un lenguaje que yo no sabía (Objective-C) a la vez.

Creo que el mecanismo de señal/slot es un poco cobarde, pero no es horrible.Una vez lo use para un poco, no se estropea.La conexión de las cosas es fácil bungle (o al menos era) y siempre es bueno revisar el retorno de aquellos que debido a su aplicación va a ir alegremente en su camino y no digo que no funciona.

Yo nunca he usado jambi.

Otros consejos

He estado usando Qt durante varios años para el desarrollo comercial y he estado muy contento con él.

Una de las cosas buenas con Qt es que proporciona un amplio conjunto de bibliotecas así como la interfaz gráfica de usuario de cosas (por ejemplo, XML parsing, hilos, redes), todo en un estilo coherente y multi-plataforma.Esto significa que rara vez se necesita para el uso de otras bibliotecas, a pesar de que hacemos uso de impulso para algunas cosas.

Otro factor muy importante para nosotros fue la internacionalización.En una anterior, MFC aplicación basada tuvimos que mantener 2 versiones localizadas, para los dos idiomas apoyamos.En nuestra basado en Qt aplicación sólo tenemos la versión.

  • El Qt sistema de traducción, mediante el lingüista es fácil de usar y hace que soporte de múltiples idiomas fácil (por supuesto, usted todavía tiene que traducir las cadenas que es un montón de trabajo!)
  • La interfaz gráfica de usuario sistema de diseño que los widgets de tamaño de acuerdo a un diseño hace que todo sea mucho más fácil.En los diferentes idiomas de la longitud de las cadenas son diferentes.Fija el tamaño de los widgets (como MFC) de cada cuadro de diálogo debe ser ajustada para cada idioma, de lo contrario, las partes de las etiquetas de cortarse.Con Qt que cambiar el tamaño de sí mismos.Por supuesto, hay casos en que no funciona exactamente correcto, pero todavía hace que todo sea mucho más fácil.
  • QString lo hace todo en Unicode y se ocupa de las conversiones de diferentes códecs muy fácilmente.

Una cosa que ha sido muy valioso es el acceso a la fuente, aunque el correo este es sin duda no es el único que a Qt.En varias ocasiones la posibilidad de revisar el código fuente de Qt ha explicado algunos comportamientos extraños o dado una idea de cómo lograr algo.

Hemos encontrado un par de bugs en Qt, algunos de los cuales han sido corregidos después de la presentación de informes a Trolltech.En otros casos, se han sugerido un trabajo alrededor.Todas ellas han sido bastante oscuro y no tenía un impacto importante en nuestro desarrollo.

Una de las principales desventajas de Qt sería la falta de la 3ª parte de las bibliotecas para su uso en aplicaciones comerciales.Sin embargo, Qt es bastante completo así que para nosotros no ha sido un gran problema, aunque eso dependerá de que tipo de aplicación que están desarrollando.

No he utilizado Jambi bien.

Aquí están algunos de mis Pros y los Contras con Qt:

Pros:
Cruz-plataforma de
Sé que este es utilizado siempre, pero después de ir y venir entre Windows y Linux con Qt, es increíble lo poco que tengo que hacer para ponerse en marcha.Creo que esto es ayudado por el hecho de que sólo uso Vim con Qt Designer.

QMake
Este es uno de mis aspectos favoritos de la Qt.Después de hacer el trabajo en wxWidgets, FLTK, etc., Me siento tan cansado de jugar con diferentes sistemas de construcción y no quiero crear manualmente mi makefiles.Yo actualmente uso CMake en otra cosa que Qt ahora mismo, pero creo que poco a poco estoy avanzando incluso Qt a CMake.Sin embargo, es tan fácil para ponerse en marcha con QMake.

QTestLib
Me miró un par de C++ marcos de pruebas de unidad y cuando he creado mis pruebas con QTestLib, es una sensación muy similar a la de NUnit(C#) y a los pocos minutos tuve varias pasar las pruebas.También me di cuenta de que sería muy fácil para crear mi propio integración continua medio ambiente.

Más cercano a Java y .Neto de la productividad
Lo más importante que escuchar/leer la gente dice acerca de C++ es, "yo puedo ser más productivo con Java o .Net".Por experiencia personal puedo obtener un prototipo de una aplicación que se ejecuta en Qt usando Vim y Qt Designer, antes de Eclipse o Visual Studio uniforme de la carga.También tengo un conjunto muy similar de las bibliotecas en Qt que tengo en .Net o Java y si no lo hay me pueden aprovechar el código de C++ existente allí.


Contras:
Precio
Este es el factor más importante que puedo pensar ahora mismo.Sin embargo, el costo vale la pena cada centavo, um si sabía cuántos centavos tuve que ahorrar sin realizar una llamada a un representante de ventas.He comprado una licencia de vuelta en el día en el que tenía su pequeño negocio de descuento y valió la pena, entonces, yo he pagado tres veces como mucho y creo que ese es el precio actual.

Desarrollar en cualquier lugar con licencia comercial
Me encantaría ser capaz de desarrollar en cualquier plataforma, pero construir y vender para otra plataforma.Por ejemplo, desarrollar en Linux, a continuación, construir y desplegar en Windows si tienes el Windows licencia comercial.De lo que yo sé, sólo se pueden desarrollar y construir una aplicación comercial en la plataforma que tiene una licencia para.

Vendor lock-in
Bien la clase, esto es más de un personal con.No me gusta estar atado a un proveedor específico debido a que tengo a lado seguido por la dirección de la empresa y la dirección del producto.TrollTech fue comprada por Nokia, es esto bueno o malo no lo sé, pero una empresa de ese tamaño puede hacer mal las cosas.


Creo que he hecho por ahora :).Oh, no he utilizado Jambi, pero estoy muy interesado en hacer un par de prototipos de proyectos para encontrar lo fácil que es usar un plugin desarrollado en C++ con Jambi.Especialmente el uso de Jambi como una interfaz web con C++ plugins.

Para ser honesto, no he leído mucho sobre ella, por lo que puede ser imposible o muy fácil.

He utilizado Qt en un trabajo anterior.Yo sólo tenía la absoluta más breve de contacto con Qt varios años antes de eso, así que fue bastante un Qt newb.

Cuando empecé me dijeron que tenía que elegir mi idioma y el medio ambiente, sino de la cruz-plataforma de apoyo era deseable.Traté de Qt y Java, y aun dio a C# a ir sólo para la base de la misma.Me dio dos días para evaluar cada opción.

Tal vez yo estaba un poco sesgada con mi historia como un desarrollador de C++, pero después de pasar tiempo en cada opción Qt fue el único que mostró indicios de ser útil, sin una larga curva de aprendizaje.

La documentación que se proporciona con Qt y la aplicaciones de ejemplo, lo hizo muy fácil para un desarrollador experimentado, pero Qt principiante a ponerse en marcha muy rápidamente.Yo había prototipo de interfaz de usuario/maquetas de la aplicación final realizado por el final de mi período de prueba.Con Java/Eclipse, Java/SunStudio y C#/VS.net tuve problemas para conseguir cualquier cosa que no sea trivial sucediendo en ese momento.

Señales/ranuras tomó algún tiempo para acostumbrarse, pero no estaba muy mal, y yo escribí algunos simples contenedores de afirmar cuando las conexiones no pudo dejar de tonto errores tipográficos de detener la aplicación.de trabajo.

La otra cosa que me gustó es que Qt tenía casi todo lo que yo necesitaba.El nombre de almacenamiento, de red, interfaz gráfica de usuario, roscado, contenedores - Qt tiene una clase para tratar con él.Que en mi humilde opinión es importante, porque la mezcla de las bibliotecas a veces puede causar problemas.

Tener el código fuente de Qt fue una gran ventaja, uno por la simple causa de interés, pero también me permitió compilar Qt usando el compilador y la configuración de mi elección, incluyendo una versión de depuración para su uso durante el desarrollo.

También encontré Trolltech apoyo a estar bastante bueno.He planteado un par de errores en Qt, uno de los cuales se fija y se libera mientras yo todavía estaba trabajando en el proyecto (sólo un 6 meses de trabajo).

Lo único negativo que puedo recordar fue la dificultad en la depuración de Qt objetos (usando VS) - hay un Qt plugin para VS, que puede examinar objetos de Qt, pero yo estaba utilizando la versión gratuita de VS y plugins no funcionan para ti.Pero eso no era Qt culpa.

No he utilizado jambi así que no puedo comentar.

En C++ la otra son las alternativas de MFC y wxWidgets.QT / wxWidgets es en gran medida una cuestión de preferencia personal.Yo creo que QT es un diseño limpio y con buena documentación.
QT cuesta alrededor de un mes de desarrollador de sueldo si no la estás usando para la GPL.

He estado usando Qt por más de dos años.

Cosas que me gustan en Qt son:

  • Fácil programación GUI (en comparación con MFC), Qt Designer
  • Agradable las clases de contenedor
  • Buenos gráficos escena de marco
  • Excelente documentación con ejemplos útiles
  • El apoyo de traducción
  • Buen soporte técnico

Puedo recomendar altamente a la Qt Días Del Desarrollador.Si usted tiene la oportunidad de participar, entonces hazlo!Un montón de buena y muy interesante habla allí.

Qt es una biblioteca muy bonita, pero tiene una cara de per-asiento de la licencia de desarrollador, por lo que no siempre es útil para todos los proyectos.

No la use, sin embargo...

Pro:QT tiene un opcional 3 fase de diseño, donde WX sólo permite 2 actualmente (creo que va a hacer 3 fase, simplemente no han trabajado en todo).

Uno de los problemas más grandes con el uso de layouts de texto estático y embalaje.WX pregunta cómo es de grande tu min anchura/altura y partes fuera de la pantalla, QT tiene la opción de decir cómo de ancho qué quieres, ¿a qué altura se necesita ser si su X ancho.Esto permite que usted para expresar el flujo de una página mucho mejor.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top