世界を動かす技術を、日本語で。

2026年にレールに戻る

2026年3月12日原文(markround.com)

概要

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

Hackerたちの意見

Railsは使ったことないけど、「現代の状況」には同意するよ。過去を振り返るんじゃなくて、未来を見ようとしたら、ElixirとPhoenixフレームワークに出会ったんだ。

Rubyでプロジェクトを作ってるって言ったら、ここ数日で5人目だよ、Elixirを勧めてくれたのは。次のプロジェクト(何になるかは分からないけど)で絶対チェックしなきゃ。どうしてそんなに魅力的だと思ったのか、最初に見ておくべき「これすごい!」なポイントを教えてくれない?

RailsのDevOpsをやってて、今は一人でウェブ開発を10年以上やってるけど、またやりたいね。こんなに長く続いてるフレームワークは少ないし、それには理由があるよ。全てが揃ってて、整理されてて生産的だし、読み書きしやすい言語だもん。最近のStackoverflowの調査でも、10年以上経っても「次のプロジェクトで使いたいスタックのトップ5」に戻ってきた!試してみて。

Railsで何かをやってる人たちは、スタックを盛り上げるためにアンケートに答えたりしないと思うんだよね。まあ、俺だけかもしれないけど。だから、他の人がどう思ってるかなんて気にせず、自分に合ったツールを使ってさっさと進めようぜ。

rails = ruby = oo/可変 && 遅い && リソース食い

「一人用フレームワーク」っていうのが大きな魅力だね。これを使ってると、どれだけ生産的になれるかに驚いてるし、コードレベルだけじゃないんだよね。25年以上もsysadminやdevops、アーキテクトの仕事をしてきたけど、今はHA PostgreSQLクラスターを立てたり、Redisのことを考えなくていいのが本当に楽だし、デプロイもほぼ解決済みの問題だよ。

もう20年以上も前からRailsはあるんだよ!2004年に登場したから、Djangoよりちょっと若いくらい。

こんな風に公に言ってくれてありがとう、私たちがもっといるってことを。アイデアが過剰な擬似マイクロサービスアーキテクチャを救うって聞くのに疲れたし、夜にいくつかのプロジェクトに出くわすけど、STOAや不必要な解決策、アーキテクチャなしで問題を解決してるんだ。RoRには興味ないけど、キャリアの初めは主にPHPを救ってたから、どちらも問題解決者だよ。座って、ミニマルな(PHPの場合は見た目があまり良くないけど)コードを書いて、次のタスクに進もう。

新年からライブのグリーンフィールドプロジェクトでRoRを使い始めたんだけど、正直言って新鮮な風を感じてる。昔の「箱から出した」デスクトップ開発の体験に一番近いかも。Visual StudioやIntelliJ IDEA、NetBeans、Eclipseとか、90年代や00年代のIDEでデスクトップソフトを作ってた頃の感じ。Web開発はずっと、10,000個の動くパーツを追いかけるフラストレーションの塊だったから、実際に解決したい問題から気をそらされてた。だから、基本的な作業負荷がいつも高くて、無駄が多すぎるんだよね。でもRailsはそれをぐっと下げて、デスクトップソフトを(少なくとも表面的には)作って、動かして、配布するのに必要な最小限の無駄に近い感じ。もちろん、デスクトップの環境はそれぞれ違うから挑戦はあるけど、日々の開発体験は現代のWeb開発よりずっと摩擦が少ないよ。それに、うんざりするTypeScriptともおさらば。TypeScriptが嫌いなんだよね。醜くて冗長で、ボイラープレートだらけの化け物で、JavaScriptの一番楽しい特徴(ダックタイピング)を捨てちゃうから、最悪だ。

ここでのSTOAって何の略なの?

FTA: 「考えてることとタイプすることの間には、ほんの少しの翻訳が必要なんだ。それがRubyの本質だと思う。」

RoRやDjangoが提供するバッテリーは好きだけど、古いプロジェクトを維持するのにどれだけ時間がかかるかも思い出す。5〜6年前に始めたプロジェクトを更新するのはすごく時間がかかるよ。その一部は依存関係の管理だね。Djangoの場合、簡単に100を超えることもあるし、その中には特定のバージョンのシステムライブラリでコンパイルしなきゃいけないものもある。Dockerを使っても多くの問題からは逃れられないよ。今は、シンプルなフレームワーク、あるいはフレームワークなしでGoを使いたいな。Goなら、バイナリをコピーするのがすごく簡単だから。

Hacker Newsで議論の続きを見る