Wie gut ist wxWidgets



  • hallo an alle, ich beabsichtige mich in nächster zeit mehr mit einem gui-Framework zu beschäftigen. Nach einigen Überlegungen schwankte ich zwischen QT, gtkmm und wxwidgets und Ultimate++. Die test mit Ultimate++ waren für mich nicht zufriedenstellend, ich konnt damit nicht viel anfangen. Für kleinere Sachen find ichs ganz ok, aber wenn man ein Projekt mit zig Klassen etc. plant, scheidet es für meine Begriffe aus.

    Als nächstes hab ich QT unter die Lupe genommen, welches jedoch aus Lizenztechnischen Gründen ausscheidet. Für mich bleiben daher nur gtkmm und Wxwidgets übrig.

    Meine Wahl würde auf Wxwidgets fallen,
    a) weil ich schon ein wenig damit "rumgespielt" hab, und
    b) weil wxwidgets auch Bereiche wie Threadprogrammierung abdeckt. Trotzdem möcht ich mal von Leuten, die schon intensiv damit gearbeitet haben wissen, wie gut wxwidgets eigentlich ist. In der aktuellen Version, gibts da große Bugs, was taugen die Threadklassen oder allgemein die Klassen die im Framework dabei sind? Wie gut ist die Plattformunabhänigkeit des Codes in der Praxis?

    Was findet ihr an Wxwidgets gut,was sind seine stärken aus euer sicht, und was seine größten Schwächen? ich hoffe ich hab mit meinen fragen eine kleine interessante diskussion eingeleitet.



  • Warum nimmst du fuer Threads & Sockets nicht Boost?
    wxWidgets ist relativ ausgereift, ich zumindest hatte noch nie Probleme mit ungefixtn Bugs - Wobei, wenn du dir das Dev-Log zu Filezilla 3 anschaust, der Kerl ist immer wieder auf Probleme gestossen 😉

    Grosse Schwaeche von wx ist das relativ "alte" C++, welches da verwendet wird (Macros etc.). Ich persoenlich kann wx trotzdem weiterempfehlen 🙂


  • Mod

    Habe mich selber vor 2 1/2 Jahren für wx entschieden, und seit dem ist es eigentlich nur besser geworden.
    Das "alte" C++ stimmt zwar, aber imho ist wx immer noch am brauchbarsten von den Alternativen.
    Ich benutze es allerdings nur als GUI Frontend, für Socket etc. würde ich auch auf boost setzen, und für Container gibts ja die STL.



  • KOmmt auf die Prio an, die man setzt. Soll es am Ende einfach nur seinen Zweck erfüllen, ohne Emutionalen Hintergrund ("Es muß modernes C++ sein!"), ist wxWidgets eine vernünftige Entscheidung.

    Wenn ich sage "Also neee, oldshool C++ geht ja mal garnicht!" darf ich kein wxWidgets nehmen. Dann würde ich gtkmm nehmen.

    Threads und Sockets in wxWidgets sind meiner Meinung nach kein Grund. Überhaupt wird sich das mit C++0x und C++ TR2 in Luft auflösen. Und Boost hat da auch gute Lösungen im Angebot.

    ODBC ist z.B. aus wxWidgets auch rausgeflogen, eben weil die Konkurrenz wie SOCI oder DTL es besser macht.

    Die test mit Ultimate++ waren für mich nicht zufriedenstellend, ich konnt damit nicht viel anfangen. Für kleinere Sachen find ichs ganz ok, aber wenn man ein Projekt mit zig Klassen etc. plant, scheidet es für meine Begriffe aus.

    Grund???



  • Wir verwenden WX für ein kommerzielles Programm mit hunderten von Dialogen und hunderttausenden Codezeilen. Wir sind zwar im Laufe der Jahren hin und wieder mal auf kleine Probleme und Bugs gestossen, aber nichts, was sich nicht Lösen liess. Alles in allem bin ich grösstenteils zufrieden und bisher haben wir alles, was wir wollten auch umsetzen können. Allerdings mussten wir dazu ein gutes Dutzend eigene Widgets schreiben, weil es halt Sachen gibt, die WX selbst nicht anbietet.

    Allerdings verwenden wir ausschliesslich die GUI-Klassen, zu den Non-GUI-Klassen kann ich nichts sagen.



  • @ artchi: Ich kann mit TheIde und U++ wenig anfangen..diese aussage soll nicht den Eindruck erwecken, u++ wäre schlecht, ganz im Gegenteil, ich denk das es relativ gut ist. Ich find halt die IDE gewöhnungsbedürftig, und bin damit nie warm geworden.



  • Also so fürs schnuppern bzw. für den privaten Bereich und für kleine Projekte kann man Wx ohne Bedenken nehmen.
    Aber sobald du in die professionelle Entwicklung gehst und/oder größere Projekte planst, würde ich die Finger davon lassen.
    Dafür bietet Wx einfach zu wenig bzw du triffst immer häufiger auf mehr oder weniger Bekannte Bugs.
    Das kostet dir dann auch unendlich Zeit und Nerven bei solchen Projekten. Das ist es nicht Wert. Also wir haben komplett Wx aus unserer Projektplanung gecancelt.
    Wenn es Plattformunabhängig sein soll, dann bliebe dir da nur gtkmm.


  • Mod

    wx_joekel schrieb:

    Also so fürs schnuppern bzw. für den privaten Bereich und für kleine Projekte kann man Wx ohne Bedenken nehmen.
    Aber sobald du in die professionelle Entwicklung gehst und/oder größere Projekte planst, würde ich die Finger davon lassen.
    Dafür bietet Wx einfach zu wenig bzw du triffst immer häufiger auf mehr oder weniger Bekannte Bugs.
    Das kostet dir dann auch unendlich Zeit und Nerven bei solchen Projekten. Das ist es nicht Wert. Also wir haben komplett Wx aus unserer Projektplanung gecancelt.
    Wenn es Plattformunabhängig sein soll, dann bliebe dir da nur gtkmm.

    Wenn man über die notwendigen Finanziellen Mittel verfügt, ist QT sicher besser.

    Aber kommerziell in GTK zu entwickeln halte ich für sehr waghalsig, gerade unter Windows macht GTK immer noch probleme mit abstürzen etc. (siehe GIMP).
    Und Vistakompatibel ist GTK zur Zeit auch nicht unbedingt, plus das es viele Abhängigkeiten mit sich bringt.

    phlox



  • wxtest() schrieb:

    @ artchi: Ich kann mit TheIde und U++ wenig anfangen..diese aussage soll nicht den Eindruck erwecken, u++ wäre schlecht, ganz im Gegenteil, ich denk das es relativ gut ist. Ich find halt die IDE gewöhnungsbedürftig, und bin damit nie warm geworden.

    Ah, ok. Die TheIDE (einfallsreicher Name übrigens) ist tatsächlich seeehr merkwürig. Hatte ich ganz verdrängt. 😃 Wobei TheIDE eigentlich ein sehr gutes Beispiel ist, das U++ als Library sehr wohl für größere Projekte geeignet ist. Schade das die U++ es nicht einfacher machen, es mit anderen IDEs zu benutzen.



  • ich hab nach langer überlegung eine entscheidung getroffen. Ich werde es mit U++ versuchen. Nach ein paar Tagen rumspielen mit TheIde war ich überrascht, wie schnell und wie gut man damit ordentliche Anwendungen schreiben kann. Ich
    denke das einzige große Problem bei dieser IDE/bei diesem Framework ist die mangelnde Dokumentation, die Anfänger hindert, sich besser damit auseinanderzusetzen, man muß aus den Codebeispielen lernen. Für mich ist das (neben der etwas schwierigeren Bedienung von TheIde) der einzige Grund, warum diese IDE/diese Framework nicht so bekannt ist.


Anmelden zum Antworten