Preview · código abierto
Escribe XAML.
Sirve HTML real.
Apps web que cargan como un sitio: sin WebAssembly, sin runtime en el navegador, sin JavaScript que escribir. Y apps nativas en Windows, macOS y Linux con el mismo código, con hot reload en las dos.
Solicitudes por segundo
1,440
Latencia mediana
23.3 ms
Tráfico simulado, calculado en el servidor cada segundo.
XAML guardado · 28 ms
0 líneas de JavaScript
En vivo desde el servidor
Un solo código, todas las pantallas
Web
Windows
macOS
Linux
Android · próximamente
iOS · próximamente
.NET 10
C#
XAML
Aioros.Cosmo
Aioros.Pictor
Aioros.Graphs
Web
Windows
macOS
Linux
Android · próximamente
iOS · próximamente
.NET 10
C#
XAML
Aioros.Cosmo
Aioros.Pictor
Aioros.Graphs
El problema

Un producto, dos stacks

Un equipo publica su sitio en un stack y su app de escritorio en otro, o envuelve el sitio en un web view y lo llama nativo. Dos códigos que mantener al día, o una app que nunca se siente en casa.
La app web
Componentes y estado en el cliente · una capa de API para el cliente · un bundler y su configuración · hidratación
La app nativa
Otro toolkit de UI, a menudo otro lenguaje · su propia navegación y carga de datos · o un web view que trae un navegador
Con Aioros
Una página XAML y su view model · cargada en el servidor, renderizada como HTML en la web · la misma página nativa en el escritorio
Un XAML, todos los destinos

La página que escribes es la que reciben

Una página es XAML con un view model. El servidor la compila en un plan y responde HTML y CSS; el escritorio ejecuta el mismo XAML de forma nativa. La tarjeta junto al código es ese código, renderizado por el servidor que estás leyendo.
Pages/report/Page.axaml
<c:Card> <c:CardHeader Title="Weekly report" Description="Sent every Monday to your team." /> <c:CardContent> <ToggleSwitch Content="Include charts" IsChecked="{Binding Charts}" /> </c:CardContent> <c:CardFooter> <Button Content="Save" Command="{Binding Save}" /> </c:CardFooter> </c:Card>
Reporte semanal
Enviado cada lunes a tu equipo.
En vivo, desde el servidor

Enviado mientras miras

Un servicio en segundo plano late cada segundo e invalida una clave de datos. Solo las vistas que la leen se renderizan de nuevo, y el servidor las envía a cada página abierta.
Sin código de WebSocket, sin estado en el cliente, sin JavaScript tuyo.
Solicitudes por segundo
1,440
Latencia mediana
23.3 ms
Visitantes en línea
3,442
Solicitudes, últimos 60 segundos
041424344454600900120015001800
041424344454600900120015001800
Tráfico simulado, calculado en el servidor cada segundo.
Experiencia de desarrollo

Guarda el archivo. Mira el cambio.

Las herramientas que un desarrollador web espera de un framework serio, para XAML en la web y en el escritorio.
Pages/Page.axaml
<StackPanel Spacing="12">
<TextBlock Text="Hello, world" />
<TextBlock Text="Hello, Aioros" />
</StackPanel>
Edita y mira
Hello, world
Hello, Aioros
Guardado · 28 ms
Hot reload, en los dos lados
Una edición de XAML aparece en unos 30 ms y una de C# en unos 75 ms, en la web y en el escritorio, conservando el scroll, el foco y lo que escribiste.
Errores en la línea de XAML
Un build fallido o una página que lanza una excepción abre un overlay sobre la página con el archivo y la línea; corrígelo y el overlay desaparece.
aioros dev
Un comando ejecuta la app con hot reload, encuentra un puerto libre y reporta el build, para la web o con --desktop.
Revisado al compilar
Analizadores y code fixes detectan lo que rompería una página en producción antes de ejecutarla; una página que el servidor no puede compilar falla el build en su línea.
Rendimiento

Compilado antes de la primera solicitud

