Question

Si vous aviez un différentiel entre vous aventurer sur les terres Delphi ou Qt, lequel choisiriez-vous? Je sais qu'ils ne sont pas totalement comparables. Pour ma part, j'ai une expérience de développement Windows avec Builder C ++ (presque Delphi) et MFC (presque Qt), avec un peu plus de temps pour travailler avec Builder C ++. Veuillez supprimer la capacité multi-plateforme de Qt dans votre analyse.

J'espère les réponses des personnes qui ont travaillé avec les deux et comment il ou elle comparerait le cadre, l'environnement, etc.?

Merci d'avance pour vos réponses.

Était-ce utile?

La solution

Modifier: cette réponse a été écrite en 2008 . Ce n'est probablement plus aussi approprié, bien que ce ne soit probablement pas totalement inutile. Prendre avec du sel.

J'ai utilisé les deux et j'ai fini par emprunter la route Qt. Voici les raisons:

  • Trolltech offre une assistance rapide et personnalisée par courrier électronique
  • Qt innove et introduit régulièrement de nouvelles fonctionnalités puissantes
  • La documentation Qt est incroyable, et dans les rares cas où cela n’est pas le cas, vous pouvez lire le code source
  • Avoir le code source de Qt vous permet également de déboguer dans vos bibliothèques de base, ce qui a été une bouée de sauvetage pour moi à maintes reprises
  • L'API est très cohérente et bien conçue. Nous avons engagé de nouvelles personnes dans le projet. En un mois, elles démontrent une connaissance approfondie de la boîte à outils et peuvent apprendre de nouvelles classes très rapidement
  • Il a des liens vers d'autres langues, par exemple. Ruby et Python.

C ++ est un peu un inconvénient, par exemple. les temps de compilation, l’emballage et un IDE moins intégré. Cependant, Qt donne l'impression que C ++ ressemble davantage à un langage de niveau supérieur. QStrings simplifie la manipulation des chaînes, par exemple. Ainsi, les problèmes supplémentaires avec C ++ auxquels vous auriez normalement à faire face, par exemple. plus de code bogué, sont moins répandues dans mon expérience avec Qt.

De plus, il y a plus de bibliothèques pour Delphi que pour Qt, mais ceci est atténué car vous pouvez simplement utiliser la bibliothèque ac ou c ++ dans un projet Qt, et aussi parce que Qt est si complet que vous n'en avez souvent pas. chercher plus loin.

Ce serait une situation étrange où je choisirais Delphi plutôt que Qt pour un nouveau projet.

Autres conseils

Si vous parlez de structures d'interface utilisateur, vous devriez alors comparer Qt avec la VCL, et non pas l'EDI (Delphi dans ce cas). Je sais que je suis un stickler, mais Delphi est l'EDI, Object-Pascal est le langage et VCL est le cadre graphique.

Cela étant dit, je ne pense pas que rien puisse se comparer à la puissance et à la simplicité de la VCL. C’est génial, mais ce n’est pas de la VCL.

Je choisirais Delphi. Bien sûr, vous demandez à n'importe quel pascalholique et il est sûr de répondre de la même façon. ;)

Encore une fois, ça va, mais la VCL se sent plus raffinée. Mais alors cela pourrait être mes années de travail avec ça donc ça me semble juste. Mon expérience avec Qt s'est limitée à un projet de courte durée qui a finalement été réécrit à Delphi après avoir déterminé qu'il n'était plus nécessaire d'utiliser une plate-forme croisée grâce à la puissance de GoGlobal , qui permet à toute application win32 de devenir une application Web et donc de fonctionner sur n’importe quelle plate-forme.

Cela dépend vraiment de vos besoins et de votre expérience. J'ai travaillé avec les deux (bien que je dois dire que la dernière version de Delphi avec laquelle j'ai vraiment travaillé était Delphi 6 et que je travaille actuellement avec Qt 4.4).

La langue

pros C ++:

  • C ++ est plus "standard", par ex. vous trouverez plus de code, des bibliothèques, des exemples, etc., et vous pourrez utiliser librement la STL et le boost, alors que Object Pascal est plus un langage exotique
  • Qt compile sur différentes plates-formes et compilateurs (Kylix est basé sur Qt, BTW)

Avantages Object Pascal:

  • certaines propriétés dynamiques sont intégrées directement dans le langage, aucune solution de contournement comme le MOC n'est nécessaire
  • le compilateur est hautement optimisé pour la langue et très rapide
  • le langage est moins complexe que C ++ et donc moins sujet aux erreurs

L'EDI

