English | 한국어 | 简体中文 | 日本語 | Português
このドキュメントでは、このフルスタックスターターテンプレートにおける各技術選択の理由を説明します。
- サーバーコンポーネント:クライアント側 JavaScript バンドルを削減し、初期読み込み時間を改善
- App Router:レイアウト、ローディング状態、エラーバウンダリが組み込まれたファイルベースのルーティング
- Turbopack:Webpack と比較して高速な開発サーバーとビルド
- React 19:並列機能、アクション、
use()フックによるパフォーマンス向上
- ゼロランタイム:すべてのスタイルがビルド時にコンパイル
- Lightning CSS:PostCSS ベースの v3 より 100 倍高速
- CSS ファースト設定:JavaScript 設定ではなくネイティブ CSS 構文
- 小さなバンドル:未使用スタイルの自動削除
- コピーペーストコンポーネント:npm 依存なし、コードの完全な所有権
- Radix プリミティブ:デフォルトでアクセシブル(ARIA、キーボードナビゲーション)
- Tailwind ネイティブ:プロジェクトのスタイリングアプローチと一致
- カスタマイズ可能:デザインシステムと対立せずに簡単に変更可能
- 自動キャッシュ:重複排除、バックグラウンド再フェッチ、stale-while-revalidate
- DevTools:デバッグ用の組み込みクエリインスペクター
- フレームワーク非依存:同じメンタルモデルが React Native でも使用可能
- オプティミスティックアップデート:レスポンシブ UI へのファーストクラスサポート
- ボトムアップアトミックモデル:アトムを組み合わせて状態を構築し、アトム依存に基づいてレンダリングを最適化
- 不要な再レンダリングなし:変更されたアトムを購読しているコンポーネントのみ再レンダリング
- TypeScript ファースト:優れた型推論
- 軽量:約 3KB、基本的な使用ではプロバイダー不要
- ヘッドレス&コンポーザブル:型安全なモジュールフォーム構成のための
withFormHOC パターン - 型安全:フォーム値とバリデーションのフル TypeScript 推論
- シンプルなインターフェース:React Hook Form や Formik と比較してクリーナーな API
- AI/ML エコシステム:Python の AI ライブラリ(LangChain、Transformers など)に直接アクセス
- 非同期ファースト:Starlette 上に構築され、ネイティブの async/await サポート
- 自動生成ドキュメント:OpenAPI(Swagger)と ReDoc をすぐに使用可能
- Pydantic バリデーション:型ヒントを使用したリクエスト/レスポンスバリデーション
- スケーラビリティ:ステートレス設計による簡単な水平スケーリング
- ORM の柔軟性:必要に応じて生の SQL を書き、便利な場合は ORM を使用
- 非同期サポート:asyncpg ドライバーによるネイティブな asyncio サポート
- マイグレーション対応:Alembic 統合によるスキーマバージョニング
- 成熟したエコシステム:何十年もの実戦テスト
- ACID コンプライアンス:データ整合性を保証
- JSON サポート:柔軟な半構造化データ用の JSONB
- ベクトル拡張:AI 埋め込みと類似性検索用の pgvector
- パフォーマンス:高度なクエリプランナー、並列クエリ、パーティショニング
- 拡張:PostGIS、全文検索が組み込み
- サブミリ秒レイテンシー:インメモリデータ構造ストア
- 多用途:キャッシュ、セッションストア、pub/sub、レート制限
- 永続化オプション:RDB スナップショットまたは AOF で耐久性を確保
- クラスタサポート:必要に応じて水平スケーリング
- S3 互換:AWS S3 API のドロップイン置き換え、本番クラウドストレージへのシームレスな移行
- ローカル開発:本番環境と同じ API、開発中のベンダーロックインなし
- セルフホスト:Docker/Podman でローカル実行、外部依存やサービスアカウント不要
- オープンソース:データの完全なコントロールを持つエンタープライズグレードのオブジェクトストレージ
- 韓国 eGovFrame v5:韓国電子政府標準フレームワークにより公式モバイルフレームワークとして選定
- 柔軟なバージョニング:プロジェクトごとに Flutter/Dart バージョンを簡単に固定およびアップグレード
- ホットリロード:開発中のサブ秒単位の UI イテレーション
- ネイティブパフォーマンス:ARM にコンパイル、JavaScript ブリッジなし
- コンパイル時安全性:依存関係がコンパイル時にチェック
- テスト可能:簡単にモックして分離してテスト
- コンテキスト不要:BuildContext なしでどこからでも状態にアクセス
- コード生成:riverpod_generator でボイラープレートを削減
- 宣言的ルーティング:Web のような URL ベースのナビゲーション
- ディープリンク:iOS/Android ですぐに動作
- 型安全:コード生成されたルートパラメータ
- ネストされたナビゲーション:ボトムナビ、タブのためのシェルルート
- Flutter の shadcn/ui:Web(shadcn/ui)と一貫したデザイン言語
- カスタマイズ可能:Tailwind のようなトークンシステムでテーマ可能なコンポーネント
- アクセシブル:モバイルのための ARIA 相当のセマンティクス
- 軽量:重い依存関係なし、ただのウィジェット
- リアルタイムクラッシュレポート:本番問題への即時可視性
- ブレッドクラム:クラッシュに至るユーザーアクション
- スタックシンボリケーション:読みやすい Flutter スタックトレース
- フリーティア:ほとんどのアプリにとって寛大な制限
- 自動リリース:ワンコマンドでビルド、署名、デプロイ
- クロスプラットフォーム:iOS と Android で同じワークフロー
- CI 統合:GitHub Actions とシームレスに連携
- メタデータ管理:スクリーンショット、説明、変更ログ
- インフラストラクチャ as Code:バージョン管理され、レビュー可能なインフラ変更
- 宣言的:望ましい状態を記述し、残りは Terraform に任せる
- 状態管理:何がデプロイされたかを追跡し、適用前に計画
- モジュール:再利用可能、共有可能なインフラコンポーネント
- 寛大なフリーティア:新規アカウントに $300 クレジット、多くのサービスで永続無料ティア
- サーバーレスコンテナ:サーバー管理不要、ゼロにスケーリング
- 従量課金:リクエスト処理時のみ課金
- マネージドデータベース:自動バックアップ、HA、メンテナンス
- グローバル CDN:静的アセットと API キャッシュ用の Cloud CDN
- キーレスデプロイ:管理やローテーションが必要なサービスアカウントキーなし
- ネイティブ GitHub 統合:プッシュ、PR、スケジュールでトリガー
- マトリックスビルド:バージョン/プラットフォーム間での並列テスト
- マーケットプレイス:数千のコミュニティアクション
Rust ベースのツールを選択することで、開発ワークフロー全体で速度を優先:
- Biome:1 つのツールでリンター&フォーマッター、ESLint + Prettier より 100 倍高速
- uv:Python パッケージマネージャー、pip/poetry より 10-100 倍高速
- Turbopack:Next.js バンドラー、Webpack より高速
- Lightning CSS:TailwindCSS v4 コンパイラー、PostCSS より 100 倍高速
- ポリグロットモノレポサポート:Node、Python、Flutter、Terraform — 異なるエコシステム、1 つのツール
- プロジェクトローカルバージョン:
.mise.tomlで OS をまたいだ開発者オンボーディング時に環境を統一 - タスクランナー:Makefile、npm スクリプト、シェルスクリプトを統一された
miseコマンドで置き換え - Rust で記述:即座のツール切り替え、起動オーバーヘッドなし
- 単一リポジトリ:Web(TypeScript)、API(Python)、Mobile(Dart)、Infra(HCL)が一箇所に
- 境界付きコンテキスト:各言語エコシステムがそのディレクトリにスコープされ、クロスコンテミネーションを防止
- アトミックな変更:1 つの PR でフロントエンド+バックエンドの変更
- 統一されたツール:すべてのアプリで同じ
miseコマンド
| 選択 | トレードオフ | なぜ受け入れるか |
|---|---|---|
| Next.js vs Remix/SvelteKit | より大きなバンドル、より複雑 | エコシステム、React 19 互換性 |
| Next.js vs Flutter Web | モバイルから別のコードベース | SEO、SSR、小さなバンドル、Web エコシステム互換性 |
| FastAPI vs Node.js | 2 つのランタイム(Node + Python) | Python AI/ML エコシステム、スケーラビリティ |
| Flutter vs React Native | より大きなアプリサイズ、カスタムレンダリング | 韓国 eGovFrame v5、柔軟なバージョニング |
このスタックは以下を最適化:
- 開発者速度:ホットリロード、型安全性、自動生成されたクライアント
- 本番対応:マネージドサービス、サーバーレススケーリング、CI/CD
- チームスケーラビリティ:明確な境界、共有ツール、ドキュメント
- 長期的な保守性:実証済みの技術、アクティブなコミュニティ