Railsは「長年変わらないこと」が最大の強みでもある(翻訳)
最近私は、昔Railsをやっていたことのある知人と話をしました。彼はその後10年モバイル開発に特化していたのですが、それについて彼が今どう感じているかに興味が湧いたので、当時の決断は正しかったと思うか、それともWeb開発が恋しいかと尋ねてみました。
曰く、
バックエンドか、懐かしいね。でもWeb開発はもううんざり。JSと同じことを新しいESフレーバーでやるために新しいフレームワークを片っ端から追いかけるような年じゃないんだけど、npmやyarn、pnpm、bunとか、この四半期は旬のものをあれこれ試しているよ...
しかし続きはこうでした。
最近小さなバックエンドアプリを実装しなければならなくなったことがあったんで、久しぶりにRailsでやってみたんだけど、何もかもあの当時から変わっていないね。コマンドも同じならgemも同じ、
bundle install
でnokogiriがクラッシュするのも同じ、10年前そのまんまだよ。
変わり映えしない「退屈な」ソフトウェアにこんないい話があるのかと私は瞠目しました。変わり映えしないにもかかわらず高く評価されている、私はそんなRailsの息の長さを心から愛しています。
🔗 「出戻り組」でも学びやすい
2010年にRailsを使っていた人が2025年の現代にRailsアプリケーションを手に取ってしげしげと眺めてみたとしたら、コアとなるパターンも、規約も、コマンドも見覚えがあるものばかりでしょう。Railsの基本部分は本質的に変わっていないのです。
🔗 知識が陳腐化しない
開発者がRailsを構築することで養ってきたスキルは、長年にわたって通用する傾向があります。これは、変化の激しいWeb開発の世界では珍しいことです。
🔗 チームを柔軟に編成できる
Railsの経験者は、新しいチームに参加するときも、大規模なオンボーディング研修を行わなくても即座に生産性を高められます。
🔗 ドキュメントが安定する
Railsでは、何年も前にドキュメント化されたソリューションやパターンの多くが現在も通用するので、蓄えてきた豊富な知識が陳腐化せずに役立ち続けます。
🔗 「フレームワーク疲れ」が少ない
Railsはずっと進化を繰り返していますが、JSエコシステムのように四半期ごとにワークフローを丸ごと再学習することを強いられたりしません。
Railsのこの安定性は、途方もなく実用的な価値を生み出します。つまり、企業は、フレームワークの大変さに合わせてアプリケーションの書き直しを繰り返す必要なしに、Railsアプリケーションを長期間メンテナンスできるということです。また、Railsプロジェクトで作業できる潜在的な開発者が多いので、Railsから数年離れていた開発者であってもすぐに以前のスピードで開発できるようになります。
ドメインモデリングの観点で言うと、この安定性は、ビジネスロジックとドメインモデルの技術的基盤を絶えず再構築することなしに、ビジネスロジックとドメインモデルの進化に集中できるという意味です。
Railsなら手軽に使えるフレームワーク機能をJSアプリチームがゼロから実装しているのを見るたびに、何とも微笑ましい気持ちになります。どうやら、誰もが成熟したWebフレームワークで作業する機会を得られるとは限らないようですね。
概要
元サイトの許諾を得て翻訳・公開いたします。
日本語タイトルは内容に即したものにしました。