Mit welchen Toolkits werden professionelle Guis erstellt?



  • Ich habe zur Zeit die Qual der Wahl mir ein Gui Toolkit auszusuchen. Beim Vergleich aller Vor- und Nachteile findet man irgendwie keinen persönlichen Gewinner. Daher versuche ich das jetzt mal anders heraus zu bekommen.

    Man könnte fragen, was meine ich mit professionellen Guis?

    Ich meine damit Desktopanwendungen für Endbenutzer die sehr gut aussehen. Geschmack ist verschieden, ein paar meiner grafischen Vorbilder sind Skype, Icq, Nero Burning Rome, Winamp, Adobe Photoshop. Besonders interessant finde ich es wenn man an der Gui später noch was Themen/Skinnen, oder wie man Winamp die Gui total verändern kann.

    Gibts da einen Trick wie ich heraus bekommen kann mit welchem Toolkit solche Programme geschrieben sind?

    Oder, alternativ. Gibt es so eine kleine Übersicht wo Gui Toolkits aufgelistet sind und Programme die damit umgesetzt wurden? Anhand der Screenshots der Programme könnte ich dann entscheiden was meiner Meinung nach die schönsten Ergebnisse liefern konnte.



  • Ich habe zur Zeit die Qual der Wahl mir ein Gui Toolkit auszusuchen. Beim Vergleich aller Vor- und Nachteile findet man irgendwie keinen persönlichen Gewinner. Daher versuche ich das jetzt mal anders heraus zu bekommen.

    Ja, das mit dem optimalen Toolkit ist wirklich ein Problem. Auch für mich und vielen andere gibt es das nicht. Wir haben vor Kurzem mal darüber diskutiert:
    http://c-plusplus.net/forum/viewtopic-var-t-is-186830.html

    Gibts da einen Trick wie ich heraus bekommen kann mit welchem Toolkit solche Programme geschrieben sind?

    Wenn der Programmcode offen liegt, muss ich wohl nicht mehr viel dazu sagen. 🙂 Wenn aber nicht, könntest du z.B. mit WinSpy über das Programmfenster laufen, und die Klassennamen angucken. Manche GUI Toolkits tragen markante Klassennamen, anhand denen sich dann Rückschlüsse auf das verwendete Toolkit ziehen lassen.

    Oder, alternativ. Gibt es so eine kleine Übersicht wo Gui Toolkits aufgelistet sind und Programme die damit umgesetzt wurden? Anhand der Screenshots der Programme könnte ich dann entscheiden was meiner Meinung nach die schönsten Ergebnisse liefern konnte.

    Da fällt mir jetzt nur wxWidgets ein, wird auch von AMD, AVG AntiVir, NASA und anderen verwendet. Hier findest du eine gute Übersicht:

    http://www.wxwidgets.org/about/users.htmhttp://www.wxwidgets.org/about/screensh.htm

    Oder eine Übersicht zu vielen Toolkits:
    http://kharchi.de/cpp_gui/index.html



  • Sehr gut, genau sowas habe ich gesucht. Ist zwar nicht Antivir von Avira aber Avg Antivir. Beide Programme sehen imho natürlich auch professionell aus.

    Also weiß ich jetzt schon mal das man mit wxwidgets + ausreichend Fähigkeiten gute Guis erstellen kann.

    Mfc von Microsoft kann natürlich auch gut aussehen, sind ja viele Windows Anwendungen damit gemacht worden.

    Bei Gtk+ fällt mir jetzt aus Anhieb nur Pidgin ein. Ist zwar ein nettes Programm, aber die Gui finde ich nicht so hübsch.

    Nach der Methode wollte ich halt erstmal aussieben was für mich in Frage kommt.



  • Guck doch mal, für welche Betriebssysteme wxWidgets ist. Linux, Gtk+, MacOS, Windows, Windows CE, .... Vergiss MFC.


  • Mod

    Eigentlich gibts viele Alternativen. QT ist wirklich gut, und zu empfehlen solange man sich an der Lizensierung nicht stört,
    wxWidgets setzt auf native Steuerelemente, ist aber grotten Schlechtes C++ z.T. (Je nach dem wie man es anwendet).
    GTKmm ist halt wie GTK unter Windows nicht das nonplus Ultra, aber unter Linux gleichwertig mit QT. (Mich stört an GTK vor_allem_die_komische_Schreibweise der Funktionen/Typen/Methoden).



  • Bei Qt finde ich extrem Schade des es die Visual Studio Integration nur bei der kommerziellen Version gibt. Eine Lizenz dafür ist arg zu teuer. Gibts da nen Trick? Ich meine, ist der Source für die Visual Studio Integration dafür legal verfügbar zum selbst bauen oder nicht?

    Bei wxwidgets, was meinst Du mit schlechten C++? Versaut man sich seinen eigenen Skill oder ist es kompliziert anzuwenden?



  • phlox81 schrieb:

    GTKmm ist halt wie GTK unter Windows nicht das nonplus Ultra

    ich benutze oft 'wireshark', unter windoofs, das GTK einsetzt. die gui ist sehr träge, so als hätte man ein Java oder .NET programm vor sich. deshalb würde ich von GTK abraten, wenn die grafik fix aufgebaut werden soll.
    🙂


  • Mod

    sap schrieb:

    Bei wxwidgets, was meinst Du mit schlechten C++? Versaut man sich seinen eigenen Skill oder ist es kompliziert anzuwenden?

    Naja, es ist halt alt. Und so gibt es viele dinge die über Makros etc. gelöst sind.
    Man ist aber auf vieles nicht angewiesen, so kann man statt wxArray Derivaten problemlos std::vector nutzen, statt Makro-Eventtabellen lässt sich einfach Connect nutzen etc. Solange es nur um GUI geht ist wxWidgets evtl. nicht so schick wie GTKmm oder QT, aber im Grunde genommen bietet es einfache GUI recht komfortabel.



  • Als bekannte Qt-Anwendung müsste doch Opera kommen oder?
    Closed-Source-Qt-Programme kosten Lizenzgebühren an Trolltech - der Nachteil von

    DAS GTK+ Beispiel ist woch GIMP, nicht umsonst steht ja GTK+ für GIMP Tool Kit 😉

    GTK+ steht unter der LGPL und erlaubt auch Lizenzkostenfreie Closed-Source Anwendungen.

    Die C++ Qualität von Qt soll auch recht miserabel sein, GTKmm ist da wohl doch ein gutes Beispiel.

    wxWidget ist meist ein Layer auf das native System und relativ weit verbreitet.



  • Aber warum haben die alle so einen "miesen" C++Code???

    Muss denn so eine GUI überhaupt auf mehreren Betriebssystemen laufen???
    Man nutzt doch sowiso systemweite Windows-Funktionen (ich jedenfalls).

    Kann man da nicht lieber auf die VCL setzen??
    oder soll es kein Fenster haben?

    Mit der WinAPI zu coden, halte ich bei Gaming-Fenstern für Spiele nur angemessen. aber sobald nun eine aufwändige GUI gecodet werden muss, codet man sich die Finger wund.

    Womit wurde denn zum Beispiel Nero Burning Rom gemacht?? sieht aus wie ein normales Windows-Programm...



  • nero is soweit ich weiss mit mfc umgesetzt



  • Mit der MFC???
    naja, hätte ich nicht gedacht...

    aber daran sieht man, dass es nicht immer irgend welche Open-Source sein muss.



  • Script-Styler schrieb:

    Muss denn so eine GUI überhaupt auf mehreren Betriebssystemen laufen???
    Man nutzt doch sowiso systemweite Windows-Funktionen (ich jedenfalls).

    Du != Rest der Welt.
    Und was sind "systemweite Windows-Funktionen"?



  • ******** schrieb:

    Und was sind "systemweite Windows-Funktionen"?

    Ja ich meine solche Funcs wie Hooks, Sockets und noch so einige andere.

    ******** schrieb:

    Du != Rest der Welt.

    Das glaube ich nicht. da weise ich nur auf so spezifische Proggs wie Nero hin.
    die gibts auch nur für Windows.
    Und sowiso, wenn man ein eingefleischter Windoof ist, lässt man sowiso die Finger von Linux.



  • Boh ey! Niemand hat gesagt, das man OpenSource oder Multiplattform benutzen MUSS! Was soll also dieses Diskussion? Es gibt die MFC und wer sie benutzen will, soll sie benutzen. Kommt ja niemand zu euch ins Büro und hält euch ne Pistole an die Brust um euch OpenSource aufzuzwingen.

    Und ja, die meisten Windows-Anwendungen sind mit der MFC programmiert. Hui! Was ganz unerwartetes! Ist ja nur von MS und liegt (huch!) dem VisualC++ seit 20 Jahren gleich mit bei. Da ist es natürlich total ungewöhnlich, das Nero u.a. mit der MFC programmiert sind. 🙄

    Am Ende kann man so gut wie mit jedem Toolkit eine Anwendung schreiben. Und ob etwas professionell "aussieht" hat noch lange nicht ausschliesslich was mit dem Toolkit zu tun. Es kommt immer noch auf den Entwickler drauf an, der das Toolkit anwendet. Nur weil ich ein gutes Toolkit habe, heißt das nicht, das das Programm am Ende auch professionell ist. Aber ein guter Programmierer kann sehr wohl was aus den alten Libs wie MFC und wxWidgets was rausholen.

    Deshalb wie in jedem Thread, in dem es heißt "Was könnt ihr mir für ein GUI-Lib empfehlen?" die Antwort: Es ist geschmackssache und jeder muß das für sich selber raus finden.



  • imho hängt die wahl der api immer von der zielgruppe der software ab
    außerdem lässt sich mit fasst jeder api programmieren wenn man sich einmal in die prinzipien eingearbeitet hat

    ich hab bisher mit mfc, qt, winapi, windows forms, sdl, directdraw, clanlib und allerlei kleinen apis gearbeitet und eigentlich ist es immer dasselbe und ich stell mir bei ner neuen software in erster linie die fragen

    -brauch ich zukunftssicherheit und state of the art features?
    -bringt mir der mehraufwand der plattformunabhängigkeit bei einer bestimmten software vorteile?



  • keep cool...
    nich so aufgeregt.

    aber warum ist die mfc alt???



  • weil sie seit ewigkeiten nich mehr weiterentwickelt wird und aktuelle features
    wie drag&drop oder dock widgets wenn überhaupt dann ekelhaft implementiert
    werden müssen

    aber hab grad gelesen dass ms doch weiter dran arbeitet... die aktuelle version wird in vc express bloß nich mitgeliefert



  • tja... würde ja auch keinen sinn ergeben, wenn die neue Features haben und die MFC bringts net...

    Aber was sehr gut von Microsoft ist, ist dass sie eine Free-Edition von Visual c++ haben.



  • aber soweit ichs verstanden hab entwickelt ms die api nur durch
    den druck der industrie weiter
    ursprünglich hieß es die mfc sei gestorben

    allerdings würd ich ne neue software wenns ms sein muss eher mittels windows forms oder wpf umsetzen als mit mfc

    mfc ist wohl eher die wahl für ältere software die keine möglichkeit mehr zum umstieg hat



  • Achso. die express edition der Visual c++ zwingt mir das auch immer auf.
    Da kann ich dann ein neues Windows Form erstellen. Aber wie füge ich da steuerelemente ein??? sry für die frage..^^


Anmelden zum Antworten