2010-06-18 17 views
10

He conocido muchas buenas aplicaciones (incluido UG Team Center, IBM Lotus Expeditor, etc.) desarrolladas a través de Eclipse (RCP Framework). En los últimos tiempos, encuentro que alguna aplicación desarrollada sobre Qt Creator explota su arquitectura de plug-in (GCF, VTK designer, etc.).Eclipse/RCP (SWT) vs Qt Creator (Qt) como un marco para el desarrollo de plug-in?

Deseo conocer las ventajas y desventajas de Eclipse y Qt Creator como marco base para desarrollar aplicaciones sobre él. Además, si alguien puede listar los módulos que admiten las aplicaciones en cada uno de estos marcos. ¿Cuál recomienda para un desarrollo de aplicaciones multiplataforma?

muchas gracias.

Respuesta

3

Negación: hackear el creador

considero tanto creador y Eclipse IDE para ser bastante estable y con todas las funciones. El creador se está centrando principalmente en C++ y Quick (la nueva cosa bling en Qt land ;-) mientras que Eclipse admite una gran cantidad de idiomas, con su soporte de Java realmente brillante. Esto, por supuesto, también influye en la funcionalidad que su complemento puede proporcionar fácilmente.

La primera diferencia visible para un desarrollador de complementos es, por supuesto, el lenguaje de programación: Eclipse está escrito en Java mientras que el creador se desarrolla utilizando C++ con Qt. Dependiendo de su experiencia de desarrollo, puede ser bastante significativo.

Ambos proporcionan un sistema de complemento decente con todas las funcionalidades más importantes, como el manejo de dependencias entre complementos, control de versiones, etc. Supongo que el sistema de complementos de Eclipse es un poco más "resistente" ahora, ya que tienen bastantes más complementos de terceros que constantemente lo "prueban". Ambos proyectos tienen algunas API que aún están en desarrollo (mi impresión es que este es un problema menor con eclipse en este momento), por lo que vale la pena consultar los mapas de ruta.

Eclipse tiende a tener más complementos disponibles y esto puede ser una ventaja si su complemento puede beneficiarse de la funcionalidad ya implementada en otros complementos. El modelado gráfico, etc. me viene a la mente aquí. El creador aún no cuenta con muchos complementos, pero hay muchos códigos de código abierto basados ​​en Qt disponibles, que deberían ser sencillos de exportar a los complementos (¡si las licencias lo permiten!).

Ambos proyectos son de código abierto, por lo que puede ver el código. La licencia es diferente a través de Qt Creator y Eclipse. Es mejor conseguir un abogado que lea sobre ellos si considera hacer un plugin propietario para cualquiera de ellos ... pero eso es solo un consejo estándar :-)

Ambos proyectos tienen comunidades de usuarios acogedores que están dispuestos a ayudar cuando se estanca y ambos proyectos aceptan contribuciones de código (en caso de que no desee seguir actualizando su código usted mismo todo el tiempo ;-).

Eso es lo que puedo pensar en la parte superior de mi cabeza ...

1

Inicialmente era un gran admirador de QtCreator. Luego descubrí que me dejaba salir con muchas cosas programáticas que no debería tener. No puedo recordar nada de lo que me cabe la cabeza, pero cuando cambié de puerto a Mac OSX, decidí construirlo en XCode en lugar de QtCreator. En mi desarrollo, descubrí una carga de errores que nunca había visto.

... Y yo había conocido este código como funciona normalmente ...

De todas formas, sigo trabajando en Qt mucho y disfrutar plenamente, pero que desarrollo en Visual Studio, XCode, y GCC en su plataformas respectivas. Lamento no poder recordar ningún ejemplo, me encontré con este problema hace 6 meses.

+0

Esto tiene a) nada que ver con Qt (Creador), yb) ninguna relevancia en absoluto (Qt vs Eclipse). Su problema probablemente fue MSVC vs gcc produciendo diferentes errores en el código no estándar que escribió. Diferentes compiladores producen diferentes errores. El IDE o framework tiene poco o nada que ver con eso. – rubenvb

+0

Supongo que estaba bastante descontento con el compilador que QtCreator me hizo usar. Anteriormente me había estado desarrollando en MSVC y GCC, así que pensé que estaba escribiendo un código estándar. Fue algo frustrante que el compilador lo permitiera, ya que no he tenido problemas como eso entre MSVC y GCC. – Brett

