# Programm-Design



## Koyote (21. April 2012)

Hallo,
ich arbeite zur Zeit fleißig an meinem Programm und der Funktionsumfang wächst (und der Code wird immer unübersichtlicher ). Jetzt mache ich mir langsam Gedanken um das Design. Die Funktionalität steht zwar im Vordergrund aber ich hätte auch gerne ein besseres Design.
Da ich bisher mich immer nur um die Funktionalität gekümmert habe und nicht um das Design, habe ich keinen Ansatzpunkt.

Könntet ihr mir Tipps geben?

Ich programmiere in Visual Basic.Net (Visual Basic 2008)

Würde mich über Hilfe freuen.

Gruß Tim


----------



## Skysnake (21. April 2012)

Von was Desing?

Design der GUI oder Design bzgl. Aufteilung des Codes?


----------



## Koyote (22. April 2012)

Ich meinte natürlich das Design der Form-Anwendung, sprich einen gescheiten Hintergrung und Steuerelemente die nicht aussehen wie von vor 50 Jahren


----------



## nahkillo94 (22. April 2012)

Da musst du erstmal wissen, wie du es gut finden würdest. 

Also ich persönlich bin vom Metro-Design begeistert und dementsprechend gestalte ich inzwischen meine Programme nach den Metro-Design-Richtlinien. Falls es dich interessiert: Entwicklungscenter - Apps im Metro-Stil


Falls du auf rundgelutschte Ecken und Apple stehst () dann solltest du dir deren Styleguide mal anschauen: Mac OS X Human Interface Guidelines


----------



## Koyote (26. April 2012)

Es ist immer von Apps die rede, sind damit Apps für mobilgeräte gemeint? Denn ich schreibe Windows Forms Anwendungen für den PC und brauche dafür was.


----------



## Hagrid (26. April 2012)

Apps ist die Kurzform für Applikation, was gemeinhin nunmal für Anwendungen bei Mobilgeräten benutzt wird. Eigentlich sind damit halt nur ganz normale Programme gemeint, (glaube ich ).


----------



## Koyote (26. April 2012)

Aber die Anwendungen im Metro style haben doch nicht mehr wirklich was mit ner windows Forms anwendung zu tun?


----------



## nahkillo94 (26. April 2012)

Hagrid hat recht^^

Das ist ein Styleguide. Der lässt sich auf alles anwenden. Egal ob App für Windows Phone, App für Metro oder ganz normale WPF oder WinForms-App(lication). 
Wenn es dir gefällt, kannst du den Apple-Style auch in ein Windows-Programm machen, oder umgekehrt. Es sind nur Design-Richtlinien. Und wenn du es gut umsetzt, kannst du auch eine normale WinForms-Anwendung im Metro-Style richtig schick aussehen lassen. 

Hier mal ein Beispiel auf die schnelle:

Metro-Style-WinForms-Skin

Allerdings ist das hier auch nicht optimal umgesetzt. Es ist zuviel zu sehen. Nach dem Styleguide, sollte man nur sehen, was man auch braucht. Unnötige Buttons, Icons und Spielereien weglassen.


----------



## Koyote (26. April 2012)

Danke!
Ist das wirklich eine Windows Forms Anwendung oder eine WPF Anwendung?
Habe mir eben mal in Visual Basic 2010 express edition eine WPF Anwendung erstellt und ein bisschen getestet. Meiner Meinung nach ist das wirklich viel mehr aufs Design bezogen, aber wie sieht es da beim Code aus? Als erstes ist mir aufgefallen, dass man jetzt Label1.Content anstatt Label1.text schreiben muss.
Viele Steuerelemente kenne ich nicht aber wo ist z.B. der Timer? Und was zum Teufel ist eine Passwordbox? Das ist doch einfach eine Textbox, bei der die Zeichen nicht angezeigt werden? (war bei Windows Forms Anwendung nur eine Eigenschaft zu ändern.) 
Ansonsten scheint es mir so, als wären Code und Design noch strenger getrennt, kann das sein? Vor allem weil ja unten auch gleich der XAML Code angezeigt wird. 

