Pregunta

Si tuvieras la diferencia de aventurarte en Delphi Land o Qt Land, ¿cuál elegirías?Sé que no son totalmente comparables.Por mi parte, tengo experiencia en desarrollo de Windows con Builder C++ (casi Delphi) y MFC (casi Qt), con un poco más de tiempo trabajando con Builder C++.Tenga en cuenta la capacidad multiplataforma de Qt en su análisis.

Espero respuestas de personas que hayan trabajado con ambos y cómo compararían el marco, el entorno, etc.

Gracias de antemano por sus respuestas.

¿Fue útil?

Solución

Editar:Esta respuesta fue escrita en 2008.Probablemente ya no sea tan adecuado, aunque probablemente no sea del todo inútil.Tomar con sal.

He usado ambos y terminé siguiendo la ruta Qt.Estas son las razones:

  • Trolltech ofrece soporte rápido e individualizado por correo electrónico
  • Qt innova e introduce periódicamente nuevas y potentes funciones
  • La documentación de Qt es asombrosa y, en los raros casos en los que no lo es, puedes leer el código fuente.
  • Tener el código fuente de Qt también te permite depurar dentro de tus bibliotecas base, lo que me ha salvado la vida en muchas ocasiones.
  • La API es muy consistente y está bien diseñada.Hemos incorporado gente nueva al proyecto y en un mes demuestran un conocimiento profundo del conjunto de herramientas y pueden aprender nuevas clases muy rápidamente.
  • Tiene enlaces a otros idiomas, por ejemplo.Rubí y Pitón.

C++ es una desventaja, por ejemplo.tiempos de compilación, empaquetado y un IDE menos integrado.Sin embargo, Qt hace que C++ se sienta más como un lenguaje de nivel superior.QStrings elimina todo el dolor del manejo de cuerdas, por ejemplo.De ahí los problemas adicionales con C++ que normalmente enfrentaría, por ejemplo.más código con errores, son menos frecuentes en mi experiencia al usar Qt.

Además, hay más bibliotecas para Delphi que para Qt, pero esto se mitiga debido al hecho de que puedes usar una biblioteca c o c++ en un proyecto Qt, y también porque Qt tiene tantas funciones que a menudo no tienes que buscar ninguna. más.

Sería una situación extraña en la que elegiría Delphi en lugar de Qt para un nuevo proyecto.

Otros consejos

Si está hablando de marcos de interfaz de usuario, entonces debería comparar Qt con VCL, no con IDE (Delphi en este caso).Sé que estoy siendo riguroso, pero Delphi es el IDE, Object-Pascal es el lenguaje y VCL es el marco gráfico.

Dicho esto, no creo que haya nada que se acerque siquiera a igualar la potencia y simplicidad del VCL.Qt es genial, pero no es VCL.

Yo elegiría Delfos.Por supuesto que le preguntas a cualquier pascalholic y seguro que te responderá lo mismo.;)

Qt nuevamente está bien, pero el VCL simplemente se siente más pulido.Pero esos podrían ser mis años trabajando con él, así que se siente bien.Mi experiencia con Qt se limitó a un proyecto de corta duración que terminó siendo reescrito en Delphi después de que se determinó que la multiplataforma no era realmente necesaria gracias al poder de GoGlobal que puede convertir cualquier aplicación win32 en una aplicación web y, por lo tanto, ejecutarse en cualquier plataforma.

Realmente depende de tus necesidades y experiencia.He trabajado con ambos (aunque debo decir que la última versión de Delphi con la que realmente trabajé fue Delphi 6, y actualmente estoy trabajando con Qt 4.4).

El idioma

Ventajas de C++:

  • C++ es más "estándar", p.e.encontrará más código, bibliotecas, ejemplos, etc., y podrá usar STL y boost libremente, mientras que Object Pascal es un lenguaje más exótico.
  • Qt compila en diferentes plataformas y compiladores (Kylix está basado en Qt, por cierto)

Ventajas del objeto Pascal:

  • Algunas propiedades dinámicas están integradas directamente en el lenguaje, no se necesitan soluciones feas como el MOC.
  • el compilador está altamente optimizado para el lenguaje y, de hecho, es muy rápido
  • el lenguaje es menos complejo que C++ y por lo tanto menos propenso a errores

El IDE

