2010-12-13 20 views
8

Ich fange an, an einem neuen GUI-Projekt in .Net zu arbeiten, und jemand schlug Qt zu mir vor. Ich fing an, darüber zu lesen und ich verstehe seine Vorteile gegenüber Visual Studio Designer nicht.Was sind die Vorteile bei der Verwendung von Qt?

Ich sehe, warum C++ VS6 wird es verwenden, aber nicht, warum. NET-Entwickler.

Wenn der Hauptvorteil Portabilität ist, was ist dann sein Vorteil auf JAVA?

Danke!

+5

Qt ist speziell eine C++ - Bibliothek. Ich würde nicht erwarten, dass .NET- oder Java-Entwickler daran interessiert sind. –

+2

Nun, es gibt auch einen Python-Port von Qt. Aber wenn Sie .net verwenden, brauchen Sie keine Cross-Plattform-Unterstützung, also verwenden Sie, was immer Microsoft Ihnen zur Verfügung stellt. – Falmarri

+0

Beachten Sie, dass Sie mit QT und .NET arbeiten können. http://en.wikipedia.org/wiki/Qt_%28framework%29 – AYBABTU

Antwort

11
  • Es ist Cross-Plattform und nutzt die Systemressourcen Fenster zu zeichnen, Kontrollen, etc., so dass Ihre Anwendung einen native Look bekommen (zB auf einem Mac App-Fenster wird das Menü fehlen bar und die Menüleiste erscheint in der Menüleiste des Systems, wie es das Standardverhalten auf dem Mac ist Plattform).

  • Schreiben in C++ gibt Ihnen große Kontrolle, die Möglichkeit, mit fantastischen Bibliotheken wie der STL, Boost, etc zu arbeiten; Der Code wird in native Binärdateien kompiliert, die mit voller Geschwindigkeit ausgeführt werden können, ohne dass eine virtuelle Maschine erforderlich ist.

  • Qt ist Open Source und wird von der Qt Group (ehemals Trolltech) bei Nokia entwickelt, so dass Sie ein sehr großes Unternehmen haben, das es mit der Unterstützung der Community erhält und die Entwicklung sicherstellt.

  • Es hat die besten GUI-Designer ich je gesehen habe (ich habe mit .NET gearbeitet, bevor Windows Forms und WPF)
+0

Eine andere Frage - es übersetzen C++ Befehle für die richtige Plattform? Ich kann einmal auf einem PC entwickeln und es wird "fork" automatisch verwenden, wenn ich es unter Linux kompiliere? – AYBABTU

+1

Es abstrahiert einen großen Teil der zugrunde liegenden Plattform. Wenn Sie also keinen OS-spezifischen Code schreiben (der in den meisten Anwendungen nicht erforderlich ist), können Sie den gleichen Code auf allen wichtigen Plattformen kompilieren. Bis jetzt wurden die meisten Anwendungen, die ich mit Qt entwickelt habe, auf Linux, Windows und Mac kompiliert, ohne auch nur eine Zeile Code zu ändern. – Raphael

3

Der größte Vorteil von Qt IMO ist seine Fähigkeit, plattformübergreifend zu arbeiten.

Darüber hinaus sollte es (zumindest theoretisch) schneller als .NET und Java-Anwendungen ausgeführt werden, da es kompiliert wird.

9

Werfen Sie einen Blick auf diesen Beitrag: Do you use Qt and why do you use it?

Persönlich mag ich Qt, weil seine plattformübergreifende, sehr beliebt, und man sehr schnell bereit, einen Prototyp haben!

+10

Beachten Sie, dass sich die Lizenzierung auf Qt geändert hat, seit diese Frage beantwortet wurde. Dank der LGPL-Version ist es nun möglich, Qt in einer kommerziellen Anwendung kostenlos zu nutzen. – karunski

+6

Sehr gut, Karunski darauf hinzuweisen! LGPL spielte eine große Rolle bei der breiten Akzeptanz von QT. – athspk

3

Es ist Cross-Plattform-Fähigkeiten und Popularität sind attraktiv.

Ich denke, zwei der größten Vorteile sind:

  • die API-Design ausgezeichnet
  • die Werkzeuge, die mit ihm so nahtlos zusammenarbeiten: QtCreator, pyside, Jambi
5
  • Es ist nicht nur Cross-Plattform über Desktop-Plattformen nämlich - Windows, Mac OS und Linux, sondern auch der gleiche Code wird auf den Geräten basierend auf Embedded Linux, Windows CE/Mobile, Symbian und der neu kommenden Meego arbeiten. Für embedded linux hat es sein eigenes, leichtgewichtiges Fenstersystem basierend auf dem Framebuffer, was die Notwendigkeit für X11 beseitigt.
  • Es hat jetzt auch eine sehr fähige IDE in Qt Creator, die wieder auf allen Plattformen funktioniert und Ihnen somit die gleiche Entwicklungsumgebung gibt, wo immer Sie auch hingehen.
  • Die neueste Version 4.7 bietet eine neue Möglichkeit zur Entwicklung von Apps für Geräte mit QML + Javascript für Ihre flüssige Multi-Touch-Gesten-Schnittstelle, die direkt mit der Geschäftslogik in C++ Qt-Klassen kommuniziert.
  • Das gleiche gilt für Qt Webkit basierend auf dem Webkit Toolkit, wo Sie Ihren Javascript Code mit Ihren Kern-C++ Klassen verbinden können, die in Qt gemacht wurden.
1

In weniger Worten

  • Qt ist besser für GUI-Design, da ist schneller als andere Sprachen
  • direkt von der CPU
  • Verwenden intelligente Speicherverwaltung
  • GUI verwaltet Es ist Designer ist sehr nützlich und einfach zu handhaben
  • Ich habe die gleiche Anwendung auf Java und QT gemacht, und läuft wie 5 o mehr mal schneller auf QT

Für eine detailliertere Beschreibung können Sie einen Blick auf diesen Artikel nehmen:

http://turing.iimas.unam.mx/~elena/PDI-Lic/qt-vs-java-whitepaper.pdf

Ist ein kurzer Vergleich zu Java und Qt, ist sehr interessant.

+0

Während dies theoretisch die Frage beantworten könnte, [wäre es vorzuziehen] (// meta.stackoverflow.com/q/8259), die wesentlichen Teile der Antwort hier aufzunehmen und den Link als Referenz bereitzustellen. –

+0

Bearbeitungen, Antwort aktualisiert. – GTRONICK

Verwandte Themen