Consulta nuestros servicios de rediseño
flecha

HMI de píxel perfecto con XAML en Avalonia.

Llevando las aplicaciones integradas de Linux al siguiente nivel.
Obtenga el código fuente
flecha
Interfaces de usuario y HMI

Diseño de HMI en Avalonia

A partir del primer trimestre de 2023, la adopción de Avalonia ha aumentado notablemente entre los desarrolladores de.NET que se centran en crear interfaces de usuario complejas con precisión. En UXDivers, decidimos que había llegado el momento de divertirnos, profundizando en los matices que diferencian el diseño de la interfaz de usuario (UI) del diseño de la interfaz hombre-máquina (HMI).
Si bien el diseño de la interfaz de usuario abarca los aspectos estéticos y funcionales de una interfaz de usuario en las aplicaciones de software, el diseño de la HMI amplía esto para incluir la interacción entre humanos y máquinas, especialmente en sistemas industriales e integrados. Esta distinción es crucial para UXDivers a la hora de encontrar el complejo equilibrio entre el atractivo visual y la eficiencia operativa en el diseño de HMI.
Conozca más
Clima ambiental de Avalonia
Logotipo de Avalonia UI
«UXDivers es, por lejos, el mejor diseñador visual que he visto en el ecosistema de desarrollo de.NET. Sus aplicaciones son impresionantes»
Avalonia, directora ejecutiva
Mike James
Avalonia, directora ejecutiva
Clima ambiental despuésClima ambiental anterior
Antes
Después
AVALONIA UI

Cosas que nos encantan de Avalonia

Esto es lo que hace que este increíble marco destaque para nosotros:
Versatilidad en todas las plataformas
Avalonia destaca por su capacidad de funcionar sin problemas en Windows, macOS, Linux y varias plataformas móviles, lo que garantiza que nuestros diseños lleguen a un público amplio sin comprometer la calidad.
Flexibilidad de estilo
El sistema de diseño avanzado que ofrece Avalonia nos permite adaptar las interfaces de usuario a las necesidades y preferencias únicas de nuestros clientes, garantizando que cada diseño sea tan único como la marca que representa.
Precisión con XAML
El uso de XAML en Avalonia nos permite crear interfaces hombre-máquina (HMI) con píxeles perfectos con un nivel de detalle sin igual, lo que hace que cada píxel cuente en nuestros diseños.
Amplias opciones de control
Con Avalonia, tenemos acceso a una amplia biblioteca de controles, lo que nos permite crear aplicaciones interactivas y dinámicas que atraen y deleitan a los usuarios.
Experiencias de usuario unificadas
Avalonia garantiza una experiencia de usuario uniforme y fluida en todos los dispositivos, reduciendo la brecha entre los diferentes sistemas operativos y tamaños de pantalla con facilidad.
Rendimiento optimizado
Incluso cuando superamos los límites con jerarquías visuales complejas, Avalonia hace frente al desafío y mantiene un alto rendimiento y capacidad de respuesta para garantizar una experiencia de usuario fluida.
clima ambiental

El rediseño de la aplicación Ambient Weather

Aproximadamente el 70% de los esfuerzos de diseño de UXDiver se dedican a reimaginar y revitalizar las aplicaciones existentes. Si bien apreciamos sinceramente la aplicación Ambient Weather, nos brindó una excelente oportunidad para dar rienda suelta a nuestra creatividad e infundirle nueva vida. Desarrollar la lógica de una aplicación en la que la interfaz hombre-máquina (HMI) sea el punto central y que integre sensores y componentes de hardware con dispositivos de bajo consumo supone un desafío importante y divertido.
Nuestros servicios
Xudivers, clima ambiental
HMI con Avalonia

10 conclusiones clave sobre las HMI integradas con Avalonia

