Dies ist wirklich kein Versuch, einen Flammenkrieg auszulösen, ich wollte nur einige der Punkte ansprechen.
Wahrscheinlich ist der wahre Grund dafür, dass Qt nicht so verbreitet ist, dass es C ++ ist und weniger Menschen C ++ für Desktop-Apps verwenden.
Qt ist keine C ++ - Bibliothek. Es ist ein separater Kompilierungsschritt erforderlich, wodurch der Erstellungsprozess im Vergleich zu den meisten anderen Bibliotheken viel komplizierter wird.
Das vs-Addin für Visual Studio erledigt dies automatisch, ebenso wie Qts eigener Kommandozeilen-Make-Prozess. Der Ressourcen-Compiler, der zum Erstellen der Dialoge für MFC verwendet wird, ist ebenfalls ein separater Schritt, aber das ist immer noch C ++.
Qt ist eine große Menge an Quellcode, die auf jedem Computer vorhanden und vorinstalliert sein muss, den Sie verwenden, bevor Sie kompilieren. Dies kann das Einrichten einer Build-Umgebung erheblich erschweren.
Es gibt einen binären Download für jede Version von Visual Studio und der Build aus dem Quellcode ist ein einziger Befehl. Ich sehe nicht, dass die Größe der SDK-Quelle heutzutage so wichtig ist. Visual Studio installiert jetzt alle C ++ - Bibliotheken und lässt Sie nicht mehr auswählen. Daher ist die Installationsgröße des Compilers> 1 GB.
Es ist nur unter LGPL verfügbar, was es schwierig macht, Single-Binary-Deployment zu verwenden, wenn eine Freigabe unter einer restriktiveren oder weniger restriktiven Lizenz erforderlich ist.
Die LGPL bezieht sich nur auf die Bibliothek, nicht auf Ihren Code. Ja, es bedeutet, dass Sie DLLs anstatt einer einzelnen Binärdatei ausliefern müssen (es sei denn, Sie zahlen dafür), aber in einer Welt, in der Sie eine Java-Laufzeit oder ein .Net-Update für eine winzige Anwendung herunterladen müssen, ist dies keine so große Sache. Auf Plattformen mit einem einzigen ABI ist dies auch weniger problematisch, sodass andere Qt-Apps die Bibliotheken gemeinsam nutzen können.
In einigen Fällen sieht es einfach nicht so aus, wie native Programme aussehen. Das Entwerfen einer einzigen Benutzeroberfläche für alle Plattformen wird aus verschiedenen Gründen des visuellen Stils nicht richtig aussehen, wenn sie von Maschine zu Maschine verschoben wird.
Es soll native Widgets und Themes verwenden. Ich muss zugeben, dass ich hauptsächlich technische Apps mache, damit sich meine Benutzer nicht zu sehr um den Stil kümmern. Besonders unter Windows bedeutet die neue Mode, dass sich alles wie ein Smartphone-Widget anfühlt, dass es sowieso immer weniger Standards gibt.