RedwoodJSというフレームワークがあるらしい
RedwoodJS を Ruby on Rails と比較してみる
読んだ。
RedwoodJSは初めて聞いたので読んでて面白かったのだが、本当にRailsっぽいな〜という感じだった。
特にRedwoodRecordの部分に関しては本当に「そのまんまActiveRecord」という感じだったので、Railsを触っていた人は特に分かりやすいのではないだろうか。
自分は最近ほぼフロントエンドのみなので、バックエンドはRailsを触っていた二年前くらいが最後(ちょっとExpressも使ったけど)であり、RedwoodRecordは自分にとっては非常に分かりやすい。これなら「静的型付けのあるActiveRecord」として見れそうな気がする。素晴らしい。
基本の思想はRailsだと思うけど、マイグレーションをRailsの標準のものではなくridgepole(と標準のハイブリッドと表現されている)に近いものにしてあるのは、個人的には嬉しいポイントだと思う。
標準のマイグレーションはとにかくマイグレーションファイルが無限に溜まっていき、本来不要なファイルを大量にリポジトリに抱え込むイメージが強い。
ridgepoleであればSchemafileだけで完結するし、マイグレーションの履歴に関してはGitHubで管理しているならばhistoryを辿れるので、アプリケーションにマイグレーションの履歴管理をさせるよりGit/GitHubに任せるほうがいいと思っている。
Prismaを触ったことがないけど、見ている感じridgepoleに近そう。
ルーティング設定から named route functions を利用することで、型定義の効いた形でパスを生成できます。これは Rails のルーティングヘルパーに近いものだと思われます。
ルーティングで型が効くのはとても嬉しい予感がする。
Next.jsはファイルベースのルーティングだったけど、ルーティングを定義していくのとどっちのほうが辛みが少ないのだろう。
あまりにも雑にまとめると型があるRailsライクなフレームワークということになるけど、Railsを触った経験があるので結構興味があります。