Das Schreiben einer GUI für ein Programm war schon immer eine entmutigende, deprimierende und frustrierende Aufgabe. Es spielt keine Rolle, welche Sprache es ist, es ist extrem schwer zu bekommen, was ich will. Besonders in kompilierten Sprachen wie Java, in denen das Erstellen einer Änderung ein oder zwei Minuten dauert.
Das Ergebnis ist, dass ich für einige meiner Projekte zunehmend GUI-Designer verwende. Sicher, es gibt einen Spagetti-Code, aber solange ich die Konfiguration und einen Hinweis mit der Aufschrift "Dies wurde mit X entworfen" verlasse, habe ich keine Bedenken, dies zu tun.
Ist dies eine gute Möglichkeit, eine GUI zu entwerfen? Noch wichtiger ist, ist es das, was die meisten Menschen tun? Oder ist es üblich, sich einfach hinzusetzen und es aufzuschreiben?
quelle
Antworten:
Ich habe noch nie einen visuellen Designer gefunden, der es einfach macht, robuste Designs zu erstellen (wenn jemand welche hat, kann er mich gerne korrigieren). Sie eignen sich gut zum Ablegen von Inhalten in einem Fenster mit fester Größe, um die Dinge zu verspotten, aber wenn es darum geht, etwas zu erstellen, dessen Größe sich gut ändert, das gut mit DPI und Themen funktioniert, und all die anderen Dinge, die eine professionelle Benutzeroberfläche von einer bloßen "guten" unterscheiden - genug ", sie werden ehrlich gesagt mehr Arbeit als nur das Codieren selbst (vorausgesetzt, es wird ein anständiges UI-Framework zum Spielen verwendet).
Visuelle Designer eignen sich hervorragend für das schnelle Prototyping von Software, das Testen von Designs und das Herumspielen, um zu sehen, wie Dinge aussehen, aber ich würde keine für den endgültigen Build verwenden.
quelle
Planen Sie in Ihrem Kopf und verwenden Sie dann Stift / Papier. Dies ist der schnellste und einfachste Weg, um ein Design zu initialisieren.
Wenn Sie zur Implementierung bereit sind, verwende ich einen GUI-Designer, anstatt von Hand zu codieren. In Java Swing zum Beispiel kann ich mir bei einer ausreichend großen Benutzeroberfläche vorstellen, wie viel Zeit ich verschwenden würde, wenn ich alles von Hand mache und später ändere. Es ist viel einfacher, einen GUI-Builder wie Netbeans Matisse zu verwenden und dann bei Bedarf leicht von Hand zu optimieren.
quelle
Erstellen Sie zuerst die GUI auf Papier.
Danach verwende ich einfach den Visual Studios-Entwurfsmodus, um die GUI zu erstellen. Einfach zu erstellen und was Sie sehen, ist das, was Sie bekommen. Außerdem müssen Sie nicht neu erstellen, um die GUI anzuzeigen.
quelle
Ein GUI-Designer ist eine verlockende schnelle Lösung. Aber sich hinzusetzen und es von Hand zu tun, ist eine bessere Alternative für Projekte und Gegenstände, die später nicht weggeworfen werden.
Normalerweise finde ich, dass die beste Methode darin besteht, die GUI zuerst auf Papier zu entwerfen. Zeichnen Sie eine grobe Skizze, wo sich Schaltflächen und andere Komponenten befinden. Überlegen Sie sich dann, wenn Sie in einer Sprache wie Java arbeiten, in der verschiedene Layout-Manager verwendet werden, welche Komponenten und Kombinationen von Layout-Managern erforderlich sind. All dies, bevor Sie mit dem Codieren beginnen. Dann setzen Sie es Stück für Stück um.
Wenn Sie den GUI-Designkurs besuchen, werden Sie das Gefühl haben, große Fortschritte zu machen, bis Sie sich dem Ende nähern und nicht in der Lage sind, etwas richtig zum Laufen zu bringen oder Änderungen vornehmen zu müssen. Es von Hand zu machen scheint eher eine langsame Schildkröte zu sein, aber es sorgt für stetigen Fortschritt. Außerdem erhöht sich Ihre Geschwindigkeit, je mehr Sie dies tun.
quelle
Wie bereits gesagt, ist es besser, nur (a) ein Blatt Normalpapier, einige Haftnotizen (verschiedene Größen) zu verwenden und das Layout auf dem Papier zu erstellen, wobei die Haftnotizen als Steuerelemente (wie Schaltflächen, Kombination) verwendet werden Boxen usw.) (b) ein Prototyping-Programm wie GUI Designer Studio oder das Bleistift-Addon für Firefox ...
Nach der Prototyping-Phase wird es mit dem Layout in Ihrer Nähe einfacher, die Benutzeroberfläche selbst zu codieren, da Sie Muster wie mvc, mvp usw. einfacher implementieren können, da die GUI-Editoren normalerweise nicht zulassen, dass Sie ihren Code ändern da sie es jedes Mal neu schreiben, wenn Sie die Benutzeroberfläche ändern.
quelle
Visio bietet eine Reihe von UI-Schablonen, sodass es Stift und Papier effektiv ersetzt und dennoch den gleichen Designansatz bietet - zuerst denken, zweitens zeichnen, zuletzt Code.
quelle
In VB6 und Windows Forms habe ich immer den Designer verwendet, in WPF jedoch nie. Der WPF-Designer erstellt schreckliche XAML, und in WPF entwerfe ich meine Benutzeroberfläche gerne als eine Reihe von Widgets und lasse das Framework alles zur Laufzeit zusammenstellen. Sie verlieren viel von dieser Flexibilität, wenn Sie den Designer verwenden.
quelle
Ich sehe es eher so:
( Zeichnen Sie für jede dieser Optionen immer auf Papier oder ein Whiteboard. Vertrauen Sie mir, das spart Zeit und Codefrustration.)
Prototyping:
Verwenden Sie einen GUI-Designer, vorzugsweise einen empfohlenen, der von den meisten in einer bestimmten Sprache verwendet wird. Auf diese Weise wird Ihr Code nicht zu verwirrend, wenn Sie ihn nach Ihren Wünschen (meistens) anpassen können. Da der Code höchstwahrscheinlich später weggeworfen oder stark geändert wird, müssen Sie nicht zu viel Zeit frühzeitig verschwenden im Entwicklungszyklus. Die Verwendung eines GUI-Designers eignet sich für schnelle und einfache GUI-Anwendungen oder um Ihrem Kunden ein grobes Bild der Anwendung zu zeigen, bei der er nicht Monate warten muss, um sie zu sehen.
Kleine Projekte:
Dies ist je nach Sprache und Zeitbeschränkung eine Art Mix-Bag. Die Verwendung eines GUI-Designers hier wäre hilfreich, aber Sie sollten in Betracht ziehen, danach zu bereinigen oder kleinere Komponenten manuell zu erstellen. Auf diese Weise fällt es jedem anderen (oder Ihnen selbst) leichter, Fehler zu beheben und den Code zu lesen. Auf diese Weise erhalten Sie eine bessere Kontrolle und Flexibilität der Benutzeroberfläche. (Auch ein schöner Vorteil des Lernens beim Codieren)
Große Projekte:
In diesem Fall ist es wichtig, GUIs manuell zu erstellen. Größere Projekte können schnell komplex werden und das Erstellen von GUIs mit einem Designer macht das Projekt nur komplexer und schwieriger zu debuggen. Das Erstellen eines GUI-Frameworks für Ihre Anwendung kann dazu beitragen, die manuelle Erstellung einer GUI zu vereinfachen. Eine vollständige Kontrolle über Ihre Anwendung ist erforderlich, da dies bei der Wartung hilfreich ist oder wenn Sie später Funktionen hinzufügen möchten (oder wenn ein nerviger Kunde erwähnt, dass Sie eine Anforderung verpasst haben, lol), ist die Integration dieser Anwendungen weniger frustrierend und sauberer.
Nach meiner persönlichen Erfahrung braucht das Erlernen des manuellen Erstellens einer grafischen Benutzeroberfläche Zeit und einige erfordern schwierige Lernkurven (Heck, ich programmiere in Java und die Oracle Java-Tutorial-Site warnt Sie davor, GUIs selbst zu erstellen und einen Designer zu verwenden), aber am Ende gewinnen Sie Höhere Kontrolle und Flexibilität Ihrer Anwendungen, wodurch wiederum besser aussehende Anwendungen entstehen. Hoffe, Sie verwenden dies eine anständige grobe Anleitung! Viel Spaß beim GUIing :)
quelle