nowaki 0.1.1

A fast full-stack web framework with a Rust toolchain and islands architecture
nowaki-0.1.1 is not a library.

Nowaki (野分) 🌀

Rust製ツールチェーンを核とする、爆速フルスタックWebフレームワーク

License: MIT Status: alpha

Next.js の遅さへの答え — デフォルトでクライアントJSゼロ、Rustバイナリで即起動。


Nowaki とは

Nowaki(野分 = 台風の古語)は、Next.js の構造的な遅さを出発点に設計したフルスタックフレームワークです。バンドラー/変換/開発サーバーを Rust + oxc で構築し、レンダリングは Islands Architecture を採ることで、ページが送るクライアントJSを「島」の分だけに抑えます。

Next.js の課題 Nowaki の回答
next dev の起動が遅い Rustバイナリが即起動・オンデマンド変換(例アプリで起動 ~90ms
HMR が重い oxc によるms級の単一ファイル再変換
ページのJSが肥大化 Islands: 明示した島以外はクライアントJSゼロ
ビルドが遅い oxc minifier・コンテンツハッシュキャッシュ

[!WARNING] Status: alpha. 設計は固まりつつありますが、APIは予告なく変わります。本番利用はまだ推奨しません。

特徴

  • Rustツールチェーン — oxc (parser / transformer / codegen / resolver) 上に構築したオンデマンド変換パイプライン
  • 🏝️ Islands Architecture — デフォルトJSゼロ。islands/ のコンポーネントだけがハイドレートされる
  • 📁 ファイルベースルーティング + Remix風 loader
  • 🔌 npmエコシステム互換 — SSRは Rust が管理する Node サイドカー (Preact) へ委譲

クイックスタート

前提: Rust (stable), Node.js >= 22, pnpm

git clone https://github.com/nowaki-dev/nowaki
cd nowaki
pnpm install
cargo build -p nowaki

# サンプルアプリで開発サーバー起動
./target/debug/nowaki dev examples/hello
# → http://127.0.0.1:3000

# 本番用にビルド(client: content-hash付きESM + manifest / server: SSR用ESM)
./target/debug/nowaki build examples/hello
# → examples/hello/dist/{client,server}/ に出力

# ビルド済みアプリを本番モードで配信
./target/debug/nowaki start examples/hello --port 3000
# → http://127.0.0.1:3000 (静的配信 + prod SSR、HMRなし)

書き味

// routes/index.tsx — loader はサーバーでのみ実行される
import Counter from "../islands/Counter.tsx";

export const loader = async () => {
  return { message: "Nowaki へようこそ" };
};

export default function Home({ data }) {
  return (
    <main>
      <h1>{data.message}</h1>
      <Counter start={5} />   {/* この島だけがクライアントでハイドレートされる */}
    </main>
  );
}

ページ本体と loader のコードはブラウザに送られません。islands/Counter.tsx のJSだけが配信されます。

プロジェクト構成

crates/nowaki-core       バンドラーコア (変換 / 解決 / キャッシュ)
crates/nowaki            CLI + 開発サーバー (axum) + HMR + サイドカー管理
packages/nowaki-runtime  @nowaki-dev/runtime (islandsクライアント / SSRサイドカー / Nodeローダーフック)
examples/hello           サンプルアプリ

設計の詳細・アーキテクチャ図は DESIGN.md、今後の計画は ROADMAP.md を参照してください。

コントリビュート

歓迎します! まずは CONTRIBUTING.md をご覧ください。alpha のうちは、コードを書く前に Issue で方針を相談するのが確実です。

ライセンス

MIT © 2026 Voredge

Built and maintained by Voredge. 「Nowaki」「野分」は台風を意味する日本語の古語です。