Schauen Sie sich unsere Redesign-Services an
Pfeil

Pixelperfekte HMIs mit XAML auf Avalonia.

Wir bringen eingebettete Linux-Apps auf das nächste Level.
Holen Sie sich den Quellcode
Pfeil
Benutzeroberflächen und HMIs

Entwerfen von HMIs in Avalonia

Im ersten Quartal 2023 hat die Akzeptanz von Avalonia unter DEN.NET-Entwicklern, die sich darauf konzentrieren, komplexe Benutzeroberflächen mit Präzision zu erstellen, deutlich zugenommen. Bei UXDivers beschlossen wir, dass es an der Zeit war, Spaß damit zu haben und uns mit den Nuancen zu befassen, die das UI-Design (User Interface) vom HMI-Design (Human-Machine Interface) unterscheiden.
Während das UI-Design die ästhetischen und funktionalen Aspekte einer Benutzeroberfläche in Softwareanwendungen umfasst, erweitert das HMI-Design dies um die Interaktion zwischen Mensch und Maschine, insbesondere in industriellen und eingebetteten Systemen. Diese Unterscheidung ist für UXDivers von entscheidender Bedeutung, da wir das komplizierte Gleichgewicht zwischen optischer Attraktivität und betrieblicher Effizienz beim HMI-Design finden.
Mehr erfahren
Avalonia Ambient Wetter
Logo der Avalonia-Benutzeroberfläche
„UXDivers ist mit Abstand der beste visuelle Designer, den ich im .NET-Entwicklungsökosystem gesehen habe. Ihre Anwendungen sind umwerfend.“
Avalonia, CEO
Michael James
Avalonia, CEO
Umgebungswetter danachUmgebungswetter vorher
Vorher
Nach
CAVALONIA RUI

Dinge, die wir an Avalonia lieben

Folgendes zeichnet dieses erstaunliche Framework für uns aus:
Plattformübergreifende Vielseitigkeit
Avalonia glänzt durch seine Fähigkeit, reibungslos auf Windows, macOS, Linux und verschiedenen mobilen Plattformen zu laufen, wodurch sichergestellt wird, dass unsere Designs ein breites Publikum erreichen, ohne Kompromisse bei der Qualität einzugehen.
Flexibilität beim Styling
Das fortschrittliche Styling-System von Avalonia ermöglicht es uns, Benutzeroberflächen an die individuellen Bedürfnisse und Vorlieben unserer Kunden anzupassen und sicherzustellen, dass jedes Design so einzigartig ist wie die Marke, die es repräsentiert.
Präzision mit XAML
Die Verwendung von XAML in Avalonia ermöglicht es uns, pixelgenaue Human-Machine-Interfaces (HMIs) mit einem beispiellosen Detaillierungsgrad zu erstellen, sodass jedes Pixel in unseren Designs zählt.
Umfangreiche Steuerungsmöglichkeiten
Mit Avalonia haben wir Zugriff auf eine umfangreiche Bibliothek an Steuerelementen, die es uns ermöglichen, interaktive und dynamische Anwendungen zu entwickeln, die Benutzer ansprechen und begeistern.
Einheitliche Benutzererlebnisse
Avalonia garantiert ein konsistentes und nahtloses Benutzererlebnis auf allen Geräten und überbrückt mühelos die Lücke zwischen verschiedenen Betriebssystemen und Bildschirmgrößen.
Optimierte Leistung
Selbst wenn wir mit komplexen visuellen Hierarchien die Grenzen überschreiten, stellt sich Avalonia der Herausforderung und sorgt für eine hohe Leistung und Reaktionsfähigkeit, um ein reibungsloses Benutzererlebnis zu gewährleisten.
Umgebungswetter

Das Redesign der Ambient Weather App

Ungefähr 70% der Designbemühungen von UXDivers sind der Neugestaltung und Wiederbelebung vorhandener Anwendungen gewidmet. Obwohl wir die Ambient Weather App wirklich schätzen, bot sie uns eine spannende Gelegenheit, kreativ zu werden und ihr neues Leben einzuhauchen. Die Logik für eine Anwendung zu entwickeln, bei der das Human-Machine-Interface (HMI) im Mittelpunkt steht und bei der Sensoren und Hardwarekomponenten mit Geräten mit geringem Stromverbrauch integriert werden, ist eine große und unterhaltsame Herausforderung.
Unsere Dienstleistungen
UXDivers, Umgebungswetter
HMIs mit Avalonia

10 wichtige Erkenntnisse zu eingebetteten HMIs mit Avalonia

