概要
- 副業プロジェクト として自作アプリ開発を決意した体験談
- 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ジェネレータで効率化
- タグ機能 など実例に基づく開発プロセスの紹介
- 現代的な開発手法とレトロな楽しさの両立