Ventajas de QT:

  • Estrictamente hablando, no existe ningún IDE para Qt además del Diseñador, pero se integra muy bien en su IDE preferido (al menos Visual Studio y Eclipse).
  • el diseñador hace un mejor trabajo con los diseños que con los formularios Delphi (Nota:Esto se basa en la experiencia Delphi 6 y puede no ser cierto con las versiones actuales)

Ventajas de Delfos:

  • El IDE está realmente pulido y es fácil de usar ahora, y en mi opinión supera claramente a Visual Studio (no tengo experiencia con Eclipse)
  • no tiene sentido 2...pero si tuviera que asignar la palabra de moda "integrado", la asignaría al IDE de Delphi

El marco

Dejaré una comparación con otros, ya que no conozco lo suficientemente bien el VCL más nuevo.Tengo algunas observaciones:

  • Ambos marcos cubren la mayor parte de la funcionalidad necesaria.
  • Ambos tienen el código fuente disponible, lo cual es imprescindible en mi opinión.
  • ambos tienen una estructura más o menos consistente; prefiero Qt, pero esto depende de tus preferencias (observación:Nunca diría que Qt es casi MFC (he usado MFC durante mucho tiempo, y tanto Qt como Delphi (y .NET, de hecho) son mucho mejores).
  • el VCL tiene una funcionalidad más orientada a la base de datos, especialmente la conexión con los componentes visuales
  • Qt tiene más funcionalidad orientada a la pintura (2D/3D/OpenGL)

Otras razones que hablan a favor de Qt IMO son el muy buen soporte y las licencias, pero eso depende de tus necesidades.Hay grandes comunidades para ambos marcos,

Una gran diferencia entre Delphi y Qt es el sistema de señal/ranuras de Qt, que hace que sea realmente fácil crear relaciones N a N entre objetos y evitar un acoplamiento estrecho.

No creo que tal cosa exista en Delphi (al menos no existía tal cosa cuando solía usarlo).

Recién comencé a experimentar con Qt/C++/Qt Creator y debo admitir que me sorprendió que este "pequeño bastardo lindo" estuviera justo debajo de mi nariz durante muchos años y le presto atención ahora mismo.

(El marco) se ve limpio y con todas las funciones (incluso hay cosas de las que .NET carece, como la compatibilidad con XQuery incorporada).

Parece que la mayoría de las aplicaciones Qt escritas tratan sobre 2D/3D/Juegos.

Creo que las desventajas son sólo:tener que saber C++ y la falta de ventajas de DevExpress como QuantumGrid.

Estoy considerando seriamente trasladar una de mis aplicaciones simples (un visor de imágenes como ThumbsView).

Y REALMENTE se ejecuta desde la misma base de código.¡VERDADERO!

Olvídate de Kylix, Mono, Lazarus, Free Pascal.Esta cosa de Qt los supera a todos 10 veces.

Qt Creator está lejos de ser un IDE.Pero espero que en el futuro agreguen un depurador más potente, información y refactorización del código (al menos el de "Cambiar nombre") y errores de compilación más significativos.

Recomendaría seriamente a alguien sin experiencia en Pascal/C++ que tome la curva de aprendizaje de Qt.

Elegiría Delphi, pero probablemente sea porque lo he programado antes.Parece que todavía hay varias empresas que lo utilizan, y casi todos los que tienen más de 8 años de experiencia lo han encontrado en alguna parte.Parece que la mayoría de los programadores pueden identificarse con su uso o al menos con aprender Pascal.Sin mencionar el hecho de que los lenguajes más nuevos (C#) se basan en él (al menos parcialmente).

Elija Delphi si lo que le preocupa es la velocidad nativa de Win32, un entorno RAD de primera clase y el tamaño del ejecutable.Elija QT si necesita un marco verdaderamente multiplataforma junto con una política de licencias ahora flexible y no le importa el código un poco inflado.

Porté un antiguo programa Delphi a QT/C++, y debo decir que QT es el marco que más se acerca a VCL en términos de facilidad de uso y potencia (en mi humilde opinión).

Yo elegiría Delfos.Sólo porque tengo más experiencia con eso.No creo que haya otros criterios razonables.

Qt es multiplataforma, Delphi no mucho si contamos a Kylix.Lazarus es multiplataforma, pero aún no tiene todas las funciones completas.

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