1. Arbeitsablauf bei der Entwicklung
Die Arbeit mit Avalonia ist ein Vergnügen, die Vorschau in Visual Studio, VS Code und Jetbrains' Rider funktionieren hervorragend; und die Kompilierungsgeschwindigkeit macht den Test- und Optimierungsprozess unglaublich flüssig! Ganz zu schweigen von den Avalonia DevTools, die zur Laufzeit verfügbar sind, wenn Sie F12 drücken. Dort können Sie die logischen und visuellen Strukturen der App überprüfen, genau wie Sie es mit einem Entwicklertool-Panel in einem Webbrowser tun würden.
2. Stil-Selektoren
Das Selektoren unterscheidet Avalonia in Bezug auf Stilfunktionen von seinen Nachbarn auf XAML-Plattformen. Es stimmt, dass Sie mit ControlTemplates alles von einem Steuerelement aus anpassen können (genau wie WPF), aber das geht noch weiter! Es bietet die CSS-Flexibilität, Stile auf Elemente anzuwenden, die auf einer Vielzahl von Kriterien basieren.
Ein einfaches Beispiel dafür (es gibt viele in der App!) ist, dass wir eine Reihe von Animationen für AnimatedImage definiert haben, die von einer Pseudoklasse abhängen (Sturm, Sonne, Wind usw.).
<styleselector="ctl|Animiertes Bild: Sunny">
<Style.Animations>.
<Animationsfilm...
</Animation>
</Style.Animations>
</Style>
Auf diese Weise können wir Bilder animieren, indem wir einfach eine Pseudoklasse festlegen, unabhängig davon, welchen anderen Stil das Steuerelement möglicherweise angewendet hat.
3. Das Tab-Steuerelement
Die Hauptnavigation im Dashboard verwendet TabControl von Avalonia. Hier müssen wir sowohl die enorme Gestaltungsflexibilität hervorheben, die die Vorlagen bieten, um das Aussehen des Steuerelements vollständig zu ändern, als auch, dass durch die Verwendung von DataTemplates zur Anzeige von Inhalten es automatisch zu einem Lazy-Loading-Steuerelement wird, was bedeutet, dass die Benutzeroberfläche auf Tabs erst geladen wird, wenn der Benutzer sie auswählt. Und das alles mit der sofort einsatzbereiten Steuerung!
4. Wiederverwendbare Benutzersteuerelemente
Das Erstellen von UserControls fühlte sich an wie die Arbeit in WPF. Es ist eine einfache und sehr leistungsstarke Methode, wiederverwendbare Steuerelemente zu erstellen. Ein gutes Beispiel dafür sind die Widgets, die im Haupt-Dashboard verwendet werden. Jedes Feld ist ein benutzerdefiniertes UserControl mit Eigenschaften zum Laden der Daten. Ein konkretes erwähnenswertes Beispiel ist der RadiationIndicator, der die folgenden Eigenschaften hat: Value, MinValue, MaxValues und eine PillColor; und er wird dreimal wiederverwendet.
5. Stil: Organisation
Stile für Apps sind in der Datei Resources.axaml, die die Farbpalette und die Stile allgemeiner Steuerelemente wie Schaltflächen und Menüs enthält, gut organisiert. Die Stile für Texte und spezifische Steuerelemente befinden sich in Styles.axaml. Auch hier wird die Leistungsfähigkeit der Selektoren genutzt, um flexible visuelle Einstellungen festzulegen, die überall verwendet werden können.
6. MVVM-Community-Toolkit
Das MVVM-Toolkit bietet alle notwendigen Tools, um dem Model-View-ViewModel-Muster zu folgen. Es lässt sich perfekt in Avalonia integrieren. Die Verwendung von Attributen zur Definition von ViewModel-Eigenschaften und -Befehlen spart Zeit und verhindert Fehler. Die andere Option, die Ihnen bei der Erstellung einer MVVM-App hilft, ist Reaktive Benutzeroberfläche, das sich auch perfekt in Avalonia integrieren lässt.
7. Diagramme
Die App verwendet Messgeräte von Live-Charts 2 um die Dashboard-Widgets „Feuchtigkeit“ und „Wind“ zusammenzustellen. Sie funktionieren hervorragend. Wenn Sie Diagramme benötigen, empfehlen wir dringend, sie sich anzusehen!
8. Routenplanung
Da das MVVM Community Toolkit keinen Navigationsrouting-Mechanismus hat, haben wir einen einfachen für die App entwickelt, von dem wir hoffen, dass er als Referenz hilfreich ist. Sie können dies im Ordner Controls/routerPresenter überprüfen.
9. App-Modi
Die Anwendung hat 2 Modi: verbunden und simuliert. Die Option „Verbunden“ ruft aktuelle Daten ab von Umgebungswetter-API um aktuelle Informationen zu erhalten und erhält auch Daten von Mathematik-API um die Prognose zu laden. Nicht, dass beide eine API benötigen. Andererseits lädt der simulierte Modus Beispieldaten aus einer JSON-Datei und simuliert Änderungen mit Timern. Während der erste Modus zeigt, wie ein Dienst tatsächlich genutzt wird, bietet der andere Modus eine sichere Umgebung, um die Anwendung zu testen.
10. AOT
Aktivieren Zusammenstellung im Voraus (AOT) kann die Leistung der App merklich verbessern. AOT hat jedoch einige Einschränkungen. Damit die App funktioniert, mussten wir Newtonsoft.Json durch System.Text.Json ersetzen und einige weitere Verbesserungen vornehmen, die in der Dokumentation, die wir dem Code beigelegt haben, ausführlich erklärt werden.

Mehr Projekte

UX-Taucher. Sosei
Blazor
UX/UI
Entwicklung
Sosei
Pfeil
Sosei ist ein Unternehmen, das Fachwissen, wissenschaftliche Erkenntnisse, Innovation und eine tiefe Leidenschaft vereint, um Landwirte bei der Umstellung auf eine regenerative Landwirtschaft zu unterstützen.
UX-Taucher. Gilde
Uno
UX/UI
Entwicklung
Gilde
Pfeil
Guidl ist der ultimative Ort für geolokalisierte Erlebnisse. Erkunden, entdecken Sie und lassen Sie sich von dem reichen Gewirr an Geschichten, Kulturen und Perspektiven inspirieren, das uns alle umgibt.
UX-Taucher. Mobiler Poolbauer
Xamarin
UX/UI
Entwicklung
Mobiler Poolbauer
Pfeil
Die MBP-App hilft sowohl Poolbauern als auch Besitzern, den Bauprozess in Echtzeit zu verfolgen. Sie verfügt über integrierte Kameras mit Funktechnologie.

Lass uns mit etwas Großartigem beginnen.

Lassen Sie uns gemeinsam daran arbeiten, Ihr Avalonia-Projekt zum Leben zu erwecken.