AvaloniaUI: Crea aplicaciones multiplataforma con .NET

AvaloniaUI se presenta como un framework de UI multiplataforma para .NET que apunta a Windows, macOS, Linux, la web y cada vez más a móvil, usando Skia para el renderizado y XAML para el diseño, lo que lo hace especialmente atractivo para equipos con experiencia en WPF o Xamarin.Forms. Los comentaristas destacan sus fortalezas en escenarios de escritorio, el desarrollo activo de código abierto bajo licencia MIT y un modelo de negocio viable mediante un producto comercial compatible con WPF (XPF), con varias empresas conocidas que ya lo usan en producción. Las preocupaciones se centran en un soporte móvil todavía inmaduro, una apariencia y comportamiento no nativos, problemas de rendimiento como el tiempo de inicio, el uso de CPU y memoria, y un ecosistema de controles aún en crecimiento frente a toolkits más consolidados.

Ecosistema y controles

  • La principal preocupación: un ecosistema más pequeño frente a pilas nativas maduras (p. ej., menos controles ya hechos como mapas, gráficos o selectores de fecha).
  • Contraargumento: ya existen varias bibliotecas de gráficos y mapas, además de otros controles, en el ecosistema de Avalonia/.NET.
  • Algunos usuarios destacan la disponibilidad de colecciones de la comunidad (p. ej., listas “awesome”) y bibliotecas de terceros.

Enfoque de escritorio frente a móvil

  • Avalonia es visto ampliamente como orientado primero al escritorio; el soporte móvil existe, pero se describe como “en camino”, “no listo para producción” o menos pulido.
  • Controles como TextBox pueden sentirse orientados a escritorio en móvil.
  • Algunos sostienen que de todos modos hay que rediseñar la UI según el formato; otros quieren una herramienta multiplataforma “mobile-first, desktop-second” y ven que eso sigue sin resolverse.

Rendimiento, renderizado y UX

  • Usa Skia; conceptualmente se compara con “Flutter para .NET”.
  • Informes mixtos: algunos lo llaman rápido (especialmente con Native AOT y enlaces compilados), mientras otros reportan:
    • Alto uso de CPU en reposo, especialmente en macOS y con animaciones.
    • Arranque lento y uso de memoria relativamente alto.
    • Comportamiento de texto no nativo (p. ej., granularidad de deshacer/rehacer) y renderizado tipográfico “extraño”.
  • Debate más amplio sobre el uso de CPU de Skia, la aceleración por GPU y la lentitud general de las pilas modernas de UI 2D, con comparaciones con navegadores, juegos y renderizadores alternativos.

Uso en producción y licencia

  • Varias empresas y productos usan Avalonia en producción (incluidos algunos nombres conocidos).
  • El framework en sí está bajo licencia MIT, es totalmente de código abierto, y no tiene un nivel “pro” de pago ni funciones ocultas tras barreras.
  • El modelo de ingresos se centra en:
    • Soporte y consultoría.
    • Avalonia XPF, una plataforma comercial compatible con WPF, supuestamente de varios miles a ~20k USD por aplicación y por plataforma.

Migración y escenarios objetivo

  • Resulta especialmente atractivo para:
    • Portar aplicaciones WPF a escritorio multiplataforma (Windows/macOS/Linux/Web) con cambios mínimos, especialmente mediante XPF.
    • Nuevas aplicaciones centradas en escritorio donde un aspecto no nativo y consistente sea aceptable o deseado.
  • Advertencias:
    • Menos controles listos para usar en comparación con los ecosistemas de WinForms/WPF.
    • Portar Xamarin.Forms a Avalonia se ve más fácil que a Flutter/React Native, pero aun así implica trabajo considerable.
    • La migración de WinForms y .NET Framework → .NET Core/“dotnet” puede ser dolorosa independientemente de la opción de UI.

Lenguajes y alternativas

  • Encaja mejor con equipos ya invertidos en .NET/C#/XAML.
  • Existe soporte para F# mediante proyectos de la comunidad (FuncUI, Fabulous), pero se considera menos de primera clase.
  • Se compara con Flutter (más maduro en móvil), Uno (más orientado a controles nativos) y otros motores GUI/incrustados.