it-swarm-eu.dev

Gute Möglichkeiten, eine dynamische Benutzeroberfläche zu erstellen?

Ich habe eine Anwendung, die ich entwerfe, und sie befindet sich derzeit in einem ziemlich funktionalen Zustand. Aber die Datenbank, die ich benutze, hat Tausende von Elementen und ändert sich ständig und wächst. Die Anwendung bestimmter Datenelemente kann auch abhängig von den Benutzereinschränkungen variieren (Produktschnittstelle, Benutzerebenen usw.). Ich habe versucht, dieses Layout so flexibel wie möglich zu gestalten, bis die Datenbank die GUI-Layouts grundsätzlich steuert.

Ich möchte diese GUI so sauber und benutzerfreundlich wie möglich gestalten, ohne alles wiederholen zu müssen, wenn sich etwas ändert. Also im Grunde genommen....

Was sind einige gute Ansätze, um eine dynamische/skalierbare Benutzeroberfläche zu erstellen? Wenn so etwas möglich ist.

EDIT- Bisher gute Sachen, da ihr sehen wollt, wovon ich spreche, hier ist eine Idee. Ich habe eine SQLite-Datenbank, die Felder für Gruppierungen und Anzeigeformate und viele andere Dinge enthält, die links in einem dynamischen Konfigurationsbaum analysiert werden, und die Registerkarten und Gruppenfelder werden alle dynamisch aus kreativem SQL generiert. Da es viele Daten gibt, ist etwas Generisches nicht gerade eine schlechte Sache, da die komplizierten Dinge sowieso weniger fortgeschrittenen Benutzern verborgen bleiben. Wenn die Datenbank richtig eingerichtet ist, könnte dies meiner Meinung nach sehr gut funktionieren.
Ich habe auch einen Assistenten, der etwas Arbeit benötigt, aber vieles davon einfacher zu handhaben macht, da er nicht sehr oft berührt wird. Dies alles muss jedoch ohne einen Assistenten zugänglich sein, damit jemand eine benutzerdefinierte Konfiguration einrichten kann.

10
radix07

Ich weiß, was Sie denken, wenn Sie sagen "so flexibel wie möglich bis zu dem Punkt, an dem die Datenbank im Wesentlichen die GUI-Layouts steuert", aber dies ist ein Warnsignal: Sie werden am Ende eine App haben, die generisch ist Kosten der Benutzerfreundlichkeit. Ich sehe dies häufig bei "Programmierer-Benutzeroberflächen", bei denen Entwickler ihre datenbank- und objektorientierte Architektur auf die Benutzeroberfläche ausgeweitet haben. Leider erhalten Sie häufig eine Benutzeroberfläche, die für den Programmierer anstelle des Endbenutzers entwickelt wurde.

Mein Rat wäre, die Suche nach der idealen superflexiblen, dynamischen und skalierbaren Benutzeroberfläche zu vergessen und stattdessen Nutzungsmuster zu identifizieren, anhand derer Sie entwerfen können. Ich kann Ihnen in diesem Bereich weiterhelfen, wenn Sie weitere Details angeben (z. B. die Domain, für die Sie entwerfen, Beispiele, Modelle usw.).


Bearbeiten: Nach dem von Ihnen hinzugefügten Screenshot sieht es so aus, als würde die Komplexität der Datenbank auf die Benutzeroberfläche übertragen. Was ich hier sehe, ist buchstäblich ein riesiges Dashboard voller Auswahlmöglichkeiten - ich fühle mich wie in Star Trek mit den Bedienfeldern voller leuchtender Knöpfe! Lassen Sie mich einen kurzen ersten Eindruck von mir als Außenseiter geben:

Es sieht so aus, als würden wir etwas konfigurieren. Wenn Sie links ein zu konfigurierendes Element auswählen, wird der rechte Bereich mit Eingabefeldern aktualisiert, die Parametern entsprechen, die geändert werden können. Diese Eingabefelder befinden sich jedoch selbst innerhalb einer Registerkarte, und es gibt so viele Registerkarten, dass sie vom Screenshot nach rechts abfließen. Außerdem ist die Bezeichnung für jedes Feld bestenfalls kryptisch: "Mx Ld Fct". Es ist schön, dass Sie beim Schweben ein Etikett sehen, das mehr erklärt, aber möchte ich wirklich über verschiedene Elemente schweben, um herauszufinden, dass sie nicht das sind, wonach ich suche? Es ist wie eine Ostereiersuche. Außerdem ist mir nicht klar, was "Werkzeuge" unten links tun. Beide Fenster auf der linken Seite scheinen maximierbar zu sein, obwohl ich nicht sicher bin, zu welchem ​​Effekt.

Ich kann irgendwie sehen, wohin du damit gehst, aber ich muss dagegen raten. Es ist schwer zu erklären, warum, wenn Sie diesen Prozess noch nicht durchlaufen haben. Der beste Rat, den ich geben kann, ist, sich einige Leute zu schnappen, die dies jetzt verwenden, und sie dazu zu bringen, die App zu verwenden. Setzen Sie sich zu ihnen und bitten Sie sie, einige allgemeine Aufgaben auszuführen. Beobachten Sie einfach, was sie tun, und schreiben Sie auf einen Notizblock, was Sie denken. Du wirst viel lernen. Versuchen Sie dies jede Woche mit dem gesamten Entwicklerteam.

13
Rahul

Ich muss einige Punkte beachten:

  • Stellen Sie sicher, dass lange Zeichenfolgen das Layout nicht beschädigen. Natürlich spreche ich über die Daten selbst, aber die umgebende Benutzeroberfläche könnte auch darunter leiden. Stellen Sie sich beispielsweise eine Befehlsleiste mit Schaltflächen vor. Wenn der Text auf den Schaltflächen übersetzt wird, werden sie möglicherweise groß und laufen über die Leiste.
  • Machen Sie die Benutzeroberfläche "faul laden" einige der Informationen und erwägen Sie die Verwendung der Paginierung. Beispielsweise kann das Laden von Tausenden von Elementen auf einmal zu lange dauern. Stellen Sie sicher, dass die Benutzeroberfläche beim Laden nicht eingefroren oder beschädigt aussieht oder dass Sie eine Seite laden und den Rest laden, während der Benutzer auch mit der Interaktion beginnen kann die Benutzeroberfläche.

Ansonsten stimme ich Rahul zu, dass wir einige weitere Details benötigen, um genau zu werden.

4
Dan Barak