Railsを使うと、初速は早くなる。それは間違いないと思う。一方で、RailsはVierwからDBまで密結合したフレームワークなので、「段階的なアップグレード」とかがむずかしい。ヴァージョンをあげるときには一気にエイヤであげる必要が出てきがちである。さらに、プロダクトが巨大になってくると結局様々な工夫を凝らしてViewからDBまでの間を疎結合にしていくことになる。そうなってくると、「これRailsである意味あるんだっけ」となって、段階的なアップグレードのしにくさや気をぬくと密結合な設計になるという欠点が目立ってくる。
これは、まさに技術的負債そのものである。ここでわたしが「技術的負債」を「単なる悪いもの」として扱っているわけではないことに注意してほしい。Railsを使うというのは、そういう将来の負債を借り入れて、その借金を使って早くプロダクトを世の中に届けるという判断をしている、ということだ、ということを言っているのであって、「借金してでも早く出したい」という判断が合理的で正しい場合ってのは、腐るほどある。
ただ、Railsを選ぶときに、「今俺たちは借金をしているんだ」って思いながら選んでほしい。その感覚がないと、プロダクトが軌道にのったあとも借金を返すためのリソースを捻出しないまま、破綻したコードベースに消耗してプログラマがどんどん逃げて言って最後にはプロダクトが潰れて終わるので。
6 of the top 10 @ycombinator companies (by valuation) were built using Ruby! ttps://twitter.com/mhartl/status/1179561691857616896 Ruby on Railsの事例まとめ(海外有名サイト編) ttps://b.hatena.ne.jp/entry/s/skillhub.jp/blogs/176 ...
初速を犠牲にしてもいいときの代案はなんであるかについても言及してみてほしい
最近Laravelで開発してるPHPerだけど、その辺ってDIで疎結合に出来ないのかな? RailsってDIないの?と思ったら、そもそもRubyがインスタンスへの依存性は動的に変更できるらしいじゃん FW...
1年以上も前の日記にマウントとりなさんな