+0

@Brett: podría haber sido el antiguo 3.4.5 MinGW GCC por supuesto (que también podría explicar el cambio en los errores), entonces me retracto (algunos) de mi comentario :). Puedes usar cualquier compilador/cadena de herramientas que quieras con Qt, solo necesita un poco de configuración, eso es todo. – rubenvb

0

Eclipse es más una versión basada en Java, Qt es C++ y algunas adiciones útiles (señales + ranuras entre otras). Nunca escuché hablar de Eclipse como marco, pero eso, por supuesto, no habla a favor o en contra. Voy a dar mis opiniones sobre Qt aquí:

Creo firmemente en Qt como base, porque (sus desarrolladores) han tenido años de experiencia proporcionando un buen marco de trabajo multiplataforma con prácticamente todo lo que siempre necesitarás . Tiene red, sistema de archivos, interfaz gráfica de usuario, algoritmos, contenedores, herramientas de traducción, diseñador de interfaz de usuario, MUY buena documentación y una comunidad sólida. Está basado en C++, lo que hace que la interacción con casi cualquier biblioteca C o C++ sea "sencilla". Qt es de lejos el jugador más maduro aquí.

+1

Nunca usé Qt, pero creo que decir que es más maduro que un eclipse sin saber de qué se trata el eclipse es irresponsable. Básicamente, eclipse tiene todo lo que mencionas, menos un diseñador de UI gratuito (hay versiones comerciales). He estado trabajando con eclipse durante 3 años y no tengo mayores quejas. – drstupid

+0

Trataré de aclarar: estoy hablando de la madurez en el sentido de "años de experiencia y existencia". Eclipse ha existido desde 2005 (primer lanzamiento: diciembre de 2005, ni siquiera estoy seguro del RCP). Qt ha existido desde 1991. Estoy seguro de que Eclipse es igual de bueno, pero como dices, no puedo saberlo. Tampoco estoy hablando de Eclipse IDE versus QtCreator, allí Eclipse tiene más experiencia, QtCreator 1.0.0 fue lanzado hace un año. – rubenvb

+1

http://www.ibm.com/developerworks/rational/library/nov05/cernosek/index.html – drstupid

0

Nota: Me desarrollan tanto, comparto mis experiencias en un Java blog, Qt blog y Forum Nokia blog. También soy a Forum Nokia Champion.

La respuesta simple es Eclipse RCP.

I blogged about cross-platform desktop frameworks sometime ago here, incluido Eclipse RCP vs Qt Creator frente a otros marcos.

Eclipse RCP no es solo para aplicaciones complejas. Desarrollar con Eclipse RCP es muy fácil de comenzar. Obtenga un good book for Eclipse RCP, I recommend this one. Y prácticamente no tienes barreras de plataforma. Es bueno para el desarrollo a largo plazo. En mi experiencia personal, el mantenimiento de las aplicaciones Eclipse RCP (y las aplicaciones Java bien diseñadas para el caso) es mucho mejor que una aplicación Qt.

Una "extensión" para Eclipse RCP que sugiero es EMF. Aunque EMF es muy complejo, la ruta más fácil es usarlo para diseñar metamodelos y generar clases de Java a partir de él. También podrá editar fácilmente sus objetos en la IU de RCP (en el mundo de las aplicaciones web, la parte "CRUD"). Aquí hay un good practical book on EMF.

Eclipse ecosistema es muy amplio, y puede ser confuso al principio, pero el truco es centrarse en la tarea en cuestión. Después de que tenga confianza con las cosas básicas (que es relativamente fácil, puede ejecutar su primer plugin/aplicación RCP hello world simplemente iniciando un asistente o siguiendo el tutorial proporcionado), la gran cantidad de herramientas y opciones en la comunidad Eclipse es solo increíble. (La mayoría de los proyectos de Eclipse son maduras/estable, algunos de ellos requieren paciencia o incluso aporte, pero esa es la belleza de la comunidad de código abierto)

Tenga en cuenta que tengo nada malo que decir sobre Qt. Qt es un excelente marco, con Qt Quick y QML y soporte móvil. Y es mejor usarlo si te apetece esos propósitos. A menos que realmente requiera Qt, Eclipse RCP debería hacer su vida más fácil.

Cuestiones relacionadas