Welches Toolkit lernen?
-
- Posts: 8
- Joined: 14. May 2004 14:38
Welches Toolkit lernen?
Hallo,
Ich möchte schöne bunte Anwendungen für Linux/X schreiben.
Welches Toolkit ist das coolste? GTK? QT? Oder was anderes?
Vielen Dank im Vorraus
Don
Ich möchte schöne bunte Anwendungen für Linux/X schreiben.
Welches Toolkit ist das coolste? GTK? QT? Oder was anderes?
Vielen Dank im Vorraus
Don
Ich würde dir auf jeden Fall GTK ans Herz legen. Das C++ Argument zählt einfach nicht, weil es für GTK auch C++ Anbindungen gibt. GTK ist einfach zu erlernen und wahrt die Eigenheiten der Sprache. QT verändert C++ in vielerlei Hinsichten.
Für GTK findest du auch eine Vielzahl an Sprachanbindungen, du kannst es mit C, C++, Java, Perl, Ruby, Common LISP, Scheme und viele andere Sprachen einsetzen. Die Anbindungen von GTK sind dabei in vielen Sprachen sehr gut gelungen und wahren wie gesagt die Besonderheiten der sprachen. Der Vorteil ist, daß du mit GTK auf der portablen Seite bist, weil es GTK für eine Vielzahl von Plattformen gibt. QT für Windows ist ja immer so ne Sache. :/
Jedenfalls brauchst du mit GTK kein anderes Toolkit erlernen, wenn du mal ne GUI in ner anderen Programmiersprache schreiben willst. GTK in C tue ich mir selbst aber schon lange nicht mehr an. Ich bevorzuge GTK mit C++, Ruby und Common LISP.
Auf jedenfall ein sehr gutes Toolkit und auch einfach zu erlernen. Der GTK Workshop, den ich mal auf Pro-Linux geschrieben habe, ist leider noch für GTK1.2 und es dürfte ihm etwas an Aktualität mangeln.
Für GTK findest du auch eine Vielzahl an Sprachanbindungen, du kannst es mit C, C++, Java, Perl, Ruby, Common LISP, Scheme und viele andere Sprachen einsetzen. Die Anbindungen von GTK sind dabei in vielen Sprachen sehr gut gelungen und wahren wie gesagt die Besonderheiten der sprachen. Der Vorteil ist, daß du mit GTK auf der portablen Seite bist, weil es GTK für eine Vielzahl von Plattformen gibt. QT für Windows ist ja immer so ne Sache. :/
Jedenfalls brauchst du mit GTK kein anderes Toolkit erlernen, wenn du mal ne GUI in ner anderen Programmiersprache schreiben willst. GTK in C tue ich mir selbst aber schon lange nicht mehr an. Ich bevorzuge GTK mit C++, Ruby und Common LISP.
Auf jedenfall ein sehr gutes Toolkit und auch einfach zu erlernen. Der GTK Workshop, den ich mal auf Pro-Linux geschrieben habe, ist leider noch für GTK1.2 und es dürfte ihm etwas an Aktualität mangeln.
Disclaimer: Ich arbeite weder mit dem einen noch mit dem anderen (als Entwickler).
Allerdings ist Qt nicht schlicht als "kommerziell" abzuwerten. Es untersteht einer Doppel-Lizenz. Qt untersteht der GPL-Lizenz, wenn Du die Library für GPL-Anwendungen verwendest. Wenn Du selbst kommerzielle Anwendungen oder eine Windows-Version Deiner Anwendung entwickeln willst, musst Du eine Lizenz für den kommerziellen EInsatz von TrollTech erwerben.
Jochen
Allerdings ist Qt nicht schlicht als "kommerziell" abzuwerten. Es untersteht einer Doppel-Lizenz. Qt untersteht der GPL-Lizenz, wenn Du die Library für GPL-Anwendungen verwendest. Wenn Du selbst kommerzielle Anwendungen oder eine Windows-Version Deiner Anwendung entwickeln willst, musst Du eine Lizenz für den kommerziellen EInsatz von TrollTech erwerben.
Jochen
Die grösste Lüge der EDV? "Mal eben..."
Hi!
GTK ist IMO einfach zu primitiv, um effektiv damit zu programmieren. Wenn du nicht von vornherein eine andere Sprache als C oder C++ anpeilst, dann würde ich zumindest von GTK stark abraten. Natürlich gibt es tolle Applikationen mit GTK, aber die Programmierung ist eine Quälerei und die GUI ist in der Regel mies (Ethereal ist eine der besseren).
Wenn du keine kommerziellen Programme schreibst, ist Qt wohl die beste Wahl. Ansonsten empfehle ich wxWidgets. Unter allen Cross-Plattform-Bibliotheken ist diese bei weitem die umfassendste.
Gruß,
hjb
GTK ist IMO einfach zu primitiv, um effektiv damit zu programmieren. Wenn du nicht von vornherein eine andere Sprache als C oder C++ anpeilst, dann würde ich zumindest von GTK stark abraten. Natürlich gibt es tolle Applikationen mit GTK, aber die Programmierung ist eine Quälerei und die GUI ist in der Regel mies (Ethereal ist eine der besseren).
Wenn du keine kommerziellen Programme schreibst, ist Qt wohl die beste Wahl. Ansonsten empfehle ich wxWidgets. Unter allen Cross-Plattform-Bibliotheken ist diese bei weitem die umfassendste.
Gruß,
hjb
Pro-Linux - warum durch Fenster steigen, wenn es eine Tür gibt?
@hjb
Das wxWidgets sieht sehr interessant aus. Weisst Du, ob und wenn ja wie man das VTK (mit C++) darin einbinden kann? Auf www.wxwidgets.org habe ich zwar einen Verweis auf zukünftige Vorhaben gefunden, aber keine infos, wie weit das ganze schon ist.
Danke und Gruss
Tom2
Das wxWidgets sieht sehr interessant aus. Weisst Du, ob und wenn ja wie man das VTK (mit C++) darin einbinden kann? Auf www.wxwidgets.org habe ich zwar einen Verweis auf zukünftige Vorhaben gefunden, aber keine infos, wie weit das ganze schon ist.
Danke und Gruss
Tom2
Qt+VTK
Qt ist mein bevorzugtes Toolkit.
VTK kann man auch darin integrieren.
Das Binding ist u.a. in meinem Projekt enthalten.
http://pvbrowser.org
VTK kann man auch darin integrieren.
Das Binding ist u.a. in meinem Projekt enthalten.
http://pvbrowser.org
-
- Posts: 109
- Joined: 13. Apr 2004 6:23
Die Wahl des Toolkits ist wohl sehr von dem Einsatz abhängig.
Zuerst zu genannten argumenten:
"aber gtk ist ein reine gpl software während qt kommerziell ist."
Das ist schlicht falsch. GTK ist LGPL während Qt GPL ist, und zusätzlich eine Kommerzielle Lizenz anbietet, wenn du keine Open Source Software entwickelst.
"Das C++ Argument zählt einfach nicht, weil es für GTK auch C++ Anbindungen gibt"
Das mag durchaus sein, aber dennoch ist Qt von beginn an dafür Entwickelt worden, Objektorientiert zu sein. Ich finde es unsinnig ein Toolkit auf diese wiese zu verbiegen, wenn es schon etwas geeignetes gibt.
Und das es kaum Bindings für andere Sprachen gibt, ist nicht die Schuld von Qt, sondern der meisten Sprachen die nur in C als Basis entwickelt wurden, oder sich die Freepascal bisher nicht die mühe gemacht haben sich an das Objektmodell von C++ anzupassen.
Andere Sprachen wie Kylixs. Object Pascal haben diese Anbindung.
"Qtverändert C++ in vielerlei Hinsichten."
Und es gibt genug Entwickler, welche das durchaus positiv sehen
Zudem passt GTK kaum z.B. zu Windows. GIMP sieht immer wie ein Fremdkörper aus, und fühlt sich fast nie "richtig" an. Qt Anwendungen hingegen passen sich sehr gut in Windows und MacOSX ein.
Die saubere Struktur von QT, und seine einfache nutzbarkeit finde ich vorbildlich. Borland hatte gute Gründe Qt als Basis für Kylix zu benutzen.
Ich kann GTK nichts abgewinnen, und habe es inzwischen größtenteils aus meinem System verbannt. Nur Xchat, XMMS und GIMP existieren noch auf meinem System. Ansonsten will ich kein GTK mehr haben, und wenn es gute alternativen für die 3 genannten gibt, wars das komplett
Zuerst zu genannten argumenten:
"aber gtk ist ein reine gpl software während qt kommerziell ist."
Das ist schlicht falsch. GTK ist LGPL während Qt GPL ist, und zusätzlich eine Kommerzielle Lizenz anbietet, wenn du keine Open Source Software entwickelst.
"Das C++ Argument zählt einfach nicht, weil es für GTK auch C++ Anbindungen gibt"
Das mag durchaus sein, aber dennoch ist Qt von beginn an dafür Entwickelt worden, Objektorientiert zu sein. Ich finde es unsinnig ein Toolkit auf diese wiese zu verbiegen, wenn es schon etwas geeignetes gibt.
Und das es kaum Bindings für andere Sprachen gibt, ist nicht die Schuld von Qt, sondern der meisten Sprachen die nur in C als Basis entwickelt wurden, oder sich die Freepascal bisher nicht die mühe gemacht haben sich an das Objektmodell von C++ anzupassen.
Andere Sprachen wie Kylixs. Object Pascal haben diese Anbindung.
"Qtverändert C++ in vielerlei Hinsichten."
Und es gibt genug Entwickler, welche das durchaus positiv sehen
Zudem passt GTK kaum z.B. zu Windows. GIMP sieht immer wie ein Fremdkörper aus, und fühlt sich fast nie "richtig" an. Qt Anwendungen hingegen passen sich sehr gut in Windows und MacOSX ein.
Die saubere Struktur von QT, und seine einfache nutzbarkeit finde ich vorbildlich. Borland hatte gute Gründe Qt als Basis für Kylix zu benutzen.
Ich kann GTK nichts abgewinnen, und habe es inzwischen größtenteils aus meinem System verbannt. Nur Xchat, XMMS und GIMP existieren noch auf meinem System. Ansonsten will ich kein GTK mehr haben, und wenn es gute alternativen für die 3 genannten gibt, wars das komplett
Bei mir ist es genau Umgekehrt...
Ich habe keine QT-Basierten Programme auf dem Rechner...
Damit kann man genau so gut Programmieren, wie mit Qt. Da ist nichts verbogen, ungeeignet, oder sonstwas.
Wobei das ziehmlich subjektiv ist.
Ich habe keine QT-Basierten Programme auf dem Rechner...
Hast du dir schonmal gtkmm angesehen?Das mag durchaus sein, aber dennoch ist Qt von beginn an dafür Entwickelt worden, Objektorientiert zu sein. Ich finde es unsinnig ein Toolkit auf diese wiese zu verbiegen, wenn es schon etwas geeignetes gibt.
Und das es kaum Bindings für andere Sprachen gibt, ist nicht die Schuld von Qt, sondern der meisten Sprachen die nur in C als Basis entwickelt wurden, oder sich die Freepascal bisher nicht die mühe gemacht haben sich an das Objektmodell von C++ anzupassen.
Andere Sprachen wie Kylixs. Object Pascal haben diese Anbindung.
Damit kann man genau so gut Programmieren, wie mit Qt. Da ist nichts verbogen, ungeeignet, oder sonstwas.
GTK ist ebensoeinfach nutzbar wie Qt. (Schau dir mal die Docs von gtkmm an)Die saubere Struktur von QT, und seine einfache nutzbarkeit finde ich vorbildlich. Borland hatte gute Gründe Qt als Basis für Kylix zu benutzen.
Wobei das ziehmlich subjektiv ist.
Kommt drauf an.
Wenn du sowieso in C++ coden willst, ist es unnoetig sich gross mit dem C-GTK zu beschaeftigen. Du kannst aber Problemlos Beispiele vom C-GTK auf gtkmm uebertragen.
Denn gtkmm ist zwar ein C++ Binding, es macht auch grossen gebrauch der C++-moeglichkeiten, es ist und bleibt aber GTK. D.h. die Funktionen haben gleiche Namen, sind nur anders verpackt.
Das ist allerdings nicht unbedingt ein Nachteil...
Wenn du sowieso in C++ coden willst, ist es unnoetig sich gross mit dem C-GTK zu beschaeftigen. Du kannst aber Problemlos Beispiele vom C-GTK auf gtkmm uebertragen.
Denn gtkmm ist zwar ein C++ Binding, es macht auch grossen gebrauch der C++-moeglichkeiten, es ist und bleibt aber GTK. D.h. die Funktionen haben gleiche Namen, sind nur anders verpackt.
Das ist allerdings nicht unbedingt ein Nachteil...