gtkmm, WxWidgets, FLTK
-
Ich habe jetzt neu vor, auf Linux und für Linux, Windows und Mac zu programmieren. Bis jetzt habe ich immer mit VS gearbeitet, aber das wird jetzt nicht mehr der Fall sein. Also habe ich mir einige IDEs unter Linux angeschaut und muss sagen, dass mir CodeBlocks sehr gut gefällt. Jetzt komme ich aber zu der GUI-Bibliothek-Wahl zwischen gtkmm und WxWidgets. Auf Windows benutzte ich ein wenig QT aber mir gefällt die Lizenz nicht besonders und deshalb habe ich vor auf eine andere zu wechseln.
Ich habe mir heute beide librarys kurz angeschaut und muss sagen, dass mir gtkmm mehr zusagt. Bei Wx gefällt mir es nicht besonders, dass es keinen namespace hat.
Jedoch habe ich das Gefühl, dass gtkmm viel weniger Leute benutzen als WxWidgets. Es gibt nichtmal ein eigenes Forum. Die Dokumentation scheint allerdings recht gut zu sein.
Wenn ich mich jetzt für gtkmm entscheide, ist da das entwickeln mit CodeBLocks nicht empfehlenswert? Anjuta sagt mir auf den ersten Blick nicht sehr zu.
Hat in den letzten Jahren das benutzen von gtkmm eher zu, oder abgenommen?Wie sieht es aus wenn ich noch mit OpenGL arbeiten will? Docher eher FLTK?
Vielen Dank für Eure Hilfe!
Freundliche Grüsse
Wireframe
-
Was gefällt dir konkret nicht an der Lizenz von Qt? Ist doch LGPL. Dadurch gab es in den letzten Monaten und Jahren nen ziemlichen Entwickleransturm auf Qt.
Ich selber hab bisher hauptsächlich mit Qt gearbeitet, arbeite mich aber gerade in GTKmm ein. Was mir da nicht gefällt, ist die nicht threadsichere libsigc++ für events/Signal-Slot und diePflicht, von sigc::trackable abzuleiten für automatische disconnects. GTKmm-3.0 hätte die Möglichkeit gehabt, da etwas zu ändern oder auf boost::signals2 umzusatteln - Chance leider vergeigt. Keine Ahnung, wie hier wxWidgets abschneidet, hab ich noch nicht wirklich geschaut...
-
OpenGL hat keinen Einfluss auf die Entscheidung. Einen Canvas kann man mit allen Libs erzeugen. Auch mit QT und wxWidgets.
Der Nachteil an GTK ist, dass es sich auf anderen Systemen als Linux fremd anfühlt, weil es keinen nativen Look and Feel (LNF) beherrscht. Das ist sehr wichtig, wie ich immer wieder schreibe. Wenn sich ein Programm fremd anfühlt, dann neigen User dazu sich was anderes zu suchen.
Der größte Nachteil von QT ist sein Präprozessor, den es benötigt. Das versteckt Sprachfeatures. Vorteil seine Tools.
wxWidgets wird nachgesagt schlechtes C++ zu sein. Allerdings hat sich hier viel getan. Es ist mittlerweile möglich, die Verwendung der STL zu konfigurieren und die Container sind entsprechend kompatibel. Tools gibts hier über 3rd Party Programme und dann steht es QT in nichts nach.
UI: wxFormBuilder
i18n: PoEdit
ResourcenSystem: wxRCAm Ende geben sich wxWigets und QT nicht viel. wxWidgets hat halt die liberalere Lizenz.
Zu FLTK kann ich nix sagen.
Deine Entscheidung.
-
Vielen Dank für Eure Antworten.
Dass QT LGPL ist wusste ich gar nicht.
Jedoch sagt mir gtkmm troztdem mehr zu.
Ich danke Euch für die Hilfe!Freundliche Grüsse
Wireframe