質問

Delphi ランドと Qt ランドのどちらかに足を踏み入れるという違いがあるとしたら、どちらを選びますか?完全に比較できるものではないことは承知しています。私は、Builder C++ (ほぼ Delphi) と MFC (ほぼ Qt) を使用した Windows 開発の経験があり、Builder C++ を使用する時間はもう少しあります。分析では Qt のクロスプラットフォーム機能を考慮してください。

両方を使用したことのある人の返信を期待しています。フレームワークや環境などをどのように比較するでしょうか?

ご返信いただきありがとうございます。

役に立ちましたか?

解決

編集:この答えは次のように書かれていました 2008. 。おそらく完全に役に立たないわけではありませんが、もはやそれほど適切ではありません。塩と一緒に摂取してください。

私は両方を使用しましたが、最終的には Qt ルートを選択しました。その理由は次のとおりです。

  • Trolltech は電子メールによる迅速な 1 対 1 のサポートを提供します
  • Qt は革新し、強力な新機能を定期的に導入します
  • Qt ドキュメントは素晴らしいものですが、まれにそうでない場合は、ソース コードを読むことができます。
  • Qt のソース コードがあると、ベース ライブラリ内でデバッグすることもでき、これは私にとって何度も救われました。
  • API は非常に一貫性があり、適切に設計されています。新しい人材をプロジェクトに参加させましたが、彼らは 1 か月以内にツールキットに関する深い知識を示し、新しいクラスを非常に早く学習できるようになりました。
  • 他の言語とのバインディングがあります。ルビーとパイソン。

C++ には多少の欠点があります。コンパイル時間、パッケージ化、統合性の低い IDE。ただし、Qt を使用すると、C++ がより高級な言語のように感じられます。QStrings は、たとえば文字列処理の煩わしさをすべて取り除きます。したがって、通常直面するであろう C++ に関する追加の問題も発生します。Qt を使用する場合、私の経験ではバグのあるコードはあまり発生しません。

また、Delphi には Qt よりも多くのライブラリがありますが、Qt プロジェクトでは C または C++ ライブラリだけを使用できることと、Qt には十分な機能が備わっているため、ライブラリを探す必要がないことが多いため、この問題は軽減されます。さらに遠く。

新しいプロジェクトに Qt ではなく Delphi を選択するのは奇妙な状況です。

他のヒント

UI フレームワークについて話している場合は、IDE (この場合は Delphi) ではなく、Qt と VCL を比較する必要があります。こだわりがあることは承知していますが、Delphi は IDE、Object-Pascal は言語、VCL はグラフィカル フレームワークです。

そうは言っても、VCL のパワーとシンプルさに匹敵するものはないと思います。Qt は優れていますが、VCL ではありません。

私ならデルフィを選びます。もちろん、パスカルホリックに尋ねれば、彼は必ず同じ答えを返すでしょう。;)

Qt も問題ありませんが、VCL の方が洗練されているように感じます。しかし、それは私が何年もこれに取り組んできたので、ちょうど良いと感じたのかもしれません。Qt に関する私の経験は、短期間のプロジェクトに限定されていましたが、そのパワーのおかげでクロス プラットフォームは実際には必要ないと判断され、最終的に Delphi で書き直されました。 ゴーグローバル これにより、任意の win32 アプリを Web アプリケーションにすることができるため、任意のプラットフォームで実行できます。

それはあなたのニーズと経験によって異なります。私は両方を使用したことがあります (ただし、実際に使用した最後の Delphi バージョンは Delphi 6 であり、現在は Qt 4.4 を使用しています)。

言語

C++ の長所:

  • C++ はより「標準」です。より多くのコード、ライブラリ、サンプルなどが見つかり、STL とブーストを自由に使用できますが、Object Pascal はよりエキゾチックな言語です。
  • Qt はさまざまなプラットフォームとコンパイラでコンパイルされます (Kylix は Qt に基づいています)

Object Pascal の長所:

  • 一部の動的プロパティは言語に直接組み込まれており、MOC のような醜い回避策は必要ありません。
  • コンパイラは言語に合わせて高度に最適化されており、実際に非常に高速です
  • この言語は C++ よりも複雑ではないため、エラーが発生しにくくなります。

IDE

