Welches Framework(?) ist für mich geeignet



  • Ich bin beim lesen von OOP für Dummies auf die Frage gestoßen, was für meine
    Zwecke geeignet wäre. Da ich in Richtung Spieleprogrammierung möchte, kann ich
    mich zwar lange vor normalen Programmen drücken, aber irgendwann werd ich auch
    mal ein einfaches GUI-Tool benötigen oder sonst mal etwas GUI-mäßiges schreiben.
    Wäre es nur die GUI wäre für mich klar, dass ich GTKmm verwenden würde. Da ich
    aber auch andere OS abhängige Fuktionen benötigen werde(davon geh ich jetzt
    einfach mal aus), reicht wohl GTKmm nicht, da dies soweit ich weiß nur ein
    GUI-Wrapper ist.
    Nun wäre da ja noch die MFC und die VCL, wie steht es mit denen? Ich habe mir
    auch schon mal die Winapi angeschaut, aber direkt damit zu proggen ist nicht,
    so das wahre, da hat man definitiv zu viel Arbeit.
    Nun was wäre da denn geeignet für mich? Bei der VCL müsst ich mir wohl auch
    nen BCB zulegen für MFC könnt ich mein MS VC++ 6.0 verwenden, wobei ich in
    einiger Zeit sowieso mir einen kaufen müsste, habe derzeit nur die Autorenversion.

    Was könntet ihr mir denn empfehlen? Ich möchte mich nur ungern in hundert Libs
    einarbeiten, damit alles OS unabhängig ist, denn es macht für mich derzeit
    keinen Sinn, ich arbeite unter Windows und in nächster Zeit werde ich nicht
    auf Linux wechseln, dort könnt ich auch kein DirectX mehr verwenden.

    Wäre es möglich MFC/VCL und GTKmm in Kombination zu benutzen, von meinen Kentnissen
    derzeit wäre das ne gute Möglichkeit (afaik!). Oder vllt. sogar .NET?
    Was ziemlich gut wäre, wäre nen GUI-Designer, da ich wie gesagt möglichst
    einfach die GUI erstellen möchte.

    Hoffe mal ihr könnt mir bei meiner Entscheidung helfen 🙂



  • MFC ist IMHO nich mehr zu empfehlen.
    VCL kenn ich nicht soo gut. Aber der Borland Editor (V5) gefällt mir gar nicht.

    Ich würde zur Zeit .NET nehmen.



  • kannst ja GTKmm kombinieren mit anderen Librarys, wie zB. boost, ACE oder GNU/CommonC++



  • hmpf ich versuche mich in den nächsten Tagen an wxwindows, ist genau so scheisse wie die MFC, aber ist frei und läuft auf Windows, Mac OS X, Unixis und linuxes^^



  • kingruedi sowas würd ich bis zu nem gewissen Grad machen, z.B. GUI mit GTKmm,
    Thread mit der Lib von boost, aber wenn ich mir für alles ne neue Lib anschauen
    muss und mich einarbeiten ist mir das zu viel, hätte gerne alles in einem.



  • für Threads, Sockets, CORBA etc. benutzt du ja nur eine Library (zB. ACE) und dann eben für GUIs eine Extra Library. Du hast ja nicht für jede kleinigkeit eine extra library. So hast du aber zB. den Vorteil, dass du wenn du zB. nur eine kleine GUI Anwendung schreiben willst nicht gleich noch eine vollständige CORBA Implementierung mitliefern musst (wie zB. bei wxWindows)



  • SirLant schrieb:

    Was ziemlich gut wäre, wäre nen GUI-Designer, da ich wie gesagt möglichst einfach die GUI erstellen möchte.

    Da würde ich Visual C#.NET nehmen.



  • Dafür müsst ich aber auch noch C# lernen und ich bin gerade dabei c++ zu lernen.
    Möchte meine GUI daher schon mit C++ machen. Später kann ich ja immernoch auf
    C# für die GUI umsteigen, aber derzeit hab ich nicht die Zeit auch noch C# zu lernen.



  • ich würd dir mfc empfehlen (läuft sofort und is bewährt)
    oder falls du zuviel geld hast qt (läuft halt überall)

    die kombination c++ & .NET bringt dir in naher zukunft ned viel weil kein user die runtimes installiert hat
    also nur wenn du langfristig planst und guten mutes bist dass sich .NET durchsetzt

    c# zu lernen wär für dich zeitverschwendung



  • Also wenn es dir eh nicht auf OS-Unabhängigkeit ankommt, brauchst du für den nicht-grafischen Teil auch keine extra Bibliothek. Die zwei/drei Funktionen, die gtk oder sonstiges nicht abdeckt, hat man auch schnell in eine eigene Klasse geschrieben.

    Die Super-Bibliothek für alles, gibt es jedenfalls nicht.



  • Die Super-Bibliothek für alles, gibt es jedenfalls nicht.

    .Net kommt aber schon sehr nahe hin. Allerdings würde ich es nicht mit C++ benutzen.



  • Also, wenn mich das heute (2004) jemand fragt, lautet meine Antwort sicherlich anders als noch vor 2 oder 3 Jahren... damals hätte ich ohne Zögern die VCL genannt.

    Aber nun? Betrachten wir die Lage im kommerziellen Lager:

    😉 MFC - ist bewährt und man kennt die zahlreichen Nachteile inzwischen zur Genüge. Nur machen wir uns nichts vor, für die in aktuellen Anwendungen notwendigen GUI-Gimmicks bringt sie einfach zu wenig Hilfsmittel mit... selbst einfache Dinge wie ein Bild in einem Button oder farbige Edit-Boxen rutschen ruckzuck in SendMessage-Aufrufe und WinAPI ab. Ist bei dem herrschenden Zeitdruck nicht vertretbar. Außerdem nicht mehr wirklich weiterentwickelt von MS.

    😉 VCL - war die ganze Zeit der Traum für jeden C++ler, der die MFC kannte. Schnell, zahlreiche Einstellmöglichkeiten und fast immer ausreichend für alle Anforderungen einer modernen GUI. Leider nun von Borland selbst im Stich gelassen und eigentlich abgekündigt.

    😉 .NET - für C++ nicht wirklich brauchbar, da die ganzen integrierten Tools vom VStudio und der GUI-Designer alle auf C# abzielen und C++ (auch als managed C++) nicht wirklich unterstützen. Außerdem kann man nicht wirklich C++ programmieren, sondern bekommt managed C++, keine Standalone-Exe mehr. Ändert sich vielleicht noch im Laufe der nächsten Zeit, aber im Moment keine glückliche Lösung.

    😉 Visual Basic und ActiveX kombiniert mit MFC - erscheint mir noch eine ganz interessante Lösung zu sein, wenn man mit VB6 grafische Control-Elemente komplexen Verhaltens unter VB als ActiveX erstellt, und diese dann in eine MFC-Anwendung einbettet. VB6 bringt eine reichhaltigere Gestaltungsmöglichkeit für die Control-Elemente mit als die MFC, Geschwindigkeitsargumente sind nicht stichhaltig, da bei GUIs die CPU-Zeit von der grafischen Darstellung gefressen wird, nicht von der Parameterübergabe. Erlaubt außerdem recht effektive Zerlegung der Projekte in Komponenten. Komplexe Control-Elemente lassen sich damit in wenigen Stunden entwerfen und einbinden. Dumm aber, daß auch VB6 nicht mehr wirklich auf der Produktpalette steht, VB.net ist kein Ersatz für diese spezielle Anwendung. Sicherlich aber für MFC zur Zeit die beste Lösung. [Hinweis: statt VB lässt sich das ActiveX auch mit Delphi realisieren]

    😉 QT - etabliert und lange Zeit im Schattendasein, zumindest unter Windows. Hat den Vorteil gewisser Plattformunabhängigkeit (was man nicht immer braucht), hat sich in Bezug auf den GUI-Designer auch enorm weiterentwickelt. Lizenzkosten im kommerziellen Umfeld sicherlich nicht ganz so dramatisch. Leider wenig Literatur dafür, wenige Tutorials, wenig Infos dazu. Empfinde ich als Nachteil. Look&Feel der Anwendungen leider nicht ganz so, wie das Windows-konform ist. Kann für bestimmte Anwendungen problematisch werden.

    😉 wxWindows, GTKmm - ähnlich QT, teilweise andere Mächtigkeit. Hauptproblem sehe ich bei allen vor allem die Informationslage - man kann nicht mehr einfach überall fragen "wie geht das mit diesem Control"? Zu wenige Leute kennen es.

    Eigentlich war das noch nie so bescheiden wie heute.



  • Marcus du machst mir nicht wirklich Mut 😞
    Jetzt weiß ich erst recht nicht mehr was ich nehmen soll. Es sieht so aus, als
    wäre GTKmm und für den Rest andere Libs? Wenn ich alle Dateien in nem Verzeichnis
    auslesen möchte, müsst ich dann trotzdem noch die Winapi nehmen, das will ich ja
    möglichst vermeiden. Oder etwas in die Registry schreiben, die Zwischenablage,
    hm mehr fällt mir grad nicht ein, bin mir aber sicher es gibt noch mehr 🤡



  • Ich kann dir nur wxWindows empfehlen, denn wxWindows ist neben der VCL die wohl vollständigste und funktionsreichste Bibliothek, die es gibt. Eine RAD/IDE gibt es in Form von VisualWx bereits für Windows. Mit der nächsten Version vom Borland C++BuilderX wird es dann auch eine gute RAD/IDE für Linux und Solaris geben.
    Der enzige Nachteil ist momentan, dass es nicht viele Infos, Tuts, Manuals oder gar Bücher über wxWindows gibt. Ich denke aber, dass sich das in naher Zukunft ändern wird.



  • @SirLant
    mach dir nicht so viele Sorgen, dass du etwas falsches oder zu viel lernst. Du wirst in dem Laufe deines Programmiererleben noch mit so vielen Biblihoteken arbeiten müssen. Deswegen such dir das aus, was die einfach am besten gefällt wenn du die API anguckst. Du stehst ja vor keiner ultimativen Entscheidung

    @Marc++us

    Leider wenig Literatur dafür, wenige Tutorials, wenig Infos dazu.

    das stimmt so nicht! Mittlerweile gibt es genügend Foren, Tutorials und Bücher zu Qt. Ich glaub nicht, dass da ein enormer Mangel existiert.

    @Sovok
    die MFC kostet auch Geld 🙄



  • SirLant schrieb:

    Wenn ich alle Dateien in nem Verzeichnis
    auslesen möchte, müsst ich dann trotzdem noch die Winapi nehmen, das will ich ja
    möglichst vermeiden.

    Dafür kann man auch Boost.FileSystem nehmen. Boost würde ich mir in jedem Fall mal angucken, auch wenn es dir für UI nicht viel hilft: http://www.boost.org



  • @Marc++us: Bis auf einen Punkt stimme ich dir uneingeschränkt zu: VB6 und MFC ist keine gute Idee. VB6 wird von MS nicht mehr weiterentwickelt (=> VB.net). Daher sollte man entweder C# oder QT benutzen.



  • kingruedi schrieb:

    @Sovok
    die MFC kostet auch Geld 🙄

    seit wann?
    hab ich was verpasst?



  • Dann sag doch mal wo man sie umsonst beziehen kann.



  • hmpf läd dir c++ builder x personal runter, da ist das dabei^^


Anmelden zum Antworten