Lohnt es sich aufgrund des Designs auf WPF umzusteigen und da weiter mit VB.NET zu programmieren? Ich weiß nicht warum, aber ich habe bedenken, dass man bei ner WPF Anwendung nicht mehr so viele Möglichkeiten hat was den Code betrifft? Sollte ja eig. auch ramfressender sein oder irre ich mich? 

Braucht man für eine Anwendung im Metro Design nicht das SDK, Visual Studio 11 und Windoof 8?


----------



## JoergK (26. April 2012)

Koyote schrieb:


> Viele Steuerelemente kenne ich nicht aber wo ist z.B. der Timer?


Ich kenne mich nun nicht mit Visual Basic aus, aber für den Normalfall gilt immer: "Wartezeiten sind immer schlecht".
Wartezeiten halten professionelle User auf und sind vielleicht zu schnell für Neueinsteiger, die noch über eine Entscheidung nachdenken wollen. Als Beispiel sei hier mal gesagt:
Wie oft sind dir in Adobe Produkten, Mac OS X und anderen Software-Produkten, die für Ihre Usability bekannt sind schon Timer begegnet ? Die Zahl dürfte gegen Null gehen.
Baue lieber ein paar Pop-Ups mit zwei drei PushButtons für Ja, Nein, Abbrechen (oder wie's dann im konkreten Fall passt) ein und eventuell noch einen "Diese Meldung nicht mehr zeigen"-Knopf. Das macht User auf lange Sicht glücklicher, als Timer 
Aber ist nur ein Tipp.

Gruß Jörg


----------



## akatoti (27. April 2012)

Hallo Koyote!



Koyote schrieb:


> Habe mir eben mal in Visual Basic 2010 express edition eine WPF Anwendung erstellt und ein bisschen getestet. Meiner Meinung nach ist das wirklich viel mehr aufs Design bezogen, aber wie sieht es da beim Code aus? Als erstes ist mir aufgefallen, dass man jetzt Label1.Content anstatt Label1.text schreiben muss.



Kurz gefasst mal die Unterschiede zu Winforms und WPF :
 Winforms = veraltet dafür stabil, pixelgrafik, keine klare Trennung von Code und Design/Layout, dafür breitere Zielplattform(auch ältere Systeme)

WPF:
Vektorgrafik,Trennung von Layout und Code durch XAML,Grafikkarte mit Unterstützung ab Direct3D 9 notwendig, Silverlight als Browser-Plugin, Animationen, Videos und andere Formate einsetzbar.

Also um es mal kurz in einem Satz auszudrücken. Es gibt keine klare Antwort hierauf. Es kommt auf deine Zielgruppe an und auf das was du machen möchtest.




Koyote schrieb:


> Ansonsten scheint es mir so, als wären Code und Design noch strenger getrennt, kann das sein? Vor allem weil ja unten auch gleich der XAML Code angezeigt wird.
> 
> Lohnt es sich aufgrund des Designs auf WPF umzusteigen und da weiter mit VB.NET zu programmieren? Ich weiß nicht warum, aber ich habe bedenken, dass man bei ner WPF Anwendung nicht mehr so viele Möglichkeiten hat was den Code betrifft? Sollte ja eig. auch ramfressender sein oder irre ich mich?




Janein, kommt wie gesagt darauf an was du machen möchtest.
Über WPf brauchst du aber echt keine "bedenken" zu haben. MIT XAML kannst du die Anpassungen einfach und schnell vornhemen ohne dir sorgen um die funktionalität machen zu müssen. Die Programmlogik selbst ist wie immer  Ramfressersender halte ich zudem für ein Gerücht.
Eher ist entscheidend was und in welcher Form im Code ist .
In deinem Fall möchte ich dir mal Avalon - Tutorial nahelegen zum durchlesen.

greetz aka


----------

