これは純粋に炎戦争を開始する試みではなく、いくつかのポイントに対処したかっただけです。
おそらくQtがそれほど広く使用されていない本当の理由は、C ++であり、デスクトップアプリにc ++を使用する人が少ないことです。
QtはC ++ライブラリではありません。別のコンパイル手順が必要です。これにより、他のほとんどのライブラリと比較して、ビルドプロセスがはるかに複雑になります。
Visual Studioのvs-addinは、Qt独自のコマンドライン作成プロセスと同様に、これを自動的に行います。MFCのダイアログを構築するために使用されるリソースコンパイラも別の手順ですが、それはまだc ++です。
Qtは大量のソースであり、コンパイルする前に使用するすべてのマシンに存在し、プリインストールされている必要があります。これにより、ビルド環境のセットアップが非常に面倒になります。
Visual Studioの各バージョンのバイナリダウンロードがあり、ソースからのビルドは単一のコマンドです。最近、SDKのソースサイズはそれほど大きな問題ではないと思います。Visual Studioは、選択して選択するのではなく、すべてのC ++ライブラリをインストールするようになりました。その結果、コンパイラのインストールサイズは1Gbを超えています。
LGPLでのみ使用できます。これにより、より制限の厳しいライセンスまたはより制限の少ないライセンスでリリースする必要がある場合に、シングルバイナリ展開を使用することが難しくなります。
LGPLはlibにのみ適用され、コードには影響しません。はい、単一のバイナリではなくDLLを出荷する必要があります(支払いがない限り)が、Javaランタイムまたは小さなutilの.Net更新をダウンロードする必要がある世界では、これはそれほど大したことではありません。また、他のQtアプリがライブラリを共有できるように、単一のABIを備えたプラットフォームでは問題が少なくなります。
場合によっては、ネイティブプログラムのように見えません。すべてのプラットフォーム用に単一のUIを設計することは、さまざまな視覚的スタイリングの理由から、マシンからマシンに移動したときに本質的に正しく見えません。
ネイティブのウィジェットとテーマを使用することになっています。ユーザーがスタイルについてあまり気にしないように、ほとんど技術的なアプリを使用することを認めなければなりません。特にWindowsでは、すべてがスマートフォンウィジェットとしてスタイル付けされるという新しいファッションは、とにかく標準が少なくなることを意味します。