[HOWTO] Welches Toolkit für GUIS?



  • Hallo Leute,

    ich bin neu hier im Forum.
    Habe bisher immer Win32-Anwendungen mit Delphi entwickelt, möchte aber zukünftig weitestgehend plattformunabhängig in C++ programmieren.
    Welche Libs sollte ich mir eurer Meinung nach reinziehen? Es gibt ja regelrechte Forenkriege zwischen Qt und wxWidgets Verfechtern. Vielleicht gibt es ja auch noch andere Empfehlungen von euch...

    Etwas eingerostete Grundkenntnisse in C++ habe ich noch, denke ich. Habe früher Konsolenprogramme und MFC programmiert.

    Für mich ist wichtig zukunftsorientiert und plattformunabhängig zu programmieren, deshalb will ich weg von Delphi.
    Der Einstieg sollte nicht zu schwer sein. Kostenlos wäre natürlich am besten. IDE Kenntnisse habe ich in Code::Blocks und Visual Studio Express Edition.
    Wichtig wäre auch, ob die Lib auch in der Arbeitspraxis eingesetzt wird, man will ja auch an die eigene Job-Sicherheit denken.

    Vielleicht hat der eine oder andere einen guten Tipp oder persönliche Erfahrungen für mich...

    MfG watchdogg



  • wxWidgets wird genauso in der Praxis eingesetzt wie QT.
    Unreal Engine nutzt als Beispiel wxWidgets für das Fenster bzw den Editor.
    Beides ist zukunftssicher.
    Beide haben Vor- und Nachteile.
    Wenn du auf Nummer sicher gehen willst, lern beide :P.



  • [quote="watchdogg"]Hallo Leute,

    ich bin neu hier im Forum.
    Habe bisher immer Win32-Anwendungen mit Delphi entwickelt, möchte aber zukünftig weitestgehend plattformunabhängig in C++ programmieren.
    Welche Libs sollte ich mir eurer Meinung nach reinziehen? Es gibt ja regelrechte Forenkriege zwischen Qt und wxWidgets Verfechtern. Vielleicht gibt es ja auch noch andere Empfehlungen von euch...

    MfG watchdogg[/quote]

    Der Krieg wird nicht aufhoeren, auch wenn ich nicht nachvollziehen kann, warum.

    Aus meiner persoenlichen Sicht gibt es eigentlich sein es Qt unter der GPL gibt, da nix mehr zu diskutieren, und spaetestens seit da LGPL draufsteht, sollte die Lizenzdiskussion aufgehoert haben.

    Zum konkreten Vergleich: Qt ist mit grossem Abstand das Portabelste, was im Moment im Gui-Bereich im Angebot ist. Was auf einer Plattform laeuft, laeuft auch auch auf den anderen (und das ist Windows, Linux, Mac, ein paar antike Unixe, WinCE, Symbian, Maemo/Meego; Android und iOS in Arbeit). Mit wxWidgets hast Du immer was, was auf A gut aussieht, auf B noch existiert und auf C noch nie von Nutzern gesehen wurde und auf D, E, F und G nicht mal entwickelt wird.

    Zum Thema Community-Support: Auf IRC Freenode im Moment: #qt 521 Nutzer, #wxwidgets 53 Nutzer. #qt-creator 116 Nutzer, #codeblocks 9. Braucht man nicht weiter zu kommentieren, denke ich.

    Ansonsten haette ich noch

    http://www.google.com/trends?q=qt%2C+wxwidgets&ctab=0&geo=all&date=all&sort=0

    zu bieten. Interessant sowohl der absolute Vergleich, als auch der Trend.



  • Jo Flamewars werden nicht aufhören solange Leute wie du so nen Schwachsinn über wxWidgets verbreiten und QT in den Himmel loben.



  • Vielleicht kann man das auch mal hinzufügen. Ich bin begeistert

    http://gac.codeplex.com/



  • Meine Güte, ist das praktisch nur ein Entwickler der da dranhängt? Das sieht ziemlich interessant aus, morgen wird durch den Code gewühlt.



  • Hallo, ich möchte unter Windows 7,8,10,… mit VC 2017 programmieren. Welche Klassenbibliothek sollte ich benutzen?
    Ich habe schon (bis 2005) mit VC 6, MFC programmiert und hatte gute Erfahrung damit.
    Jetzt geht es um ein neues Projekt: 1. Hardware Programmierung, 2. Datenbank, 3. Internet-Verbindung, …
    Meine erste Wahl wäre “VC 2017 mit MFC“. Nach meiner Recherche im Internet die Entwicklung von MFC ist gestoppt.
    Ist Desktop-Anwendung-Entwicklung mit WPF (Windows Presentation Foundation) eine gute Wahl?
    Wenn es um Web geht, dann benutze ich: PHP, JavaScript, jQuery, HTML, Linux server debian/ ubuntu, Postfix Mailserver (Dovecot, Ubuntu), Webserver Apache.
    Bei MFC kann man CHtmlView, CDHtmlDialog, … verwenden, um z.B. leichter HTML und JS für die Oberfläche zu benutzen. Kann man auch mit WPF für die Oberfläche von Desktop-Anwendungen auch HTML und JS verwenden?
    Wie wäre es die Wahl von Sciter (oder QT)?
    Laut https://sciter.com/: “… Sciter allows using time proven, robust, and flexible HTML and CSS for GUI definition, and GPU accelerated rendering.”
    Wäre es eine schlechte Entscheidung, wenn man VC 2017 mit Sciter kombinieren würde?

    (PS: Ja, ich habe die Beiträge im Forum gelesen, trotzdem möchte ich speziell in meinem Fall eure Meinung darüber hören)
    Vielen Dank im Voraus,
    Sandro.



  • Aus heutiger Sicht (2024):

    MFC wird zwar nicht mehr aktiv weiterentwickelt, ist aber stabil und für klassische Desktop-Anwendungen immer noch geeignet, besonders wenn du bereits damit vertraut bist.

    WPF ist eine gute Wahl für moderne Desktop-Anwendungen unter Windows, bietet umfangreiche Möglichkeiten zur Gestaltung und ist ideal, wenn du eine flexible und anpassbare Benutzeroberfläche benötigst. WPF unterstützt jedoch nicht direkt HTML und JavaScript für die UI. Für Web-ähnliche Inhalte könntest du das WebView2-Steuerelement nutzen (basiert auf Chromium).

    Qt ist robust und eine verbreitete Bibliothek für plattformübergreifende GUI-Entwicklung. Es bietet viele Funktionen für verschiedene Anwendungsbereiche, könnte aber eine steile Lernkurve haben, wenn du bisher hauptsächlich mit MFC gearbeitet hast.

    Sciter ist eine interessante Option, wenn du HTML/CSS für die GUI verwenden möchtest. Es ist leichtgewichtig und bietet GPU-beschleunigtes Rendering. Die Kombination von VC mit Sciter könnte eine gute Wahl sein, insbesondere wenn du eine plattformübergreifende Lösung in Betracht ziehst und dir die Flexibilität von HTML und CSS wichtig ist.

    WPF ist ideal für moderne, Windows-spezifische Anwendungen, während Sciter und Qt mehr Flexibilität und plattformübergreifende Möglichkeiten bieten.



  • @Erhard-Henkes
    Da hast wxWidgets und ImGui vergessen



  • Da hast du recht. wxWidgets ist eine inzwischen klassische Variante:
    https://www.henkessoft.de/wxWidgets/wxWidgets_001.html

    ImGUI kenne ich bisher nicht. Kannst du hierzu weiter ausführen?

    Selbst neige ich inzwischen eher zu C# und WinForms.
    Mit C++ verwende ich WinAPI, MFC oder SFML.



  • @Erhard-Henkes sagte in [HOWTO] Welches Toolkit für GUIS?:

    ImGUI kenne ich bisher nicht. Kannst du hierzu weiter ausführen?

    Ich habe mir bisher nur ImGui angeschaut und es ist ein kleines feines GUI Framework. Viel weiß ich daher nicht.

    Aber es gibt eine hübsche Webseite hierzu:

    https://github.com/ocornut/imgui


Log in to reply