2026年にレールに戻る
概要
- 副業プロジェクトとして自作アプリ開発を決意した体験談
- Ruby on Rails 8の現代的な魅力と進化の紹介
- フロントエンド開発の変化とHotwire/Stimulusの活用方法
- 開発ワークフローやレトロな開発手法への回帰
- AI生成コンテンツとの葛藤についての個人的考察
副業プロジェクトから始まるRails再発見
- バンド活動の中でセットリストや曲メモ管理の課題を感じ、自作アプリ開発を決意
- 既存のスプレッドシートやチャットでは十分な使い勝手が得られず、課題解決のための新規開発に着手
- https://setlist.rocksを数ヶ月かけて開発、満足のいく成果を得る
- 趣味的な開発の楽しさを再認識、Feynmanの「The Pleasure of Finding Things Out」に共感
- Ruby on Railsを選択した理由は、純粋な楽しみと「初恋の言語」への回帰
Rubyistとしてのこだわり
- Railsは過去の技術と思われがちだが、個人プロジェクトでは自分の好きな技術を優先
- Rubyの持つ自然な表現力、柔軟なメソッドチェーンやブロック記法の魅力
- PerlからRubyへ移行し、より直感的なコーディング体験を享受
- インフラやDevOps領域でのRuby活用経験、YAMLやHCL主体の現代とは異なる開発体験
- コミュニティの独自性やWhy the Lucky Stiffなどの文化的側面にも愛着
エンジンルーム志向の開発スタイル
- バックエンドやインフラ寄りの開発が本分、フロントエンドにはあまり情熱を持たない
- 90年代のWeb開発経験、HTMLやテーブルレイアウト、Matt’s Script Archiveなどの懐かしさ
- 現代のJSフレームワークやビルドツールには馴染めず、必要最低限の関与に留める姿勢
- フロントエンド開発は趣味ではなく、必要に応じて対応するスタンス
Rails 8:懐かしくも新しい存在
- 長年Railsから離れていたが、Rails 8で再会
- MVC構造やジェネレータなど基本は変わらず、古い経験でもすぐに馴染める設計
- ActiveSupportなどはSinatra等でも活用し続けていた
- 内部構造や周辺技術は大きく進化、特にフロントエンドの扱いが大きく変化
フロントエンドの進化とHotwire/Stimulus
- Webpack不要の「No Build」アプローチがRails 8の大きな特徴
- サーバーサイド生成ページの現代的アプローチを高評価
- **Hotwire(Turbo & Stimulus)**により最小限のJSでSPAライクな体験を実現
- Turbo:リンクやフォーム送信を傍受し、ページ断片のみを差し替え
- Stimulus:必要な動的要素だけを簡単に追加可能
- importmapによるJSライブラリ管理の簡便化
$ bin/importmap pin @stimulus-components/dialogで簡単導入- Webpackやnpm不要で、Rails標準のアセットパイプラインだけで完結
- UIコンポーネントはテンプレートやAI生成案を組み合わせて効率的に構築
- Railsパーシャル活用による再利用性の高いUI設計
AI生成コンテンツとクリエイティビティの葛藤
- AI生成UIコンポーネントの利用に対する複雑な心境
- 音楽やアート、詩など人間らしさの表現はAIに任せたくないという価値観
- コーディングも創作活動のひとつとしてAI利用に葛藤
- Bootstrap等のテンプレート流用とAI生成の違いについての自問
- **今後もAI活用の是非について内省を続ける姿勢
開発ワークフローとRailsの魅力
- **「設定より規約」**の思想で、複雑なXMLや設定不要のシンプルな開発体験
- 短期間で本格的なアプリが構築可能なフロー
- モデル設計から実装までの流れをRailsジェネレータで効率化
- タグ機能など実例に基づく開発プロセスの紹介
- 現代的な開発手法とレトロな楽しさの両立