Rails チュートリアルを(9章まで)進めた

Rails チュートリアルを9章まで進めた。

ログイン情報の保持機能の追加。この辺は苦戦する人が多いと聞くけど、機能的にやや地味な点が大きいのかも知れない。

拡張メソッド

先日、価値観を受け入れると誓った自分でも、クラスの拡張がチュートリアルの中で出てきた時は驚いた。今まで主にやってきた言語では、この手の機能は禁断の技扱いされてた気がするけど、ごく自然に行われてるってことは、Railsではこのやり方がベストプラティクスなのか。まぁ「クラスの拡張の定義は普通は○○に定義する」という形で秩序が担保されていれば問題にはならないのかも知れない。

バックエンドの逆襲

Railsチュートリアルの話から脱線するけど、Railsの生みの親のDHHが最近こんな記事を書いていた。

world.hey.com

記事タイトルを日本語訳すると『JavaScriptのバンドルやトランスパイルのない最新のWebアプリ』。

次のRails7では今までデフォルトだったWebPackerをオプション扱いにし、デフォルトではブラウザ標準のimport mapsを使うアプローチを取るという。

一般的なフレームワークをほぼ素の状態で使ってるだけでもpackage-lock.jsonの中身が数万行に膨れ上がり、毎月のようにセキュリティアラートが飛んでくる今のフロントエンドの状態は自分もちょっとどうなんだと思うところはある。でも次のバージョンでそれを解決できると豪語するのは驚き。

node_modulesに置かれる数百~数千のライブラリを個別に配信するのは、いくら効率化されていても無理…と思ったけど、あそこにあるのはdevDependenciesも含めてだから、dependenciesだけで考えるとそうでも無かったりするのかな。昔と違ってleft-padのようなライブラリも今では標準の機能で置き換えられるし、devDependenciesはともかくdependenciesはそこまで肥大化しなくても良いというのも分かる。そもそもHotwireがあればJavascriptの出る幕は殆ど無いという前提かな。

サーバレスとフロントレスの宗教戦争が勃発しそう。