Rails 8は、開発者の生産性向上とデプロイメントの簡素化を目指し、以下の主要な特徴を備えています。
- Kamal 2とThrusterによるデプロイメントの簡素化 Rails 8には、Kamal 2という新しいデプロイメントツールが組み込まれており、クラウドVMや自社サーバーへのデプロイが容易になりました。Kamal 2は、Linuxサーバーを単一のコマンドでアプリケーションサーバーに変換し、数分で本番環境への移行を可能にします。さらに、Thrusterという新しいプロキシが導入され、Pumaウェブサーバーの前に配置されることで、X-Sendfileアクセラレーション、アセットキャッシング、アセット圧縮が可能となり、Nginxなどの外部ウェブサーバーが不要になります。
- Solidアダプターによる外部サービス依存の削減 Rails 8では、Solid Cable、Solid Cache、Solid Queueという3つの新しいSQLiteベースのアダプターが導入され、RedisやMemcachedなどの外部サービスへの依存が減少しました。これにより、WebSocket通信、キャッシュ、ジョブキューの機能をSQLite上で実現でき、開発環境のセットアップが大幅に簡素化されました。
- Propshaftによるアセットパイプラインの簡素化 従来のSprocketsに代わり、Propshaftがデフォルトのアセットパイプラインとして採用されました。Propshaftは、アセットのロードパスとダイジェスト付きのスタンプを簡単に管理し、よりシンプルな構成でアセット管理が可能となります。
-
認証システムの自動生成 Rails 8では、
bin/rails generate authentication
コマンドを使用することで、セッションベースの認証システムを自動的に作成できます。これにより、開発者は最小限の作業で堅牢な認証機能を導入できます。
これらの新機能により、Rails 8は開発者にとってより使いやすく、効率的なフレームワークとなっています。