What is Webxdc?
ミニアプリ(Webxdc)とは?
HTML / JavaScriptで作られた小さなアプリを、デルタチャットの会話の中でそのまま動かす仕組みです。実体は .xdc = ZIP(index.html, CSS, JS, manifest.toml, icon)。デルタチャットがネットワーク遮断したWebViewで実行し、データ共有はチャット自体のメール配送で行います。
my-app.xdc (ZIP)
├─ index.html → <script src="webxdc.js">
├─ app.js / style.css
├─ manifest.toml
└─ icon.png
※ webxdc.jsはDelta Chatが注入
How it works
どう動く? 3ステップ
① 配布
.xdcをチャットに添付
.xdcをチャットに添付
→
② 起動
StartタップでWebView起動
ネットワークOFF
StartタップでWebView起動
ネットワークOFF
→
③ 同期
sendUpdateで自動共有
メールで配送
sendUpdateで自動共有
メールで配送
- URL発行・ストア申請不要。送るだけで配布完了
- インターネットへの通信は技術的にブロック。外部送信ゼロ
- 各端末で独立起動、操作はメール経由で全員に届く
Architecture
従来型とWebxdcで何が違う?
従来のWebアプリ / LINEミニアプリ
ユーザー ↔ クラウドサーバー/DB ↔ ユーザー
- サーバー・DB・ドメインが必須、維持費がかかる
- 個人情報が外部サーバーへ、トラッキングの懸念
- ネットが切れると停止、閉域網では使えない
Delta Chat + Webxdc
ユーザー → メール配送(E2E) → ユーザー
チャットがトランスポート
チャットがトランスポート
- 専用アプリサーバー不要、.xdcを送るだけで即利用
- ネットワーク遮断により、アプリからの外部通信を防止
- ローカルSMTP/IMAP、メッシュWi-Fiでも動作
同期の仕組み:sendUpdate / setUpdateListener
[端末A] sendUpdate({payload:{vote:"A"}, info:"Kawaさんが投票"})
↓ Delta Chatのメール配送 (SMTP/IMAP + E2E暗号化)
[端末B] setUpdateListener((updates)=>{ render(updates) })
↓ チャットには info が「Kawaさんが投票しました」と履歴表示
payloadは任意のJSON。通信コードを書かなくても全員に届く。
Benefits
6つのメリット
🔒
① プライバシー最優先
Webxdcアプリからの外部通信を制限し、 トラッキングリスクを大幅に低減。
☁️✕
② 専用アプリサーバー不要・ゼロコスト
専用アプリサーバーやデータベース運用が不要。ファイル配布だけで全員が使える。
🔄
③ 自動で状態共有
sendUpdateで送り、setUpdateListenerで受けるだけ。投票、ToDo、スコアが自動で同期。
📡
④ オフライン・閉域網で強い
社内LAN、工場ネットワーク、避難所のメッシュWi-Fi、イベント会場。ネットがなくても動く。
📦
⑤ チャットで配布
URLやQRは不要。チャットに送るだけ。受け取った人はStartタップで即起動。
📱
⑥ ストア不要・全OS対応
Android / iOS / Windows / macOS / Linuxで同一動作。App Store審査なしで社内配布も自由。
Comparison
他の仕組みとの比較
| 項目 | 一般的なチャット + Webアプリ | Telegram Mini App | Delta Chat + Webxdc |
|---|---|---|---|
| 配布 | URL / ストア審査 | Bot経由URL | チャットに.xdc送信だけ |
| 専用アプリサーバー | 必須 | 必須 | 不要 |
| 外部送信/追跡 | 可能 | 可能 | Webxdcアプリからの任意通信は制限 |
| オフライン | 不可 | 不可 | アプリ実行 → 可 / 更新同期 → 不可 |
| 閉域網利用 | △ 要開発 | 不可 | ◎ ローカルメールで可 |
| 同期 | 自前実装 | 自前実装 | sendUpdateで自動 |
| E2E暗号化 | サービス依存 | サービス依存 | 標準対応 |
| 開発の容易さ | - | - | HTML/CSS/JavaScriptだけ |
| ストア登録 | 必要 | 不要/審査あり | 不要 |
Use Cases
こんな場面で活躍
🏢 業務・受付・現場
- 来訪受付 → 担当呼出 → 来館記録を1つのアプリで
- 備品購入依頼の重複防止(備品Hub)
- 在席確認、進捗共有、点検記録、工場LAN対応
🚨 防災・イベント
- 安否確認、避難所受付、物資管理
- インターネットが使えない会場でも日程調整や情報共有
Interactive
遊び・合意形成も得意
🎮 リバーシ / チェス / 五目並べ
📊 投票 / アンケート
📝 共同ToDo / カンバン
🗺️ 地図メモ
🎨 お絵かき伝言
実装イメージ
<script src="webxdc.js"></script>
<script>
// 投票を送る
webxdc.sendUpdate({
payload:{ vote:"A" },
info:"Kawaさんが投票"
});
// 全員の更新を受ける
webxdc.setUpdateListener((u)=>{
u.forEach(x=> render(x.payload));
});
</script>
Note
知っておきたいこと
- サイズは軽量に:メール添付で配布するため数MB以内推奨
- 外部通信不可:プライバシーの代わりに外部APIは呼べない
- 更新は再配布:新しい.xdcをチャットに送り直す
- 保存は自前:localStorageやsendUpdate履歴から復元する設計に
One Line
最大の特徴を一言で
チャットに送るだけで、
専用アプリサーバー不要で
アプリが配布・共有できる。
Web技術だけで開発でき、プライバシーを重視しながら、オフライン環境や閉域網でも活用できる。
Webxdcはメール配送を利用した分散同期型ミニアプリ基盤であり、受付・防災・現場業務の新しい選択肢となる。
メールという既存インフラを活用し、専用サーバーに依存しないミニアプリを実現する仕組み。受付・防災・現場でクラウドに頼らない選択肢になります。