概要
- Rails 8での Vite導入 によるモダンな開発環境の紹介
- React や TypeScript などの最新フロントエンド技術との統合
- 開発効率化のための 多数のツール 導入の流れ
- シンプルなRails構成との 比較と皮肉
- 最終的な結論としての Vanilla Rails の魅力
ViteとRails 8のモダン開発環境
- Vite はRails 8向けの超高速ビルドツール
- Node と npm のインストールが前提
- 最新のフロントエンド技術との連携が容易
- React 導入でリアクティブなUI開発
- React Refresh でコンポーネントの即時リロード
- TypeScript 対応には追加設定が必要
- Babel と .babelrc の設定が必須
- vite-plugin-ruby でRailsとの連携
- スタイル管理に PostCSS や Tailwind CSS を推奨
- コード品質維持のため ESLint と Prettier 導入
- Husky でpre-commitフックを追加
サーバーサイドレンダリング・リアクティブ機能の追加
- サーバーサイドレンダリングには Next.js や Remix を利用
- StimulusReflex や Hotwire でJSフレームワーク不要のリアクティブ機能
- ActionCable の設定
- Redis によるpub/subレイヤー
- Docker と Docker Compose で依存関係を隔離
- Fly.io でのデプロイや GitHub Actions によるCI/CDパイプライン構築
モダン開発環境の複雑さとVanilla Railsの対比
- モダンな開発環境は 多層的なツールチェーン と設定作業
- 例:Vite, React, Babel, PostCSS, Tailwind, ESLint, Prettier, Husky, Docker, Redis, etc.
- Vanilla Rails はコマンド一発で即起動
- フォームもナビゲーションも 高速・シンプル
- 複雑な構成 を皮肉りつつ、 Rails本来の強み を再評価
結論:Just F#$%^& use Rails
- モダン技術の導入は便利だが シンプルさも重要
- Rails単体 で十分な開発体験とパフォーマンス
- 余計な複雑化 を避け、必要に応じて技術選定する姿勢