Editoren, GUI, etc..

Einstiegsfragen, Mathematik, Physik, künstliche Intelligenz, Engine Design
Antworten
Benutzeravatar
Andi
Beiträge: 81
Registriert: 12.03.2009, 00:19

Editoren, GUI, etc..

Beitrag von Andi »

Nach nun fast einem Jahr Apstinenz, hab ich nun mehr Zeit um mich wieder entwas mit dem Thema auseinander zusetzten.
Also dachte ich mir, versuchste einen Text-Editor zu coden oder etwas in der Richtung. Ich hab keinen Plan wie und wo anfangen, oder welche tutorials nützlich/hilfreich sind. Alles was ich im googel bisher gefunden habe, sind Tutorien die sich zu intensiv mit den C++ Grundlagen befassen, was gut ist aber langfristig ermühdend.

Mein vorhaben soll auf Windows XP/Vista programmierbar und lauffähig sein.

Nun wollte ich Frage, kenn jemand gute Tutorien wo sich mit den Funktionen und mögliche Designpatterns befassen?
Da ich evtl. dan einen oder meherer Schritt(e) weitere gehen will: ist die WinAPI mächtig genug, um beispielsweise ein 3D Modler etc. zu erstellen oder sollte man sich andere Lib`s anschaun?

Ich Frage lieber bevor ich was Plane, weil ich nicht Wochenlang in einer API rum eiern will, um später zu merken das die nicht kann was ich will ;)

Ich hoffe das ich im richtigen Forum bin, sonst bitte verschieben...
Matze
Moderator
Beiträge: 107
Registriert: 26.02.2009, 18:28

Re: Editoren, GUI, etc..

Beitrag von Matze »

Zuerst mal solltest Du Dich für eine Anwendung entscheiden. Zwischen Text-Editor und 3D-Modeller liegen Welten.

Generelles zur Windowsprogrammierung: Die WinAPI ist sehr low-levelig, d.h. mit der kannst Du alles machen, was Du Dir vorstellen kannst, ist aber nicht so einfach und so schön zu programmieren. Dann gibts noch die MFC (Microsoft Foundation Classes), die auf die WinAPI aufsetzen, Windows Forms, die sich des .NET Frameworks bedienen und noch leichter zu programmieren sind als die MFC, sowie aktuell die Windows Presentation Foundation (WPF), die ebenfalls recht einfach zu programmieren sind und eine Weiterentwicklung der Windows Forms darstellen sollen. Wofür Du Dich entscheidest ist in erster Linie Geschmackssache. Wenn Du jedes neue Super-Feature ausnutzen willst, kommst Du um die WinAPI wohl nicht herum. Ich würde Dir allerdings eher dazu raten mit Windows Forms oder WPF anzufangen. Machen kannst Du damit auch so gut wie alles.

Noch ein Tipp: Schau Dir mal die MSDN WebCasts zur Windows-Forms- bzw. WPF-Programmierung an. Zwar fangen die ziemlich bei null an und können fortgeschrittene Entwickler am Anfang auch schon mal langweilen, aber als Einstieg in die Materie find ich sie immer noch ziemlich gelungen.
Benutzeravatar
Chromanoid
Moderator
Beiträge: 4258
Registriert: 16.10.2002, 19:39
Echter Name: Christian Kulenkampff
Wohnort: Lüneburg

Re: Editoren, GUI, etc..

Beitrag von Chromanoid »

Wenn du wirklich eine Anwendung entwickeln möchtest, ist Java auch immer einen intensiven Blick wert. Wenn man bedenkt, dass Eclipse auch in Java entwickelt wird ^^... Mit 3D sieht's da zwar eher mittelmäßig aus, aber ich fände eine gute Java 3D IDE mit SDK schon ziemlich gut... :D
Benutzeravatar
Schrompf
Moderator
Beiträge: 4855
Registriert: 25.02.2009, 23:44
Benutzertext: Lernt nur selten dazu
Echter Name: Thomas Ziegenhagen
Wohnort: Dresden
Kontaktdaten:

Re: Editoren, GUI, etc..

Beitrag von Schrompf »

Und wenn Du bei C++ bleiben willst: QT ist einen dicken Blick wert, wxWidgets ebenso. Beides sind C++-Klassenbibliotheken für die Anwendungsprogrammierung unter Windows/Mac/Linux. Und zumindest von QT weiß ich aus Erfahrung, dass sie einfach rockt. Saubere Klassenmodelle, angenehm zu programmieren, sehr gute Dokumentation.

[edit] Die eigentliche Frage nach der "WinAPI": nimm bitte unbedingt ein Framework dafür. Die reine WinAPI ist keine Freude und bedeutet einen riesigen Haufen zusätzlicher Arbeit. Für Dich lautet die Empfehlung daher auf jeden Fall: entweder ein Framework für C++ (siehe oben) oder eine andere Programmiersprache und deren eingebautes Framework (z.B. C# und die genannten Windows Forms).
Früher mal Dreamworlds. Früher mal Open Asset Import Library. Heutzutage nur noch so rumwursteln.
Seraph
Site Admin
Beiträge: 1174
Registriert: 18.04.2002, 21:53
Echter Name: Steffen Engel

Re: Editoren, GUI, etc..

Beitrag von Seraph »

Zur WinAPI wurde ja schon genug gesagt. Wobei, eine Erfahrung ist es allemal. :D Ansonsten wuerde ich zu .net tendieren. Ach ja, um Christian noch zu aergern, vergiss Java! :P
ONeinONeill
Beiträge: 17
Registriert: 27.02.2002, 15:22
Kontaktdaten:

Re: Editoren, GUI, etc..

Beitrag von ONeinONeill »

Also ich kann aus Erfahrung sprechen, dass wxWidgets auch sehr schön und einfach zu bedienen ist. Kann ich nur empfehlen.
Benutzeravatar
Andi
Beiträge: 81
Registriert: 12.03.2009, 00:19

Re: Editoren, GUI, etc..

Beitrag von Andi »

Danke für die Infos, hilft mir bei der Auswertung weiter :mrgreen:

Ich hab mich etwas schlecht ausgedrückt. Ich will als erstes an einem Text-Editor arbeiten, um mal einen Überblick zu bekommen, wie man sich Codetechnisch organisieren kann / ein Gründgerüst aufbaut. Wenn jemand eine bessere Idee für ein Startprojekt hat, bitte her damit. Ich denke es ist wichtig, dass der Code so verpackt das man nicht 1000 umwege machen muss für Interaktionen. Man will ja nicht jede Woche rafacturen.

Also ich hab mir mal ein bisschen C# angesehen (Theorie) und finde sieht eigentlich noch elegant aus. Auch in Bezug auf XNA ist es sicher mal ansehenswert.
Dennoch die Zeit spielt eine Rolle, denn ich will nicht ein neues Sprachkonzept lernen. Bei C++ hab ich gut ein Halbesjahr gebraucht um das Grundwissen zu verstehen und es einnigermassen einsetzten zu können, mit Betonung auf einigermassen. Das wär mir im Moment zu lange :D Also fällt Java aus.

QT ist schon nett, aber das Lizenzmodel ist mir viel zu kompliziert. Open-Source nicht Open-Source ich steig da nicht durch.

WPF ist mir absolut neu. Danke für den guten Tip der MSDN WebCasts, kannte ich noch nicht. Leider ist die Seite bei mir extremst Langsam beim laden, aber da muss man halt durch :D

Viele Infos die euch wahrscheinlich nicht interessieren aber egal :?

Aber nun hab ich doch noch einige Fragen zu C# und .Net.
Wie viel neues resp. altes ist in C# entahlten pauschal und genügt ein VS Express?
Steigt man schnell in C# ein, wenn man schon erfahrung mit C++ und anderen C ähnliche Sprachen hat?
Wie viel Gerümpel wird bei .net mit kompiliert und wie viel muss man selbst einbinden?
Matze
Moderator
Beiträge: 107
Registriert: 26.02.2009, 18:28

Re: Editoren, GUI, etc..

Beitrag von Matze »

Andi hat geschrieben:Wie viel neues resp. altes ist in C# entahlten pauschal und genügt ein VS Express?
Was meinst Du mit wieviel Neues und Altes? Ich persönlich nutze VS C# Express und bin damit absolut zufrieden. Als Einstieg reicht es allemal.
Andi hat geschrieben:Steigt man schnell in C# ein, wenn man schon erfahrung mit C++ und anderen C ähnliche Sprachen hat?
Absolut! Du kannst Dir auch die MSDN WebCast Serie "Get Sharper Now!" angucken, die richtet sich an C# Einsteiger und Umsteiger, erklärt die wichtigsten Unterschiede und hilft Dir beim Einstieg in C#.
Andi hat geschrieben:Wie viel Gerümpel wird bei .net mit kompiliert und wie viel muss man selbst einbinden?
Ich bin da kein Experte, aber ich denke schon, dass .NET einen gewissen Overhead produziert. Mir persönlich ist das allerdings egal, da mich das Framework in die Lage versetzt relativ einfach und schnell sehr anspruchsvolle Windows-Anwendungen zu erstellen.
Benutzeravatar
Sylence
Beiträge: 2
Registriert: 06.08.2008, 13:58
Kontaktdaten:

Re: Editoren, GUI, etc..

Beitrag von Sylence »

Andi hat geschrieben:QT ist schon nett, aber das Lizenzmodel ist mir viel zu kompliziert. Open-Source nicht Open-Source ich steig da nicht durch.
Es gibt zwei Versionen von Qt. Einmal eine OpenSource Version und einmal eine kommerzielle. Die OpenSource Version steht unter der LGPL. Solange du also nichts an Qt selbst änderst (was eigentlich auch nicht nötig ist), kannst du also fast alles damit machen.
Benutzeravatar
Andi
Beiträge: 81
Registriert: 12.03.2009, 00:19

Re: Editoren, GUI, etc..

Beitrag von Andi »

Ich hab mir mal die Grundideen und Filosofie dahinter angekuckt und hab mich auf WPF für den Anfang festgelegt. Jedoch will ich doch bei C++ bleiben gefällt mir besser als C#.

Leider sieht es so aus als ob es wenige hilfreiche Turorien für WPF auf Basis von C++ giebt und langfristig ist mir das als nicht C# zu umständlich, es auf C++ zu portieren. Kennt iht gute einsteiger Tutorien zum Thema WPF und C++, die sich mit der Praktischenarbeit befassen?

Oder ist es doch besser direkt in C# zu arbeiten und wieso? Weleche Vor-/Nachteile bringt mir C# gegenüber C++ und umgekehrt?
Matze
Moderator
Beiträge: 107
Registriert: 26.02.2009, 18:28

Re: Editoren, GUI, etc..

Beitrag von Matze »

Andi hat geschrieben:Jedoch will ich doch bei C++ bleiben gefällt mir besser als C#.
Was gefällt Dir denn besser an C++?
Andi hat geschrieben:Leider sieht es so aus als ob es wenige hilfreiche Turorien für WPF auf Basis von C++ giebt und langfristig ist mir das als nicht C# zu umständlich, es auf C++ zu portieren.
WPF wurde für die Nutzung mit C# (und eigentlich VB) ausgelegt. Ich weiß ehrlich gesagt gar nicht, ob man das überhaupt mit C++ programmieren kann. Aber selbst wenn: Warum willst Du das machen? GUI-Programmierung geht deutlich einfacher und schneller mit C#. Hinzu kommt, dass C# Dir viele Dinge abnimmt oder erleichtert, die Du mit C++ nicht so einfach außer Acht lassen kannst (z.B. Speicher-Management). C++ eignet sich gut für die Programmierung von zeitkritischen Dingen, oder für Software, die z.B. auf Embedded-Systemen laufen muss, wo jedes Byte Speicher wichtig ist. Für alles andere würde ich Dir raten eine moderne Sprache zu nehmen, wie z.B. C#. Es macht doch keinen Sinn sich eine Menge Mehrarbeit und Ärger ans Bein zu binden, nur weil man beharrlich auf "seine" Sprache schwört.
Benutzeravatar
Andi
Beiträge: 81
Registriert: 12.03.2009, 00:19

Re: Editoren, GUI, etc..

Beitrag von Andi »

Habs durcheinander gebracht. Natürlich ist WPF für C# und nicht C++. :oops:
Desshalb nochmals zur richtig Stellung, habe mich auf Windows Forms festgelegt. Der Designer nimmt eim schon mal bisschen Arbeit ab und man sieht es auch gleich, nettes Feater.
Matze hat geschrieben:Was gefällt Dir denn besser an C++?
Hmm, schwer zu sagen.. Ich kann dir sagen was mir nicht an C# gefällt und das ist das Gepunkte, was ich irgendwie unübersichtlich finde. Das "->" gefällt mir Syntaktisch besser. Ist vermutlich, wie du sagst, nur Gewohnheitssache. Im Moment verlier ich mich etwas bei langen Parameterschleifen in der Syntax und fülle mich wie in Action Script versetzt.
Matthias Gubisch
Establishment
Beiträge: 470
Registriert: 01.03.2009, 19:09

Re: Editoren, GUI, etc..

Beitrag von Matthias Gubisch »

Hallo

also unabhänig davon obs übehaupts möglich ist oder nicht, würd ich WPF mit C++ gar nicht erst versuchen, da kann nix gscheides dabei rauskommen, wenn du ein ähnliches System willst und trotzdem bei C++ bleiben kann ich dir nur QT empfehlen.
Wenn man das Model/View Conzept mal kapiert hat kann man damit wirklich schön arbeiten.

Ansonsten zum Thema gepunkte in C#: Der Punkt ist aber Wesentlich schneller geschrieben, und -> in C++ ist ja nur eine Abkürzung für eine Pointerschreibweise, die in C# ja sowieso nicht nötig ist.

Was meinst du mit langen Parameterschleifen im Quellcode?

Grüße
Matthias
Bevor man den Kopf schüttelt, sollte man sich vergewissern einen zu haben
Benutzeravatar
Schrompf
Moderator
Beiträge: 4855
Registriert: 25.02.2009, 23:44
Benutzertext: Lernt nur selten dazu
Echter Name: Thomas Ziegenhagen
Wohnort: Dresden
Kontaktdaten:

Re: Editoren, GUI, etc..

Beitrag von Schrompf »

Mit QT kann man auch richtig gut arbeiten... das Software-Design ist richtig sauber, und es gibt auch überall Helfer und Abkürzungen, so dass man für das "saubere" Design trotzdem nicht so viel tippen muss. Das einzig ärgerliche an QT ist halt deren Meta-Compiler, der Dir zu Deinen Headern noch ein kleines cpp-File generiert. QT bietet da auch ein VisualStudio-Addin an, wenn man deren Projektverwaltung/Maketools nicht benutzen möchte.

Alternativ wie gesagt wxWidgets. Damit habe ich lang nichts mehr gemacht, aber es soll sich ziemlich gemausert haben.
Früher mal Dreamworlds. Früher mal Open Asset Import Library. Heutzutage nur noch so rumwursteln.
Stefan Zerbst
Moderator
Beiträge: 189
Registriert: 25.02.2009, 19:54

Re: Editoren, GUI, etc..

Beitrag von Stefan Zerbst »

Hi,

Qt benutzen wir auch bei der Arbeit. Es hat zwar hier und da so seine Tücken wenn man es exzessiv auslebt. Aber insgesamt ist es wohl allen anderen GUIs überlegen weil es schon extrem viele kleine Helferlein und insbesondere so viele verschiedene Widget-Typen hat deren Funktionalität Du sonst mit anderen Libs erstmal nachbauen müsstest. Und erstaunlicherweise bleibt es dabei noch so flexibel, dass man das Verhalten der Widgets durch einfaches Ableiten in sehr kurzer Zeit anpassen kann. Zu guter letzt ist Qt ständig in der Weiterentwicklung und wird mit jeder neuen Iteration umfangreicher.

Ciao,
Stefan
Benutzeravatar
Andi
Beiträge: 81
Registriert: 12.03.2009, 00:19

Re: Editoren, GUI, etc..

Beitrag von Andi »

Hehehe, überredet werde mir auch QT intensiv anschaun :mrgreen:
Zur LGPL Version, hab ich das richtig verstanden das mein Code als Open-Source im Netz verfügbar sein muss?

Danke euch

Gruss

Andi
klickverbot
Establishment
Beiträge: 191
Registriert: 01.03.2009, 19:22
Echter Name: David N.

Re: Editoren, GUI, etc..

Beitrag von klickverbot »

In Kürze, ohne Anspruch auf Richtigkeit: Nein, das einzige was du veröffentlichen musst, sind deine Veränderungen an Qt, solltest du welche vornehmen…
Benutzeravatar
dv
Beiträge: 51
Registriert: 15.09.2002, 17:46
Benutzertext: Ugauga.
Alter Benutzername: dv
Wohnort: Südamerikanischer Dschungel
Kontaktdaten:

Re: Editoren, GUI, etc..

Beitrag von dv »

Wie bereits gesagt wurde, musst du deinen Code nicht zwangsläufig öffnen.

Die LGPL unterscheidet zwischen dem Benutzen und dem Erweitern der Library. Ersteres erlaubt Closed Source, letzteres nicht. Erweitern bedeutet dabei, dass man Qt ändert, dem Qt-Code was hinzufügt usw.

Allerdings darfst du nicht statisch linken. Qt macht eh immer nur .so's bzw. DLLs, von daher also kein Problem, die musst du beilegen. Und, du musst irgendwo in einem Readme o.ä. einen Link auf die Qt-Seite hintun, denn die LGPL verlangt, dass sich User die benutzte Library selber holen können, und entsprechende Mittel vorgenommen wurden, entweder eine Referenz (zB den Link), oder den ganzen Libraryquellcode beilegen.

In der Praxis ists simpel:
1. Qt nicht verändern.
2. DLLs beilegen.
3. In der Readme deines Projekts einen Link zu der Qt-Seite tun, und erwähnen, dass "dieses Projekt Qt verwendet, welches unter LGPL steht" etc.

Das wars dann auch schon.
odenter
Establishment
Beiträge: 207
Registriert: 26.02.2009, 11:58

Re: Editoren, GUI, etc..

Beitrag von odenter »

Also einen Text-Editor zu schreiben ist nicht so ganz ohne, jedenfalls wenn er brauchbar sein soll. :)
Es gibt eine gute HowTo-Reihe zu dem Thema auf der Seite www.catch22.net
Antworten