Qt の長所:

  • 厳密に言えば、デザイナー以外に Qt 用の IDE はありませんが、好みの IDE (少なくとも Visual Studio と Eclipse) にうまく統合されます。
  • デザイナーは、Delphi フォームよりもレイアウトをうまく処理します (注:これはDelphi 6の経験に基づいており、現在のバージョンでは真実ではないかもしれません)

Delphi の長所:

  • IDE は非常に洗練されていて使いやすくなり、私の意見では明らかに Visual Studio を上回っています (私は Eclipse の経験がありません)。
  • ポイント2はありません...しかし、「統合」という流行語を割り当てる必要がある場合、私はそれを Delphi IDE に割り当てるでしょう。

枠組み

最新の VCL についてはよくわからないので、他のものとの比較は残しておきます。いくつかのコメントがあります:

  • どちらのフレームワークも必要な機能のほとんどをカバーしています
  • どちらも利用可能なソースコードを持っています。これはIMO必須です
  • どちらも多かれ少なかれ一貫した構造を持っています。私は Qt のほうが好きですが、これは好みによって異なります (注:Qt がほぼ MFC であるとは決して言いません。私は長い間 MFC を使ってきましたが、Qt と Delphi はどちらも、さらに言えば .NET の方がはるかに優れています)。
  • VCL には、より DB 指向の機能、特にビジュアル コンポーネントとの接続が備わっています。
  • Qt には、より多くのペイント (2D / 3D / OpenGL) 指向の機能があります

Qt IMO を代表するその他の理由としては、非常に優れたサポートとライセンスが挙げられますが、それはニーズによって異なります。どちらのフレームワークにも大規模なコミュニティがあり、

Delphi と Qt の大きな違いは、Qt シグナル/スロット システムです。これにより、オブジェクト間に N 対 N の関係を作成し、密結合を回避することが非常に簡単になります。

Delphi にはそのようなものは存在しないと思います(少なくとも私が使用していたときはそのようなものはありませんでした)。

私は Qt/C++/Qt Creator の実験を始めたばかりですが、この「小さくてかわいい野郎」が何年も私の目の前にいたことに驚いたことを認めなければなりませんが、今それに注目しています。

これ (フレームワーク) は見た目がすっきりしており、機能も充実しています (組み込みの XQuery サポートなど、.NET に欠けている機能も含まれています)。

書かれた Qt アプリケーションのほとんどは 2D/3D/ゲームを扱っているようです。

欠点は次のとおりだと思います。C++ を理解する必要があることと、QuantumGrid のような DevExpress の優れた機能がないことです。

私の単純なアプリケーション (ThumbsView のような画像ビューア) の 1 つを移植することを真剣に検討しています。

そして、実際には同じコードベースから実行されます。実際に!

Kylix、Mono、Lazarus、Free Pascal のことは忘れてください。この Qt はそれらすべてを 10 倍上回っています。

Qt Creator は IDE とは程遠いです。しかし、将来的には、より強力なデバッガ、コード インサイトとリファクタリング (少なくとも「名前変更」)、およびより意味のあるコンパイラ エラーが追加されることを期待しています。

Pascal/C++ の経験がない人には、Qt の学習曲線を取ることを真剣にお勧めします。

私なら Delphi を選びますが、それはおそらく以前にプログラミングしたことがあったからでしょう。今でも使用している企業は多いようで、8年以上の経験を持つほぼ全員がどこかで遭遇したことがあると思います。ほとんどのプログラマは、Pascal の使用、または少なくとも Pascal の学習に共感できるようです。新しい言語 (C#) が (少なくとも部分的に) これに基づいているという事実は言うまでもありません。

ネイティブ Win32 の速度、ファーストクラスの RAD 環境、および実行可能ファイルのサイズを重視する場合は、Delphi を選択してください。柔軟になったライセンス ポリシーと組み合わせた真のクロスプラットフォーム フレームワークが必要で、コードが多少肥大化しても気にしない場合は、QT を選択してください。

私は古い Delphi プログラムを QT/C++ で移植しましたが、使いやすさとパワーの点で QT が VCL に最も近いフレームワークであると言わざるを得ません (私見)

私ならデルフィを選びます。それは私がより多くの経験を積んでいるからです。他に合理的な基準があるとは思えません。

Qt はクロスプラットフォームですが、Delphi は Kylix を考慮するとそれほど多くはありません。Lazarus はクロスプラットフォームですが、機能がまだ完全ではありません。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top