VORSCHLAG FÜR FAQ: GUI Programmierung mit C++



  • Blue-Tiger schrieb:

    a) Absicht, hast du schon mal einen Noob gesehen, der sich fuer Linux-GUIs interessiert. Die einzig nennenswerten Nicht-Windows Libraries waeren zudem Cocoa und die Xlib (die ja wohl niemand freiwillig verwendet).

    Oehm...unglaubliches Argument fuer pro Windows... 🙄

    mfg
    v R



  • virtuell Realisticer schrieb:

    Blue-Tiger schrieb:

    a) Absicht, hast du schon mal einen Noob gesehen, der sich fuer Linux-GUIs interessiert. Die einzig nennenswerten Nicht-Windows Libraries waeren zudem Cocoa und die Xlib (die ja wohl niemand freiwillig verwendet).

    Oehm...unglaubliches Argument fuer pro Windows... 🙄

    mfg
    v R

    *g* kann ich was dafuer wenn immer nach Windows GUI Programmierung gefragt wird? 😕

    (das "nicht freiwillig verwenden" bezog sich uebrigens auf die Xlib, nicht auf Cocoa)



  • Managed C++ ist ne Sprache kein Toolkit.

    Und sonst... sieht irgndwie wie ein Artikel aus Bild-Zeitung aus. Ne menge Wörter, vollgestöpft mit Emotionen, und nach dem durchlesen ist man wieder am gleichen Punkt die vorher.



  • Blue-Tiger schrieb:

    a) Absicht, hast du schon mal einen Noob gesehen, der sich fuer Linux-GUIs interessiert. Die einzig nennenswerten Nicht-Windows Libraries waeren zudem Cocoa und die Xlib (die ja wohl niemand freiwillig verwendet).

    Was!!!!!!!!!!!!!!

    Was ist mit QT, und die X anderen.
    Die XLIB hat mit MFC und VCL nichts gemeinsam.



  • Unix-Tom schrieb:

    Blue-Tiger schrieb:

    a) Absicht, hast du schon mal einen Noob gesehen, der sich fuer Linux-GUIs interessiert. Die einzig nennenswerten Nicht-Windows Libraries waeren zudem Cocoa und die Xlib (die ja wohl niemand freiwillig verwendet).

    Was!!!!!!!!!!!!!!

    Was ist mit QT, und die X anderen.
    Die XLIB hat mit MFC und VCL nichts gemeinsam.

    Jo, was soll mit Qt und all den x anderen (gtk, wxWidgets) sein? werden ja alle genannt.

    Dass die Xlib mit MFC nix gemeinsam hat ist mir klar. Was ich mit dem Satz oben eigentlich sagen wollte: niemand verwendet freiwillig die Xlib! (hat ja noch nichtmal Widgets.... ja, sie hat ihren Einsatzbereich, mir schon klar. Aber IMO fuer GUI Programmierung ungeeignet)



  • bluetiger schrieb:

    ...niemand verwendet freiwillig die Xlib!

    gewagte aussage... kannst du das irgendwie sachlich begründen, ausser "hat keine widgets"?



  • kingruedi schrieb:

    Werd aber was ähnliches bald schreiben.

    Ist mir zu Linux-lastig. :p



  • Korbinian schrieb:

    bluetiger schrieb:

    ...niemand verwendet freiwillig die Xlib!

    gewagte aussage... kannst du das irgendwie sachlich begründen, ausser "hat keine widgets"?

    Hmm... ok, stimmt, es ist vielleicht wirklich etwas unsachlich, gibt wahrscheinlich auch Leute, die sie gern benutzen, aber i. d. R. sind das die Ausnahme.

    Was die Xlib so unzugaenglich macht, sind IMO:

    1. "keine Widgets" 😉 (was GUI Programmierung sehr, sehr schwierig bis unmoeglich macht ohne Wrapper)
    2. relativ low-lewel
    3. AFAIK ziemlich veraltet und kompliziert
    4. Wie viele"ernsthafte", aktuelle Projekte kennst du, die direkt die Xlib benutzen (X-Server, Qt-Library usw. zaehlen nicht 😉 :D)? Und wieviele kennst du, die Qt, GTK etc. benutzen? Ist zwar kein weber Beweis noch Kriterium, trotzdem relativ aussagekraeftig



  • Deine Intention in Ehren und du hast dir ja auch Mühe gegeben, aber ich finde es sind zu viele persönliche Meinungen darin vorhanden. Das du z.B. schreibst, das man über ManagedC++ nichts gutes gehört hat, und man deshalb C# lernen soll, wenn man WinForms benutzen will, finde ich sehr merkwürdig.

    ManagedC++ ist einfach nur eine weitere Sprachdefinition, die mit WinForms direkt nichts zu tun hat. WinForms ist einfach nur ein Teil eines Frameworks (.NET).



  • managedC++ heißt inzwischen übrigens C++/CLI



  • Besser gesagt, die nächste Version wird so heißen. ManagedC++ ist sozusagen das "alte" und ab nächstem Jahr wird das ManagedC++ eleganter in der Syntax und wird somit auch gleich umbenannt. Weiterhin gaaanz wichtig: C++/CLI wird bei der ECMA eingereicht und wird somit ISO-Standard! Einfach nur krass, so dürften wir wohl bald nicht nur C++/CLI Compiler von MS sehen, sondern auch von anderen Herstellern.



  • Lieber kingruedi:

    kingruedi schrieb:

    b) zu Subjektiv (ua. der Kommentar zur VCL)

    Objektivität ist eine Illusion. Ausserdem kann ich am Kommentar zur VCL nix Subjektives finden? (zugegeben ihc hab den Punkt nur kurz überflogen)

    Und zu

    kingruedi schrieb:

    a) zu Windows-Lastig

    sowie

    kingruedi schrieb:

    c) teilweise falsch (zB. gibt es GTKmm für MSVC++)
    ). Werd aber was ähnliches bald schreiben.

    Wie Jester schon sehr ähnlich sagte: Ist mir zu Linux und OpenSource-Lastig. Wieso ich jetzt schon glaube das behaupten zu können? Ganz einfach: man tendiert nunmal dazu, das womit man arbeitet präziser zu thematisieren als das wovon man nur mal etwas gehört hat.

    Was den Rest angeht: Ich finde BT hat eine nette Basis geliefert. Was spricht also dagegen, diese basis zu nehmen und in Zusammenarbeit eine Erweiterung der Unix-Seite sowie eine Korrektur von Fehlern vorzunehmen? Ich denke, genau deshalb hat BT diesen Vorschlag ja veröffentlicht?
    Es besteht also gar kein Grund selber was ähnliches zu schreiben. Sinnvoll wäre es die gelegte Basis zu erweitern.

    Meine Meinung dazu.

    -junix



  • Und sonst... sieht irgndwie wie ein Artikel aus Bild-Zeitung aus. Ne menge Wörter, vollgestöpft mit Emotionen, und nach dem durchlesen ist man wieder am gleichen Punkt die vorher.

    ach matty schreib doch selber was vernünfitges bevor du gute artikel kritisierst 😡 "bild zeitung" wie kommst du zu so einem vergleich?

    BT hat einen sehr guten beitrag verfasst, es war ja auch ein vorschlag und wenn wir den text zusammen bearbeiten, kommt ein gutes stücken für die FAQ raus....



  • Und wieviele kennst du, die Qt, GTK etc. benutzen?

    Eine Menge. Dafür kenne ich keine ernsthaftes Projekt, was MFC, VCL, CLX oder den Rest benutzt 🙄

    @junix

    Objektivität ist eine Illusion. Ausserdem kann ich am Kommentar zur VCL nix Subjektives finden? (zugegeben ihc hab den Punkt nur kurz überflogen)

    den Kommentar den ich meinte hat er mittlerweile abgeschwächt.

    Wie Jester schon sehr ähnlich sagte: Ist mir zu Linux und OpenSource-Lastig. Wieso ich jetzt schon glaube das behaupten zu können? Ganz einfach: man tendiert nunmal dazu, das womit man arbeitet präziser zu thematisieren als das wovon man nur mal etwas gehört hat.

    gut, dann lassen wir das Thema sein. Ich lösch auch gleich mal den Rest der FAQ, weil die Leute ja ihre Wege und Vorstellungen da bevorzugen

    🙄



  • Jester schrieb:

    kingruedi schrieb:

    Werd aber was ähnliches bald schreiben.

    Ist mir zu Linux-lastig. :p

    rofl...



  • kingruedi schrieb:

    Und wieviele kennst du, die Qt, GTK etc. benutzen?

    Eine Menge. Dafür kenne ich keine ernsthaftes Projekt, was MFC, VCL, CLX oder den Rest benutzt 🙄

    *lol*



  • Mein Vorschlag:

    GUI Programmierung
    http://www.geocities.com/SiliconValley/Vista/7184/guitool.html

    ⚠

    • Ohne fundierte C++ Kentnisse ist es nicht zu empfehlen ein GUI Toolkit zu benutzen. Lieber erst vernünftig C++ lernen!
    • Wenn dir die Informationen nicht ausreichen, welches Toolkit dir am besten liegt, solltest du dich auf den Projekt Homepages informieren.

    Platform übergreifend

    • CLX - Die CLX ist ein von Borland entwickeltes Framework, dass für Linux und Windows verfügbar ist. Das Framework bietet ein Widget System auf Basis des Qt Toolkits an (siehe Qt weiter unten). Das Framework wird mit dem Borland C++ Builder und Kylix ausgeliefert und ist für C++ und Objekt Pascal (Delphi) verfügbar. Die CLX gibt es in einer OpenSource Version als FreeCLX. (siehe VCL, VCL/CLX-Forum)
    • GTK+ - GTK+ ist ein sehr populäres Widget System, welches unter X11 (Unix/Linux/BSD), Linux Framebuffer, MacOS X und Windows läuft. GTK+ ist in einem Objekt orientiertem C Stil geschrieben und unter der LGPLizenz frei verfügbar. Es existieren auch verschiedene Bindings für andere Sprachen, wie C++ (siehe GTKmm), C#, Ruby, PHP, Perl, Pyhton uvm.
    • GTKmm - GTKmm ist eine C++ Widget Library die auf GTK+ (siehe oben) aufbaut. GTKmm ist im Gegensatz zu den meisten Widget Systemen in einem sehr modernen C++ geschrieben.
    • FLTK - FLTK ist ein C++ Widget System, dass unter MacOS X, X11 (Unix/Linux/BSD) und Windows läuft. Dabei handelt es sich um eine Art ThinLayer über den unterliegenden Systemen, so dass man auch direkte Funktionen des unterliegenden Systems anwenden kann. FLTK steht der LGPLizenz.
    • FOX - Das FOX Toolkit ist ebenfalls ein C++ Widget System, dass für Windows und X11 (Unix/Linux/BSD) verfügbar ist. Das System benutzt aber sehr viele Macros!
    • Qt - Qt ist ein C++ Framework, dass für Windows, X11 (Unix/Linux/BSD), MacOS X und Embedded Systeme verfügbar ist. Qt gibt es einmal in einer freien GPL Version (wobei die Windows GPL Version leider nicht mehr aktuell ist) und unter einer kommerziellen Lizenz.
    • VCF - Die VCF ist eine weitere Platform unabhängige C++ Library. Sie unterstützt MacOSX, Windows und X11 (Unix/Linux/BSD). Die VCF ist wie GTKmm in sehr modernem C++ geschrieben.
    • wxWidgets (früher wxWindows) - wxWidgets ist ein C++ Framework, dass nativen Widget Support anbietet und auf Basis von Windows, GTK+, Motif, Mac OS, MGL, OS/2 und einigen Embedded Systemen implementiert ist. Das System wirkt relativ MFC (siehe unten) ähnlich.

    MacOS X

    • Cocoa - Cocoa ist das native Framework für MacOS X. Das System ist ein Nachfolger des NeXTStep/OpenStep Systems (siehe auch GNUStep weiter unten). Es ist in Objective-C geschrieben, aber auch Integration in C++ (Man kann Objecive-C und C++ Code sogar in einer Datei kombinieren!), Java, AppleScript uvm.

    Unix/Linux/BSD/X11

    • GNUStep - GNUStep ist ähnlich wie Cocoa/MacOSX ein auf NeXTStep/OpenStep basierendes System und in Objective-C entwickelt. Aber genau wie bei Cocoa kann man direkt Objective-C und C++ mischen. Auch Anbindungen für Java und Ruby sind vorhanden. GNUStep steht unter der GPL/LGPL
    • OpenMotif/Motif - Motif ist ein vom IEEE 1295 Standard spezifiziertes Widget Framework. Motif war das erste Unix Widget System. Es ist einmal als kommerzielle Variante (Motif) erhältlich und einmal als OpenSource-Variante (nicht OSI Konform), die eine kostenlose Benutzung auf einer OpenSource Platform erlaubt.

    Unix/Linux-FAQ: GUI Programmierung (X, KDE/QT, GNOME/GTK)
    GUI Toolkits for The X Window System

    Windows

    • Avalon - Avalon ist das neue native Widget System für die kommende Windows Version (Longhorn). Avalon basiert auf dotNET.
    • MFC - Die MFC ist ein von Microsoft entwickeltes C++ Framework, welches direkt auf der WinAPI basiert. Die MFC gibt es nur in Verbindung mit dem Visual Compiler oder dem Borland Compiler. Die MFC wird aber in Zukunft nicht mehr von Microsoft weiter entwickelt! (siehe auch MFC Forum)
    • VCL - Die VCL ist eine Library von Borland, die mit dem Borland C++ Builder und Delphi zusammen vertrieben wird. Dabei wurde auch die Entwicklung der VCL eingestellt und zum einen durch die Platformunabhängige und auf Qt basierende CLX Library (siehe oben) und zum anderen im BuilderX durch eine wxWidgets (siehe oben) basierene Lösung ersetzt <-- weiss ich nicht genau (siehe VCL/CLX-Forum)
    • WinAPI - Die WinAPI ist die native Schnittstelle von Windows und in C gehalten. Aber auch die WinAPI wird in Zukunft nicht mehr weiter entwickelt und durch eine dotNET Lösung ersetzt (siehe Avalon)
    • WindowsForms - Die WindowsForms (oder auch WinForms) sind eine dotNET Library, zur Widget Programmierung. Die vorhandenen WindowsForms Tools sind aber auf C# ausgerichtet. Die WinForms gehören aber nicht zur Core Library von dotNET und sind eine Microsoft Erweiterung. Deswegen sind die WinForms nicht platformunabhängig und eine Unterstützung von alternativen dotNET Implementierung ist nicht sicher oder 100% kompatibel.


  • Eine Menge. Dafür kenne ich keine ernsthaftes Projekt, was MFC, VCL, CLX oder den Rest benutzt

    hehe.

    Werd aber was ähnliches bald schreiben.

    Na dann bin ich mal gespannt.
    Ich hab irgendwie das Gefühl, dass MS dabei nicht gut wegkommen wird....

    Vielleicht sollten wir dich am Schreibtisch festbinden, den Kopf Richtung Monitor fixieren und Streichhölzer zwischen die Augenlieder klemmen.
    Dann ne 2 wöchige MS- Produktpräsentation abspielen.



  • Na dann bin ich mal gespannt.

    hab ich gerade gepostet. Bitte kritisieren.

    Vielleicht sollten wir dich am Schreibtisch festbinden, den Kopf Richtung Monitor fixieren und Streichhölzer zwischen die Augenlieder klemmen.
    Dann ne 2 wöchige MS- Produktpräsentation abspielen.

    zu viel Uhrwerk Orange gesehen? Dabei bin ich ja gar nicht mehr so schlimm!



  • Marc++us schrieb:

    kingruedi schrieb:

    Eine Menge. Dafür kenne ich keine ernsthaftes Projekt, was MFC, VCL, CLX oder den Rest benutzt 🙄

    *lol*

    😃


Anmelden zum Antworten