Wer programmiert mit GTK?



  • Wer von euch programmiert mit GTK+ oder GTKmm und kann mir sagen, wie gut die Zukunftschancen für GTK stehen?



  • Ich programmiere zwar nur indirekt (über wxWidgets) mit GTK+, würde aber mal behaupten, dass GTK+ auf absehbare Zeit nicht verschwinden wird. Schließlich basieren mit XFCE, GNOME, Unity und LXDE gleich vier bekannte Desktopumgebungen auf GTK+, die von einigen Linux-Distris als Standardumgebung eingesetzt werden.
    Außerdem erfüllt GTK+ einige wichtige Qualitätskriterien: Es ist sehr portabel, stabil, gut dokumentiert, existiert für alle verbreiteten Plattformen ...



  • GTK hat kein natives Look and Feel auf Windows.
    Deswegen benutze ich es nicht, weil das sehr wichtig ist.
    Die extra benötigte Runtime tut ihr übriges.
    Das ist wxWidgets einfach besser IMHO.



  • Ask4GTK schrieb:

    Wer von euch programmiert mit GTK+ oder GTKmm und kann mir sagen, wie gut die Zukunftschancen für GTK stehen?

    Ich programmiere unter anderem C mit GTK+. Das hat mehrere Gründe:
    - Wie schon gesagt wurde, gerade in der Windowswelt absolut portierbar. Ein Bsp.: Ein GTK+ Programm mit Graphikfunktion (Cairo) habe ich auf einem alten XP 32 System compiliert und dieses exe lief unverändert mit der 32 bit GTK+ Runtime auf einem Windows 7 64 bit System (!) einwandfrei.
    - GTK+ bietet alles, was eine moderne Oberfläche bieten sollte. Ich vermisse keine Funktionalität, um meine Applikationen zu realisieren.
    - Die echt starke Glib - sie bietet (fast) alles, von der Speicherverwaltung (gerade für C) bis zur Timer- und Threadprogrammierung.
    - Pango mit Cairo ist eine klasse Lösung für Text- und Graphikdarstellung und Bearbeitung. Immerhin arbeitet GIMP mit GTK+.
    - Da GTK+ in C geschrieben ist, ist auch die Performance ok - wichtig gerade bei Graphikapplikationen.
    - GTK+ ist gut dokumentiert und es gibt viele Tutorials.

    Wie schon erwähnt wurde, läuft es unter verschiedenen Linuxoberflächen und problemlos mit Windows 7, das ja bis 2020 supportet werden soll. Von daher absolut gute Zukunftschancen.



  • Gerade wegen Linux denke ich nicht, dass GTK+ in absehbarer Zeit verschwinden wird. Viel wahrscheinlicher setzten sich ein paar Leute dahinter, GTK+ auch auf Windows nativ aussehen zu lassen.

    Ich empfehle GTKmm deshalb uneingeschränkt, weil es aus Programmierersicht das am besten designte Framework für C++ ist. Selbst das C++-Standardkommitee sagt, falls es je mal eine Standard-GUI für C++ gäbe, dann würde sich diese am Design von GTKmm orientieren.

    Deswegen stirbt wxWidgets auch bald aus, weil kein Entwickler tut sich freiwillig das Macro-Gedöns an. MFC ist auch ausgestorben, obwohl das unter am besten aussieht. Letztendlich entscheidet der Entwicklungsaufwand, was sich durchsetzt und da ist GTKmm bis jetzt zusammen mit Qt (welches schlechter designt ist, aber mehr Tools hat) am besten. Aber GTKmm hat mehr Potential.



  • Achja, die Toolkit Flamewars :D.

    Deswegen stirbt wxWidgets auch bald aus, weil kein Entwickler tut sich freiwillig das Macro-Gedöns an.

    Du kannst wxWidgets Programme schreiben, ohne ein einziges Makro zu verwenden.
    Ein einziges ist sinnvoll, und das ist IMPLEMENT_APP. Der Rest ist einfach ersetzbar.
    Du solltest vllt mal eine wxWidgets Version jenseits von 2.4 verwenden.



  • Scorcher24 schrieb:

    Du kannst wxWidgets Programme schreiben, ohne ein einziges Makro zu verwenden.
    Ein einziges ist sinnvoll, und das ist IMPLEMENT_APP. Der Rest ist einfach ersetzbar.
    Du solltest vllt mal eine wxWidgets Version jenseits von 2.4 verwenden.

    Ok, sieht so aus, als hätten die das gefixt.

    Dass ändert aber nichts daran, dass man wxWidgets ansieht, dass es den Stil verwendet, den man vor 20 Jahren benutzt hat. Fängt schon damit an, dass man keine Exceptions verwenden darf. Namespaces/STL-Container und Iteratoren/string/... sucht man vergebens.

    Ich kenne kein grösseres wxWidgets-Programm, das in C++ und ohne Macros geschrieben ist. wxWidgets lebt nur noch als Basis für ein nettes Python-Interface.



  • zukunftsmusik schrieb:

    Scorcher24 schrieb:

    Du kannst wxWidgets Programme schreiben, ohne ein einziges Makro zu verwenden.
    Ein einziges ist sinnvoll, und das ist IMPLEMENT_APP. Der Rest ist einfach ersetzbar.
    Du solltest vllt mal eine wxWidgets Version jenseits von 2.4 verwenden.

    Ok, sieht so aus, als hätten die das gefixt.

    Dass ändert aber nichts daran, dass man wxWidgets ansieht, dass es den Stil verwendet, den man vor 20 Jahren benutzt hat. Fängt schon damit an, dass man keine Exceptions verwenden darf. Namespaces/STL-Container und Iteratoren/string/... sucht man vergebens.

    Ich kenne kein grösseres wxWidgets-Programm, das in C++ und ohne Macros geschrieben ist. wxWidgets lebt nur noch als Basis für ein nettes Python-Interface.

    Wieder falsch. Mal in die setup.h schauen.
    Da kann man auch explizit die STL für alles aktivieren.
    http://docs.wxwidgets.org/2.8/wx_wxlist.html
    Und das war schon bei 2.8. Aktuell ist 2.9.5.
    Wie ich bereits sagte, ausser IMPLEMENT_APP brauchst du kein einziges Makro.
    Du kannst Events auch per Funktion aktivieren.

    Bind(wxEVT_COMMAND_MENU_SELECTED, &MyFrame::OnExit, this, wxID_EXIT);
    


  • GTK is well documented and there are many tutorials As already mentioned, it runs on several Linux surfaces and easily with Windows 7, to be so supported until 2020. Therefore absolutely good future prospects.


Log in to reply