TOMLでスキーマ定義。Rustで関数作成。C言語で構築されたカスタムデータベースエンジンと統合WASMランタイム。エンドツーエンドの型安全性。リアルタイム同期。数秒でデプロイ。
リストに追加されました。
1つのファイルでコレクション、型、認証を定義。バックエンド用のRustとフロントエンド用のTypeScriptを自動生成します。
[collections.task]
title = "string"
done = "bool"
user_id = "ref:User"
[auth]
enabled = true
methods = ["email", "github"] 自動生成された型を使用。認証は組み込みでctx.auth.userでアクセス。関数はWASMにコンパイルされ、データベース内で実行されます。
#[query]
pub fn my_tasks(ctx: &Ctx, user: AuthUser) -> Vec<Task> {
ctx.db.query::<Task>()
.filter(Task::user_id().eq(user.id))
.collect()
} 生成されたSDKをインポート。クエリはライブサブスクリプションで、すべてのクライアント間でリアルタイムに同期されます。
const { data: tasks } = useQuery("my_tasks");
return (
<ul>
{tasks?.map(task => (
<li key={task._id}>{task.title}</li>
))}
</ul>
); コンパイル、デプロイ、同期、生成をワンステップで完了。
$ deploy
Building WebAssembly...
Compiling backend v0.1.0
Finished release [optimized]
Deploying...
Uploading functions ✓
Syncing database schema ✓
Generating TypeScript SDK ✓
✓ Deployed successfully TOMLで定義し、RustとTypeScriptを取得。APIの不一致はもうありません。
OAuth、マジックリンク、セッションをスキーマで設定。ctx.auth.userでアクセス。
すべてのクエリがライブサブスクリプション。更新が即座に反映されます。
コールドスタート1ms未満。Nodeより100倍高速。
コンパイル、デプロイ、同期、生成。コンテナ不要。YAML不要。
Aizuで最初に構築しましょう。
リストに追加されました。