Guide/guides

用語集

Guren のドキュメントで頻出する言葉を、初学者向けに短くまとめます。ここにない用語は各ガイドの文脈で補足しています。

用語集

Guren のドキュメントで頻出する言葉を、初学者向けに短くまとめます。ここにない用語は各ガイドの文脈で補足しています。

スタック

  • Bun: JavaScript/TypeScript のランタイム。bun run でスクリプトを実行し、bunx で CLI ツールを起動します。
  • Hono: 軽量な HTTP サーバーフレームワーク。Guren は Hono の上にルーティングやコントローラーを載せています。
  • Inertia.js: サーバーからページデータ(props)を返し、SPA 的に画面遷移する仕組み。API と SPA の間をつなぐ橋渡し役。
  • React: UI を作るライブラリ。Guren のビューは React コンポーネントで書きます。
  • Vite: フロントエンドのビルド/開発サーバー。bun run dev の裏で Vite が起動します。
  • Drizzle ORM: TypeScript 向けの型安全 ORM。Guren のモデルは Drizzle のスキーマに接続します。

アプリの構造

  • MVC: Model / View / Controller の分離設計。Guren の基本構造です。
  • Route(ルート): パスと HTTP メソッドを、処理(コントローラーや関数)に結びつける定義。
  • Controller(コントローラー): リクエストを受け取り、モデルでデータを扱い、レスポンスを返すクラス。
  • Model(モデル): DB テーブルと紐づくクラス。static table で Drizzle スキーマに接続します。
  • View(ビュー): resources/js/pages/ に置く React ページ。this.inertia() で指定します。
  • Middleware(ミドルウェア): リクエストの前後に挟み込む処理(認証、ログ、検証など)。
  • Provider(プロバイダー): アプリ起動時に設定やサービスを登録する仕組み。
  • Context(コンテキスト): Hono の Context。リクエスト情報やレスポンス生成に使います。

データベース

  • ORM: テーブルをクラスとして扱う仕組み。SQL を直接書かずに操作できます。
  • Schema(スキーマ): テーブル定義。db/schema.ts に書きます。
  • Migration(マイグレーション): スキーマ変更の履歴を SQL ファイルとして管理する方法。
  • Seeder(シーダー): テストやデモ用のデータを投入するスクリプト。
  • Database URL: DB 接続文字列。.envDATABASE_URL に設定します。
  • RQB(Relational Query Builder): Drizzle のクエリビルダー。複雑な JOIN や集計に使います。
  • Eager Load(イーガーロード): 関連データをまとめて取得すること。with() などで指定します。

フロントエンド

  • SPA: ページ遷移で画面全体を再読み込みしないアプリ。
  • SSR: サーバー側で HTML を生成して返す方式。初回表示が速くなります。
  • Props(プロップス): コンポーネントに渡すデータ。Inertia ではサーバーが props を返します。
  • HMR: ホットリロード。変更を保存すると画面が即時更新されます。
  • Inertia ページ: resources/js/pages/ に置く React コンポーネント。通常は pages.posts.Index のような page definition を通して this.inertia() で参照します。pages.guren/pages.gen.ts から codegen で自動生成されます。

CLI

  • create-guren-app: 新規アプリのひな形を作る CLI。
  • guren CLI: bunx guren make:* などの開発用コマンド群。

まずはここから