Las páginas se trazan una vez en planes que escriben su HTML directo desde los view models. Medido en la misma máquina contra la misma app hecha con cada stack.
10.2×
más rápido que Next.js renderizado en el servidor con su caché
7.8×
más rápido que Blazor con renderizado estático en el servidor
2.1×
más rápido que la misma app en Go
4.3×
más rápido que la misma app en Rust con Leptos
Solicitudes por segundo, por página
Lumen, un gestor de issues hecho cinco veces; 64 conexiones, 4 núcleos de servidor; corrida 241, octubre de 2026. Media geométrica sobre cinco páginas.
/issues/LUM-105/settings/inbox/issues/projects85,62057,96153,94331,91716,378
/issues/LUM-105/settings/inbox/issues/projects85,62057,96153,94331,91716,378
/issues/LUM-105/settings/inbox/issues/projects85,62057,96153,94331,91716,378
Todo incluido

Lo que trae un framework serio

Renderizado, datos, motion, idiomas y accesibilidad, integrados e iguales en cada destino.
28 ms
Hot reload en todas partes
Guarda un archivo XAML o C# y cada página y ventana abierta se actualiza, conservando su estado.
En vivo por defecto
Invalida una clave de datos; las vistas que la leen se actualizan en cada pantalla.
Temas que te siguen
Claro y oscuro según el dispositivo, por visitante, sin parpadeo.

Hello

Hola

你好
こんにちは
Todos los idiomas
Recursos por cultura, una dirección por idioma, precompilados.
Tab ↹
Marcado accesible
Elementos nativos, regiones, etiquetas y foco, escritos desde tu XAML.
Una app de escritorio real
No es un web view: ventanas nativas, renderizado nativo, las mismas páginas.
Aioros.Cosmo · shadcn/ui en XAML

Todos los componentes de shadcn/ui, en XAML

Los 67 componentes con sus variantes, tokens de diseño y doce temas de color en claro y oscuro. En la web cada uno es HTML real (un botón es un <button>, un enlace un <a>); en el escritorio, controles nativos.
67/67
componentes de shadcn/ui portados
99.5–100%
de píxeles iguales al render de shadcn/ui
12
temas de color, claro y oscuro
Crea una cuenta
Escribe tu correo para crear tu cuenta.
Notificaciones
Resúmenes por correo
Notificaciones push
Solo menciones
Cambia aquí los datos de tu cuenta. Guarda cuando termines.
Guardar cambios
Miembros del equipo
Owner
SD
Sofia Davis
m@example.com
Member
JL
Jackson Lee
p@example.com
Viewer
IN
Isabella Nguyen
i@example.com
Progreso de subida
Botones y badges
Badge
Secondary
Outline
Destructive
Explorar Cosmo
Aioros.Pictor · Recharts en XAML

Las gráficas de Recharts, sin JavaScript tuyo

Toda la API de Recharts 2.15.4 en XAML: el servidor la escribe como SVG, es interactiva con CSS y el script del framework, se actualiza en vivo cuando el servidor envía datos nuevos y se dibuja nativa en el escritorio.
12
tipos de gráfica, cada export de Recharts
96×
más rápido que el render de servidor de Recharts
2.15.4
versión de Recharts cuya API sigue
Page BPage DPage EPage G

Page A

  • Uv : 4000
  • Pv : 2400

Page B

  • Uv : 3000
  • Pv : 1398

Page C

  • Uv : 2000
  • Pv : 9800

Page D

  • Uv : 2780
  • Pv : 3908

Page E

  • Uv : 1890
  • Pv : 4800

Page F

  • Uv : 2390
  • Pv : 3800

Page G

  • Uv : 3490
  • Pv : 4300
Page BPage CPage DPage EPage G

Page A

  • Uv : 4000
  • Pv : 2400

Page B

  • Uv : 3000
  • Pv : 1398

Page C

  • Uv : 2000
  • Pv : 9800

Page D

  • Uv : 2780
  • Pv : 3908

Page E

  • Uv : 1890
  • Pv : 4800

Page F

  • Uv : 2390
  • Pv : 3800

Page G

  • Uv : 3490
  • Pv : 4300
Áreas
Page BPage DPage EPage F