Qt pros:

  • Strictement parlant, il n'y a pas d'IDE pour Qt à part Designer, mais il s'intègre parfaitement à votre IDE préféré (au moins Visual Studio et Eclipse)
  • le concepteur utilise mieux les modèles que les formulaires Delphi (Remarque: ceci est basé sur     Expérience Delphi 6 et peut ne pas être vraie avec les versions actuelles)

Delphi pros:

  • L'IDE est vraiment poli et facile à utiliser maintenant, et il bat clairement Visual Studio IMO (je n'ai aucune expérience avec Eclipse)
  • il n'y a pas de point 2 ... mais si je devais attribuer le mot à la mode "intégré" Je l'assignerais à l'EDI Delphi

Le cadre

Je laisserai une comparaison aux autres, car je ne connais pas assez bien la dernière version de VCL. J'ai quelques remarques:

  • les deux frameworks couvrent la plupart des fonctionnalités nécessaires
  • les deux ont le code source disponible, ce qui est un must pour IMO
  • les deux ont une structure plus ou moins cohérente - je préfère Qt, mais cela dépend de vos préférences (remarque: je ne dirais jamais que Qt est presque MFC - j'ai utilisé MFC depuis longtemps, et Qt et Delphi - et .NET, d'ailleurs - sont bien meilleurs)
  • la VCL a davantage de fonctionnalités orientées DB, en particulier la connexion avec les composants visuels
  • Qt a davantage de fonctionnalités orientées peinture (2D / 3D / OpenGL)

Les autres raisons qui parlent pour Qt IMO sont le très bon support et les licences, mais cela dépend de vos besoins. Il existe de grandes communautés pour les deux cadres,

Une grande différence entre Delphi et Qt réside dans le système de signaux / slots Qt, ce qui permet de créer facilement une relation N à N entre les objets et d’éviter les couplages étroits.

Je ne pense pas qu'une telle chose existe à Delphi (du moins, je ne l'utilisais pas quand je l'utilisais).

Je viens juste de commencer à expérimenter avec Qt / C ++ / Qt Creator et je dois avouer que j'ai été surpris de constater que ce "petit bâtard mignon" était juste en dessous de mon nez pendant de nombreuses années et je fais attention à cela tout à l'heure.

Il (le framework) a l’air soigné, complet de fonctionnalités (même des choses qui manquaient à .NET telles que la prise en charge inextensible de XQuery).

Il semble que la plupart des applications Qt écrites traitent de 2D / 3D / Jeux.

Je crois que les inconvénients sont uniquement: avoir à connaître le C ++ et le manque de goodies DevExpress comme QuantumGrid.

J'envisage sérieusement de porter l'une de mes applications simples (une visionneuse d'images comme ThumbsView).

Et cela fonctionne VRAIMENT à partir de la même base de code. POUR VRAI!

Oubliez Kylix, Mono, Lazarus, Free Pascal. Cette chose Qt les bat tous dans 10 fois.

Qt Creator est loin d’être l'IDE. Mais j'espère qu'à l'avenir, ils ajouteront un débogueur plus puissant, une meilleure compréhension du code et un refactoring (au moins celui "Renommer") et des erreurs de compilation plus significatives.

Je recommanderais sérieusement à une personne sans expérience en Pascal / C ++ de prendre la courbe d'apprentissage Qt.

Je choisirais Delphi, mais c'est probablement parce que je l'ai déjà programmé. Il semble que de nombreuses entreprises l'utilisent encore et quasiment toutes les personnes ayant plus de 8 ans d'expérience l'ont rencontré quelque part. Il semble que la plupart des programmeurs peuvent comprendre l’utilisation ou au moins l’apprentissage de Pascal. Sans oublier le fait que les nouveaux langages (C #) sont basés dessus (au moins partiellement).

Choisissez Delphi si votre problème est la vitesse Win32 native, un environnement RAD de première classe et une taille d’exécutable. Choisissez QT si vous avez besoin d'un véritable framework multiplate-forme associé à une politique de licence désormais flexible et ne craignez pas un code légèrement saturé.

J'ai porté un ancien programme Delphi sous QT / C ++, et je dois dire que QT est le cadre qui se rapproche le plus de la VCL en termes de facilité d'utilisation et d'alimentation (IMHO)

Je choisirais Delphi. Seulement parce que j'ai plus d'expérience avec ça. Je ne pense pas qu'il existe d'autres critères raisonnables.

Qt est multi-plateforme, Delphi pas beaucoup si on compte Kylix. Lazarus est multi-plateforme, mais pas encore complet.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top