Benutzeroberflächenentwicklungssysteme
-
- Establishment
- Beiträge: 237
- Registriert: 04.02.2005, 09:12
- Benutzertext: www.gamedevstudio.com
- Echter Name: Thomas Mittelsdorf
- Wohnort: Meiningen
- Kontaktdaten:
Benutzeroberflächenentwicklungssysteme
Hallo,
Ich habe vor vielen Jahren ein Oberflächenentwicklungssystem auf dem Amiga geschrieben. Hier wurden Steuerelemente automatisch korrekt layoutet, also nicht mir der Maus gepaintet. Das macht sie unabhängig gegenüber Zeichensätzen und die GUI ist automatisch skalierbar. Auch wurden hier die Texte in Katalogen verwendet und waren damit auch nachträglich für andere Sprachen anzupassen (auch für Hobby-Übersetzer). Ich bin am überlegen etwas ähnliches für Windows zu schreiben. Mit meinem kleinen "Game Developer Studio" habe ich inzwischen auch unter Windows ein wenig Erfahrung gesammelt.
Kurz und gut: Welche Ansprüche habe Ihr an ein solches Entwicklungssystem ? Was macht eine moderne Oberfläche aus ? Welche Tools benutzt Ihr ? Ich denke auch Docking und Drag&Drop zu machen. Am liebsten würde ich es unabhängig von der Programmiersprache machen. So könnte es auch in Delphi genutzt werden.
QT ist ja ziemlich gut. Ich möchte es aber ohne Klassenbeschreibung nutzbar machen ähnlich wie das bei OpenGL ist. Das wäre dann recht einfach nutzbar (denke ich zumindest, ich nutze DirectX).
Habt Ihr Ideen für einen Namen ? Mir will da so recht nichts einfallen.
viele Grüsse gdsWizard
Ich habe vor vielen Jahren ein Oberflächenentwicklungssystem auf dem Amiga geschrieben. Hier wurden Steuerelemente automatisch korrekt layoutet, also nicht mir der Maus gepaintet. Das macht sie unabhängig gegenüber Zeichensätzen und die GUI ist automatisch skalierbar. Auch wurden hier die Texte in Katalogen verwendet und waren damit auch nachträglich für andere Sprachen anzupassen (auch für Hobby-Übersetzer). Ich bin am überlegen etwas ähnliches für Windows zu schreiben. Mit meinem kleinen "Game Developer Studio" habe ich inzwischen auch unter Windows ein wenig Erfahrung gesammelt.
Kurz und gut: Welche Ansprüche habe Ihr an ein solches Entwicklungssystem ? Was macht eine moderne Oberfläche aus ? Welche Tools benutzt Ihr ? Ich denke auch Docking und Drag&Drop zu machen. Am liebsten würde ich es unabhängig von der Programmiersprache machen. So könnte es auch in Delphi genutzt werden.
QT ist ja ziemlich gut. Ich möchte es aber ohne Klassenbeschreibung nutzbar machen ähnlich wie das bei OpenGL ist. Das wäre dann recht einfach nutzbar (denke ich zumindest, ich nutze DirectX).
Habt Ihr Ideen für einen Namen ? Mir will da so recht nichts einfallen.
viele Grüsse gdsWizard
- Chromanoid
- Moderator
- Beiträge: 4284
- Registriert: 16.10.2002, 19:39
- Echter Name: Christian Kulenkampff
- Wohnort: Lüneburg
Re: Benutzeroberflächenentwicklungssysteme
Ich find WPF ziemlich gelungen. Vor allem XAML finde ich ziemlich nett. Data Binding find ich super. Das MVVM Pattern ist super :).
-
- Establishment
- Beiträge: 237
- Registriert: 04.02.2005, 09:12
- Benutzertext: www.gamedevstudio.com
- Echter Name: Thomas Mittelsdorf
- Wohnort: Meiningen
- Kontaktdaten:
Re: Benutzeroberflächenentwicklungssysteme
Danke an Chromanoid . Ich möchte dabei keinen source code erzeugen sondern alles in einem Editor machen. Deine Beispiele zeigen das es schon viel in diesem Bereicht gibt.
Trotzdem könnte ich mir vorstellen mit meinem Konzept etwas nutzbares zu schreiben. WPF ist zur Zeit noch ziemlich langsam. Das Routing von Nachrichten ist gut. Natürlich ist auch XAML gut, aber wohl in erster Linie für C# oder täusche ich mich da ?
Freue mich auf weitere Hinweise...
Trotzdem könnte ich mir vorstellen mit meinem Konzept etwas nutzbares zu schreiben. WPF ist zur Zeit noch ziemlich langsam. Das Routing von Nachrichten ist gut. Natürlich ist auch XAML gut, aber wohl in erster Linie für C# oder täusche ich mich da ?
Freue mich auf weitere Hinweise...
- Chromanoid
- Moderator
- Beiträge: 4284
- Registriert: 16.10.2002, 19:39
- Echter Name: Christian Kulenkampff
- Wohnort: Lüneburg
Re: Benutzeroberflächenentwicklungssysteme
Ich wollte damit nicht sagen, dass dein Vorhaben sinnlos ist - ich wollte damit nur sagen, was ich mir wünsche :) Also eine vernünftige Sprachen unabhängige Spezifikation mit Data Binding wäre cool.
- dowhilefor
- Moderator
- Beiträge: 173
- Registriert: 27.02.2009, 15:44
- Alter Benutzername: 6SidedDice
- Echter Name: Nico Probst
- Wohnort: Bochum
- Kontaktdaten:
Re: Benutzeroberflächenentwicklungssysteme
Kann Chromanoid nur zustimmen. Oberflächenentwicklung ohne Databinding ( Wichtig nicht das Databinding aus Windows Forms ist gemeint ) kann ich mir gar nicht mehr vorstellen.
Vorallem kann man so UI wunderbar von Logik trennen, was diesen Visuellen Editoren ( wovon ich überhaupt kein Freund bin ) mehr möglichkeiten bietet.
Vorallem kann man so UI wunderbar von Logik trennen, was diesen Visuellen Editoren ( wovon ich überhaupt kein Freund bin ) mehr möglichkeiten bietet.
Mein Gehirn besteht nur noch aus einem hash-index, ich weiss was ich kenn aber kenn nicht was ich weiss
-
- Establishment
- Beiträge: 237
- Registriert: 04.02.2005, 09:12
- Benutzertext: www.gamedevstudio.com
- Echter Name: Thomas Mittelsdorf
- Wohnort: Meiningen
- Kontaktdaten:
Re: Benutzeroberflächenentwicklungssysteme
Da mein Konzept unabhängig von der Programmiersprache ist müsste ich für data binding sprachenspezifische includes machen. Das wäre die erste Idee die mir dazu einfällt. (Ich hatte damals auf dem Amiga eine GetAttr Funktion gemacht (mit Tags) ) . Aber dann müsste ich für jede Sprache und jedes Oberflächenelement Mini-Zugriffklassen schreiben. Eigentlich kein Problem. Darin könnte ich dann SetAttr und GetAttr machen.
- Chromanoid
- Moderator
- Beiträge: 4284
- Registriert: 16.10.2002, 19:39
- Echter Name: Christian Kulenkampff
- Wohnort: Lüneburg
Re: Benutzeroberflächenentwicklungssysteme
musst du nicht sowieso für jede sprache eine implementierung machen? xaml ist ja auch erst mal sprachunabhängig...
-
- Establishment
- Beiträge: 237
- Registriert: 04.02.2005, 09:12
- Benutzertext: www.gamedevstudio.com
- Echter Name: Thomas Mittelsdorf
- Wohnort: Meiningen
- Kontaktdaten:
Re: Benutzeroberflächenentwicklungssysteme
Ich möchte das ganze in eine dll packen und vorwiegend die exportierten Funktionen nutzbar machen (hab unter windows noch keine Erfahrung mit dll Entwicklung, das sollte aber nicht so schwierig sein). Um auf Attribute der Steuerelement zuzugreifen möchte ich Funktionen wie guiSetAttrBool(GUIA_Enabled,TRUE) oder guiSetAttrString(),guiSetAttrPointer() in die dll packen. Für data binding würde ich wie bereits geschrieben nicht nur die dll include sondern auch miniklassen machen. Die reine API Include wäre vom Aufwand für jede Sprache minimal. Die Zugriffsminiklassen sind dann schon aufwendiger wenn Sie für mehrere Sprachen gemacht werden sollen. Hier bräuchte ich später auch Hilfe wenns um Delphi und ähnliche Sachen geht.
Ein komplettes Fenster würde mit guiCreateWindow( parent, windowID ) erzeugt. Ich denke einfacher vom Aufwand geht es kaum. Der Code würde kürzer und übersichtlicher. Aber Data Binding ist wirklich wichtig, da hat sich dieser Thread schon jetzt gelohnt. :)
Ein komplettes Fenster würde mit guiCreateWindow( parent, windowID ) erzeugt. Ich denke einfacher vom Aufwand geht es kaum. Der Code würde kürzer und übersichtlicher. Aber Data Binding ist wirklich wichtig, da hat sich dieser Thread schon jetzt gelohnt. :)
- Chromanoid
- Moderator
- Beiträge: 4284
- Registriert: 16.10.2002, 19:39
- Echter Name: Christian Kulenkampff
- Wohnort: Lüneburg
Re: Benutzeroberflächenentwicklungssysteme
achso :) ich dachte du meinst wirklich sprach unabhängig. so muss man ja mindestens ne dll einbinden können.
-
- Establishment
- Beiträge: 237
- Registriert: 04.02.2005, 09:12
- Benutzertext: www.gamedevstudio.com
- Echter Name: Thomas Mittelsdorf
- Wohnort: Meiningen
- Kontaktdaten:
Re: Benutzeroberflächenentwicklungssysteme
Welche Looks findet Ihr gut ? Ich finde den Klassik Look gut, aber der ist ja veraltet. Zu meinem Game Developer Studio wurde geschreiben das es verstaubt wirkt. Vielleicht biete ich verschiedene Styles an. Könnt Ihr mir Oberflächen nennen die Euch gefallen ? Ich mag den Look von Microsoft Expression Blend, aber auch den vom Visual Studio. Für beide bräuchte man verschiedene Styles. Ich bin mir nur nicht sicher ob man diese zur Laufzeit pro Application änderbar braucht. Eigentlich kann man ja das auch für jedes GUI Projekt direkt festlegen. Was denkt Ihr ?
- dowhilefor
- Moderator
- Beiträge: 173
- Registriert: 27.02.2009, 15:44
- Alter Benutzername: 6SidedDice
- Echter Name: Nico Probst
- Wohnort: Bochum
- Kontaktdaten:
Re: Benutzeroberflächenentwicklungssysteme
Look bezüglich was? Des Editors? Hm, ich bin kein Freund von geskinnten Editoren. Kann mich so gerade an das neue Blender gewöhnen, aber bei Microsoft Expression Blend kommts mir hoch.
Wenn du aber das Ergebnis des Editors meinst, also die GUI die man damit erstellt ... dann um himmels willen keinen :) WPF ist ein gutes beispiel. Ein button funktioniert, egal wie er aussieht. Klar er hat ein Standard design, aber wenn ich sein "Control Template" austausche kann ich dahin machen was ich will und er funktioniert immernoch wie ein Button. Die Trennung Logik <-> Design ist einer der Stärken von WPF und möchte ich nicht mehr missen.
Wenn du aber das Ergebnis des Editors meinst, also die GUI die man damit erstellt ... dann um himmels willen keinen :) WPF ist ein gutes beispiel. Ein button funktioniert, egal wie er aussieht. Klar er hat ein Standard design, aber wenn ich sein "Control Template" austausche kann ich dahin machen was ich will und er funktioniert immernoch wie ein Button. Die Trennung Logik <-> Design ist einer der Stärken von WPF und möchte ich nicht mehr missen.
Mein Gehirn besteht nur noch aus einem hash-index, ich weiss was ich kenn aber kenn nicht was ich weiss
-
- Establishment
- Beiträge: 237
- Registriert: 04.02.2005, 09:12
- Benutzertext: www.gamedevstudio.com
- Echter Name: Thomas Mittelsdorf
- Wohnort: Meiningen
- Kontaktdaten:
Re: Benutzeroberflächenentwicklungssysteme
Mit WPF kenne ich mich nicht aus, aber auch ich möchte den Look für einen Button (und andere controls) direkt im Editor änderbar machen. Also auch eine Trennung von Verhalten und Style. Über Expression Blend kann man natürlich streiten (Es lebe die Meingsfreiheit !). Blender mag ich aber auch überhaupt nicht (vom Style).
dowhilefor: darf ich fragen was du mit WPF machst ?
dowhilefor: darf ich fragen was du mit WPF machst ?
- dowhilefor
- Moderator
- Beiträge: 173
- Registriert: 27.02.2009, 15:44
- Alter Benutzername: 6SidedDice
- Echter Name: Nico Probst
- Wohnort: Bochum
- Kontaktdaten:
Re: Benutzeroberflächenentwicklungssysteme
Beruflich das hier. Privat ein kleinen XMPP client und allerhand Spielereien mit WPF. WPF ist in mancher hinsicht leider Microsoft typisch; cooles Framework aber sehr leicht sich damit ins Knie zu schiessen und schwierig es performant zu bekommen. Hätte auch lust was für WP7 zu machen, auch wenns "nur" Silverlight ist, aber 99 euro im Jahr sind mir momentan zuviel für ein bischen rumspielen.
Was WPF cool macht ist eben das Design komplett von der Logik zu trennen, dem Control ist es egal wie es aussieht, obs animiert ist oder wie es gelayoutet wird. Wenn man ein cooles flexibles UI Framework programmieren will, sollte man sich WPF definitiv mal anschauen. Sicherlich braucht man nicht alles bspw. muss man nicht mühsam versuchen die Vektor sachen auch einzubauen, aber einige dinge lassen sich relativ einfach umsetzen.
Was WPF cool macht ist eben das Design komplett von der Logik zu trennen, dem Control ist es egal wie es aussieht, obs animiert ist oder wie es gelayoutet wird. Wenn man ein cooles flexibles UI Framework programmieren will, sollte man sich WPF definitiv mal anschauen. Sicherlich braucht man nicht alles bspw. muss man nicht mühsam versuchen die Vektor sachen auch einzubauen, aber einige dinge lassen sich relativ einfach umsetzen.
Mein Gehirn besteht nur noch aus einem hash-index, ich weiss was ich kenn aber kenn nicht was ich weiss