1. flujo de trabajo de desarrollo
Trabajar con Avalonia es un placer, la vista previa de Visual Studio, VS Code y Rider de Jetbrain funciona a la perfección, ¡y la velocidad de compilación hace que el proceso de prueba y ajuste sea increíblemente fluido! Por no hablar de las DevTools de Avalonia, disponibles durante el tiempo de ejecución al pulsar la tecla F12, donde puedes inspeccionar los árboles lógicos y visuales de la aplicación, tal y como harías con el panel de herramientas de desarrollo de un navegador web.
2. Selectores de estilo
El selectores diferencian a Avalonia de sus plataformas vecinas XAML en términos de capacidades de estilo. Es cierto que puedes personalizarlo todo desde un control con ControlTemplates (igual que WPF), ¡pero esto va más allá! Tiene la flexibilidad de CSS de aplicar estilos a los elementos en función de una amplia gama de criterios.
Un ejemplo sencillo de esto (¡hay muchos en la aplicación!) es que definimos un conjunto de animaciones para AnimatedImage en función de una pseudoclase (tormenta, sol, viento, etc.).
<styleselector="ctl|Imagen animada: Sunny">
<Style.Animations>.
<Animación...
</Animation>
</Style.Animations>
</Style>
De esta forma, podemos animar imágenes simplemente configurando una pseudo clase, independientemente del otro estilo que haya aplicado el control.
3. El control de pestañas
La navegación del tablero principal utiliza el TabControl de Avalonia. Aquí debemos destacar la enorme flexibilidad de estilo que ofrecen las plantillas para cambiar por completo el aspecto del control, y también que, al usar DataTemplates para mostrar el contenido, se convierte automáticamente en un control de carga diferida, lo que significa que la interfaz de usuario de las pestañas no se cargará hasta que el usuario las seleccione. ¡Todo ello con el control listo para usar!
4. Controles de usuario reutilizables
La creación de UserControls fue como trabajar en WPF, es una forma sencilla y muy poderosa de crear controles reutilizables. Un buen ejemplo de ello son los widgets que se utilizan en el panel principal. Cada cuadro es un UserControl personalizado con propiedades para cargar los datos. Un ejemplo concreto que vale la pena mencionar es el RadiationIndicator, que tiene las siguientes propiedades: Value, minValue, maxValues y PillColor; y se reutiliza 3 veces.
5. Organización de estilos
Los estilos con ámbito de aplicación están bien organizados en el archivo Resources.axaml, que contiene la paleta de colores y los estilos de los controles generales, como los botones y los menús. Los estilos de los textos y los controles específicos se encuentran en Styles.axaml, que, una vez más, aprovecha la potencia de los selectores para crear un conjunto flexible de ajustes visuales que se pueden utilizar en cualquier lugar.
6. Kit de herramientas para la comunidad MVVM
El Kit de herramientas MVVM proporciona todas las herramientas necesarias para seguir el patrón modelo-vista-vista-modelo. Se integra perfectamente con Avalonia. El uso de atributos para definir las propiedades y los comandos de ViewModel ahorra tiempo y evita errores. La otra opción que le ayudará a crear una aplicación MVVM es Interfaz de usuario reactiva, que también se integra perfectamente con Avalonia.
7. Gráficos
La aplicación utiliza medidores de Charts en vivo 2 para crear los widgets del panel de control Humedad y Viento. Funcionan muy bien. Si necesitas gráficos, ¡te recomendamos encarecidamente que los consultes!
8. Enrutamiento
Como el MVVM Community Toolkit no tiene más de un mecanismo de enrutamiento de navegación, hemos creado uno sencillo para la aplicación que esperamos sirva de referencia. Puedes consultarlo en la carpeta Controls/RouterPresenter.
9. Modos de aplicación
La aplicación tiene 2 modos: conectado y simulado. La opción conectada obtiene datos reales de API de clima ambiental para obtener información actualizada, y también obtiene datos de API de matemáticas para cargar la previsión. Tenga en cuenta que ambos requieren una API. Por otro lado, el modo simulado carga datos de muestra de un archivo JSON y simula los cambios con temporizadores. Si bien el primer modo muestra cómo consumir un servicio real, el otro proporciona un entorno seguro para probar la aplicación.
10. AOT
Habilitando Compilación anticipada (AOT) puede mejorar notablemente el rendimiento de la aplicación. Sin embargo, AOT tiene algunas limitaciones, por lo que para que la aplicación funcione, tuvimos que reemplazar Newtonsoft.Json por System.Text.Json e hicimos un par de ajustes más que se explican en detalle en la documentación que incluimos con el código.

Más proyectos

UDIVERS. Sosei
Blazor
UX/UI
Desarrollo
Sosei
flecha
Sosei es una empresa que integra experiencia, conocimiento científico, innovación y una profunda pasión por ayudar a los agricultores en la transición a la agricultura regenerativa.
UDIVERS. Gremio
Uno
UX/UI
Desarrollo
Guidl
flecha
Guidl es el mejor lugar para experiencias geolocalizadas. Explore, descubra y déjese inspirar por el rico tapiz de historias, culturas y perspectivas que nos rodean a todos.
UDIVERS. Constructor de piscinas móvil
Xamarín
UX/UI
Desarrollo
Creador de piscinas móviles
flecha
La aplicación MBP ayuda tanto a los constructores como a los propietarios de piscinas a rastrear el proceso de construcción en tiempo real, con cámaras integradas con tecnología inalámbrica.

Empecemos con algo grandioso.

Trabajemos juntos para hacer realidad su proyecto Avalonia.