TL;DR
MoonBit の Web フレームワーク。JavaScript バックエンドとネイティブバックエンドの両方をサポートしている。
仕組み
MoonBit のプロジェクトを作り、依存に oboard/mocket を追加して使う。
moon new mocket_example
moon add oboard/mocket@mocket.new() でアプリケーションを作り、ルートを登録してから serve で起動する。機能ごとの詳細は次のページにまとめている。
- Routing -- Mocket
- Responder -- Mocket
- Body Reader -- Mocket
- Middleware -- Mocket
- Cookie -- Mocket
- WebSocket -- Mocket
例
cmd/main/main.mbt に次のように書く。
fn main {
let app = @mocket.new()
app.get("/", _ => "Hello, Mocket!")
app.group("/api", group => group.get("/status", _ => (
{ "status": "ok" } : Json)))
app.serve(port=4000)
}--target でバックエンドを選んで実行する。どちらのバックエンドでもページが表示された。
# JavaScript バックエンド
moon run cmd/main --target js
# ネイティブバックエンド
moon run cmd/main --target native自分の理解
名前から、Rust の Web フレームワークである Rocket にインスパイアされているのかもしれない。