Page A

  • Amt : 1400
  • Pv : 800
  • Uv : 590

Page B

  • Amt : 1506
  • Pv : 967
  • Uv : 868

Page C

  • Amt : 989
  • Pv : 1098
  • Uv : 1397

Page D

  • Amt : 1228
  • Pv : 1200
  • Uv : 1480

Page E

  • Amt : 1100
  • Pv : 1108
  • Uv : 1520

Page F

  • Amt : 1700
  • Pv : 680
  • Uv : 1400
Page BPage CPage DPage EPage F

Page A

  • Amt : 1400
  • Pv : 800
  • Uv : 590

Page B

  • Amt : 1506
  • Pv : 967
  • Uv : 868

Page C

  • Amt : 989
  • Pv : 1098
  • Uv : 1397

Page D

  • Amt : 1228
  • Pv : 1200
  • Uv : 1480

Page E

  • Amt : 1100
  • Pv : 1108
  • Uv : 1520

Page F

  • Amt : 1700
  • Pv : 680
  • Uv : 1400
Compuesta
MathChineseEnglishGeographyPhysicsHistory
Radar
Explorar Pictor
Aioros.Graphs · d3 en C#

El motor de dibujo de d3, byte a byte

Escalas, formas, curvas, jerarquías, chords, sankeys y fuerzas portadas de d3 y probadas contra la salida del propio d3: los mismos datos de trazado SVG, byte a byte, escritos con structs y spans de C# sin asignar memoria por punto.
19/19
gráficas idénticas a d3, byte a byte
2.7×
más rápido que d3 en esas gráficas
3.8×
más rápido en 52 micro-benchmarks
Red de fuerzas
Sunburst de partición
Diagrama de cuerdas
Empaquetado de círculos
Árbol ordenado
Streamgraph
Explorar Graphs
Comparativa

Un stack en lugar de dos

Lo que un equipo escribe y mantiene al día, lado a lado.
Stack web + stack de escritorio
App en web view
Aioros
Códigos que mantener al día
2
1
1
JavaScript que escribir
Mucho
Mucho
Nada
Renderizado nativo en escritorio
Páginas renderizadas en el servidor e indexables
Actualizaciones en vivo sin código de cliente
Hot reload en web y escritorio
Plataformas y roadmap

Hoy y lo que sigue

Las mismas páginas en cada destino que Aioros soporta, y en los que vienen.
Web
Disponible
Windows
Disponible
macOS
Disponible
Linux
Disponible
Android
Próximamente
iOS
Próximamente
Preview: web, Windows, macOS y Linux
Design time para personas y agentes
Android e iOS
Versión 1.0
Preguntas frecuentes

Preguntas, respondidas

¿Tengo que escribir JavaScript?
No. Las páginas son XAML y C#. El framework incluye un script pequeño para navegación, actualizaciones en vivo y motion, y cada página funciona sin él.
¿Cómo se convierte una página XAML en HTML?
Cada página se traza una vez en un plan que escribe su HTML y CSS directo desde los view models, así que una solicitud casi no trabaja.
¿Puedo traer mi XAML existente?
Sí. Aioros entiende el XAML de Avalonia, con sus controles, estilos, bindings y view models.
¿Está listo para producción?
Es una preview: el framework y sus librerías están probados y medidos, y sus APIs aún pueden cambiar antes de la 1.0.
¿En qué corre?
.NET 10 en el servidor y el escritorio: cualquier navegador en la web, y ventanas nativas en Windows, macOS y Linux.
Empezar

Construye tu próxima app en XAML

Una plantilla con un dashboard real, un servidor de desarrollo con hot reload y un solo código para la web y el escritorio.
bash
$
dotnet new install Aioros.Cosmo.Templates
$
dotnet new cosmo -n MyApp
$
cd MyApp && aioros dev
✓ Ready on http://localhost:3000 · hot reload on
1
Instala las plantillas
dotnet new install Aioros.Cosmo.Templates
2
Crea una app
dotnet new cosmo -n MyApp
3
Ejecútala con hot reload
cd MyApp && aioros dev
Agrega --desktop para abrir la misma app como ventana nativa.