Aioros を選ぶ理由
ライブ
開発体験
ギャラリー
Cosmo
Pictor
Graphs
日本語
English
Español
简体中文
日本語
はじめる
Aioros
Aioros を選ぶ理由
ライブ
開発体験
ギャラリー
Cosmo
Pictor
Graphs
プレビュー · オープンソース
XAML を書いて、
本物の HTML を届ける。
Web サイトのように読み込まれる Web アプリ。WebAssembly も、ブラウザーのランタイムも、書く JavaScript もありません。同じコードが Windows、macOS、Linux のネイティブアプリにもなり、どちらでもホットリロードが使えます。
はじめる
ライブで見る
毎秒リクエスト数
1,470
レイテンシ中央値
21.1 ms
シミュレーションのトラフィック。サーバーで毎秒計算しています。
XAML 保存 · 28 ms
JavaScript 0 行
サーバーからライブ配信
ひとつのコードで、すべての画面に
Web
Windows
macOS
Linux
Android · 予定
iOS · 予定
.NET 10
C#
XAML
Aioros.Cosmo
Aioros.Pictor
Aioros.Graphs
Web
Windows
macOS
Linux
Android · 予定
iOS · 予定
.NET 10
C#
XAML
Aioros.Cosmo
Aioros.Pictor
Aioros.Graphs
課題
ひとつのプロダクトに、ふたつのスタック
チームは Web サイトをあるスタックで、デスクトップアプリを別のスタックで作るか、Web サイトを Web ビューで包んで「ネイティブ」と呼びます。足並みをそろえ続けるふたつのコードベースか、どこか馴染まないひとつのアプリか。
Web アプリ
コンポーネントとクライアントの状態 · クライアント向けの API 層 · バンドラーとその設定 · ハイドレーション
ネイティブアプリ
別の UI ツールキット、しばしば別の言語 · 独自のナビゲーションとデータ読み込み · あるいはブラウザーを同梱する Web ビュー
Aioros なら
ひとつの XAML ページとそのビューモデル · サーバーで読み込み、Web では HTML として描画 · 同じページがデスクトップではネイティブに
ひとつの XAML、すべてのターゲット
書いたページが、そのまま届くページ
ページは XAML とビューモデル。サーバーはそれをプランにコンパイルして HTML と CSS を返し、デスクトップは同じ XAML をネイティブに実行します。コードの隣のカードは、そのコードをいまご覧のサーバーが描画したものです。
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>
Web · ライブ
デスクトップ · ネイティブ
週次レポート
毎週月曜日にチームへ送信。
グラフを含める
保存
同じ XAML を、デスクトップでネイティブに描画。
サーバーからライブで
見ている間にも届く
ホストされたサービスが毎秒時を刻み、データキーを無効化します。それを読むビューだけが再描画され、サーバーが開いているすべてのページへ届けます。
WebSocket のコードも、クライアントの状態も、あなたの JavaScript もいりません。
毎秒リクエスト数
1,470
レイテンシ中央値
21.1 ms
オンラインの訪問者
3,456
リクエスト数(直近 60 秒)
05
15
25
35
45
55
600
900
1200
1500
1800
05
15
25
35
45
55
600
900
1200
1500
1800
シミュレーションのトラフィック。サーバーで毎秒計算しています。
開発体験
ファイルを保存すれば、変更が見える。
本格的なフレームワークに Web 開発者が期待するツールを、Web とデスクトップの XAML に。
Pages/Page.axaml
<StackPanel Spacing="12">
<TextBlock Text="Hello, world" />
<TextBlock Text="Hello, Aioros" />
</StackPanel>
編集して、すぐ見る
Hello, world
Hello, Aioros
保存 · 28 ms
両方でホットリロード
XAML の編集は約 30 ms、C# の編集は約 75 ms で画面に反映。Web でもデスクトップでも、スクロール・フォーカス・入力内容はそのまま。
XAML の行でエラー
ビルドの失敗やページの例外は、ファイルと行を示すオーバーレイをページ上に表示。直せば消えます。
aioros dev
ひとつのコマンドでホットリロード付きの実行、空きポートの検出、ビルドの報告まで。Web 向けにも、--desktop でも。
ビルド時にチェック
アナライザーとコード修正が、本番でページを壊すものを実行前に検出。サーバーがコンパイルできないページは、その行でビルドを失敗させます。
パフォーマンス
最初のリクエストの前にコンパイル済み
ページは一度だけトレースされ、ビューモデルから直接 HTML を書き出すプランになります。同じマシンで、各スタックで作った同じアプリと比較して計測。
10.2×
キャッシュ有効のサーバーレンダリング Next.js より高速
7.8×
Blazor の静的サーバーレンダリングより高速
2.1×
Go で書いた同じアプリより高速
4.3×
Rust(Leptos)で書いた同じアプリより高速
ページごとの毎秒リクエスト数
Lumen(5 つのスタックで作った課題管理アプリ)、64 接続、サーバー 4 コア、ベンチマーク第 241 回(2026 年 10 月)。5 ページの幾何平均。
/issues/LUM-105
/settings
/inbox
/issues
/projects
85,620
57,961
53,943
31,917
16,378
/issues/LUM-105
/settings
/inbox
/issues
/projects
85,620
57,961
53,943
31,917
16,378
/issues/LUM-105
/settings
/inbox
/issues
/projects
85,620
57,961
53,943
31,917
16,378
すべて込み
本格的なフレームワークの条件
描画、データ、モーション、多言語、アクセシビリティ。すべて組み込みで、どのターゲットでも同じ。
28 ms
どこでもホットリロード
XAML や C# を保存すると、開いているページとウィンドウが状態を保ったまま更新。
標準でライブ
データキーを無効化すれば、それを読むビューがすべての画面で更新。
あなたに合わせるテーマ
端末に合わせたライトとダーク。訪問者ごとに、ちらつきなし。
Hello
Hola
你好
こんにちは
あらゆる言語
カルチャーごとのリソース、言語ごとのアドレス、すべてプリコンパイル。
Tab ↹
アクセシブルなマークアップ
ネイティブ要素、ランドマーク、ラベル、フォーカスを XAML から生成。
本物のデスクトップアプリ
Web ビューではなく、ネイティブのウィンドウと描画で、同じページを。
Aioros.Cosmo · XAML の shadcn/ui
shadcn/ui のすべてのコンポーネントを XAML で
67 のコンポーネントすべてを、バリアント、デザイントークン、ライトとダークの 12 のカラーテーマとともに。Web ではどれも本物の HTML(ボタンは <button>、リンクは <a>)、デスクトップではネイティブコントロールです。
67/67
移植済みの shadcn/ui コンポーネント
99.5–100%
のピクセルが shadcn/ui 本家の描画と一致
12
のカラーテーマ(ライトとダーク)
アカウントを作成
下にメールアドレスを入力してアカウントを作成します。
メール
パスワード
利用規約に同意します
アカウントを作成
本番環境にデプロイしました
サーバーの起動前に、すべてのページがプランにコンパイルされました。
通知
メールダイジェスト
プッシュ通知
メンションのみ
アカウント
パスワード
ここでアカウントを変更できます。終わったら保存してください。
変更を保存
ここでパスワードを変更できます。保存するとログアウトします。
変更を保存
チームメンバー
Owner
SD
Sofia Davis
m@example.com
Member
JL
Jackson Lee
p@example.com
Viewer
IN
Isabella Nguyen
i@example.com
アップロードの進行状況
ボタンとバッジ
Button
Secondary
Outline
Ghost
Badge
Secondary
Outline
Destructive
Cosmo を見る
Aioros.Pictor · XAML の Recharts
Recharts のグラフを、JavaScript を書かずに
Recharts 2.15.4 の API 全体を XAML で。サーバーが SVG として書き出し、CSS とフレームワークのスクリプトで操作でき、サーバーが新しいデータを送るとライブで更新され、デスクトップではネイティブに描画されます。
12
種類のグラフ、Recharts のすべてのエクスポート
96×
Recharts のサーバーレンダリングより高速
2.15.4
API を踏襲する Recharts のバージョン
Page B
Page D
Page E
Page 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 B
Page C
Page D
Page E
Page 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 B
Page D
Page E
Page 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 B
Page C
Page D
Page E
Page 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
複合
Math
Chinese
English
Geography
Physics
History
レーダー
Pictor を見る
Aioros.Graphs · C# の d3
d3 の描画エンジンを、バイト単位で
d3 から移植したスケール、シェイプ、カーブ、階層、コード、サンキー、フォースを、d3 自身の出力と照合してテストしています。SVG のパスデータはバイト単位で同じで、C# の構造体と span によって点ごとのメモリ割り当てなしに書き出されます。
19/19
のグラフが d3 とバイト単位で一致
2.7×
それらのグラフで d3 より高速
3.8×
52 のマイクロベンチマークで高速
フォース有向グラフ
パーティションのサンバースト
コードダイアグラム
円パッキング
整列ツリー
ストリームグラフ
Graphs を見る
ギャラリー
作れるもの
ダッシュボード、チャート、フォーム、図形。ここではサーバーで描画され、デスクトップではネイティブに。
Revenue
$15,231
+20.1%
Users
2,350
+180
Active
573
+201
Cosmo のダッシュボード
Pictor のチャート
Remember me
Sign in
Cosmo のフォーム
Graphs の図形
ギャラリーを開く
比較
2 つのスタックを 1 つに
チームが書き、そろえ続けるものを並べて比較。
Web スタック + デスクトップスタック
Web ビューアプリ
Aioros
そろえ続けるコードベース
2
1
1
書く JavaScript
大量
大量
なし
デスクトップのネイティブ描画
サーバーレンダリングでインデックス可能
クライアントコードなしのライブ更新
Web とデスクトップでホットリロード
プラットフォームとロードマップ
いまと、これから
Aioros が対応するすべてのターゲットで同じページを。対応先は広がり続けます。
Web
対応済み
Windows
対応済み
macOS
対応済み
Linux
対応済み
Android
予定
iOS
予定
プレビュー:Web、Windows、macOS、Linux
人とエージェントのためのデザインタイム
Android と iOS
バージョン 1.0
よくある質問
疑問にお答えします
JavaScript を書く必要はありますか?
いいえ。ページは XAML と C# です。ナビゲーション、ライブ更新、モーション用の小さなスクリプトはフレームワークに含まれ、それがなくてもページは動きます。
XAML ページはどうやって HTML になるのですか?
各ページは一度だけトレースされ、ビューモデルから直接 HTML と CSS を書くプランになるので、リクエストごとの処理はほとんどありません。
既存の XAML は使えますか?
はい。Aioros は Avalonia の XAML を、そのコントロール、スタイル、バインディング、ビューモデルごと扱えます。
本番で使えますか?
現在はプレビューです。フレームワークとライブラリはテストと計測を経ていますが、1.0 までに API が変わる可能性があります。
何の上で動きますか?
サーバーとデスクトップは .NET 10。Web はあらゆるブラウザー、デスクトップは Windows・macOS・Linux のネイティブウィンドウ。
はじめる
次のアプリを XAML で
本物のダッシュボード付きテンプレート、ホットリロード対応の開発サーバー、そして Web とデスクトップに共通のコード。
はじめる
ギャラリーを開く
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
テンプレートをインストール
dotnet new install Aioros.Cosmo.Templates
2
アプリを作成
dotnet new cosmo -n MyApp
3
ホットリロードで実行
cd MyApp && aioros dev
--desktop を付けると、同じアプリがネイティブウィンドウで開きます。