Ruby on Rails 7.0.4 リリース

rails

2021年12月15日に Rails 7 がリリースされました。
2022年9月9日に Rails 7.0.4 がリリースされました。

Rails 7.0.4, 6.1.7, and 6.0.6 have been released!
https://rubyonrails.org/2022/9/9/Rails-7-0-4-6-1-7-6-0-6-have-been-released

Reactを使いたい

React on rails 7 をするには、、、

importmapは、Rails 7のデフォルトです。

Reactアプリの構築にはJSXのコンパイルが必要なので、importmapによるアプローチは完全ではありません。

ここで登場するのが、jsbundling-railsというRails向けJavaScriptバンドラーです。

jsbundling-railsは、「esbuild」「rollup.js」「webpack」のいずれかを用いて
JavaScriptをバンドルし、アセットパイプラインで配信できるようにするgemです。

3つの選択肢のうちRailsコミュニティで最もアツいのはesbuildなので、本チュートリアルではesbuildを使うことにします。

Rails 7とReactによるCRUDアプリ作成チュートリアル(翻訳)
https://techracho.bpsinc.jp/hachi8833/2022_05_26/118202

RailsとReactを利用するならばimportmap-railsを避けた方が良さそう
https://www.orzs.tech/importmap-rails-and-jsbuilding-rails

Railsでは、importmap-rails以外にも、JavaScriptを利用する方法を提供しています。
そのひとつにjsbuilding-railsというGemを使う方法があります。
こちらは、Node.jsの環境が必要となりますが、Webpackやesbuildなどのビルド環境を選択でき、
それのインストールと一緒に設定まで行います。

Rails 7における、バンドラーを用いたReactアプリ開発~jsbundling-railsとesbuild~ – 2022/7/8
https://codezine.jp/article/detail/16059

JavaScript BundlingとCSS Bundlingのしくみ – 2022年4月18日
https://qiita.com/kazutosato/items/1ae1cf0ec380a75d4dc4

Rails 5-6時代に使われたWebpackerは、公式に「has been retired」とされ、
Rails 7ではimportmapが標準となりました。

Rails7はimportmapとは別に、JavaScriptのバンドラやCSSのフレームワークを導入するしくみを用意しています。

2つのgem、 JavaScript Bundling(jsbundling-rails) と
CSS Bundling(cssbundling-rails) です。
この2つは、Rails 6に入れることもできます。

ZOZOTOWN Webフロントエンドリプレイスにおける CSS in JS の技術選定で Emotion を選定した話 – 2022-9-13
https://techblog.zozo.com/entry/zozotown-css-in-js

Hotwireの良かった点、辛かった点、向いているケース、向いていないケース – 2022-5-16
https://nekorails.hatenablog.com/entry/2022/05/16/170434

Rails 7.0の特徴

Rails 7.0: Fulfilling a vision
https://rubyonrails.org/2021/12/15/Rails-7-fulfilling-a-vision

Rails 7.0.0がリリースされました
https://techracho.bpsinc.jp/hachi8833/2021_12_16/114472

Rails 7.0正式リリース、Node.js不要のフロントエンド開発環境がデフォルトに – 2021年12月20日
https://www.publickey1.jp/blog/21/rails_70nodejs.html

Rails 7のJavaScriptとの統合は素晴らしい – Hotwire、import maps、バンドラーとの統合、APIサーバー
https://techfeed.io/entries/61370b3b443b5f43a14ebe4a

Rails 7 をちょこっと試す(さらば、Webpacker 編) – 2021年9月23日
https://qiita.com/suketa/items/837eb97bdb48dd8c4688

Rails 7.0 + Ruby 3.1でゼロからアプリを作ってみたときにハマったところあれこれ – 2022年1月28日
https://qiita.com/jnchito/items/5c41a7031404c313da1f

jsbundling-railsはcssと同じくRailsのアセットパイプラインを介して配信するために追加しており、
webpacker特有のjavascript_pack_tagをjavascript_include_tagに変更しています。

Rails 7にアップグレード後に脱Webpackerしてみた – 2022-01-26
https://blog.ryo.gift/entry/2022/01/26/201624

Rails7がもつフロントエンドへの「答え」 – 2021.9.17
https://zenn.dev/kenzan100/articles/0f9b100655a4bf

Ruby on Rails 7の主要な新機能・機能追加・変更点 – 2021年12月25日
https://qiita.com/ryohashimoto/items/f5382478c78f296d8291

Rails 7 : rails newのフロントエンド関連オプションの組み合わせを調べてみた – 2021.12.28
https://techracho.bpsinc.jp/hachi8833/2021_12_28/114730

注目の変更点としては。

・spring 廃止
・webpacker から webpack へ
・tailwindCSSのサポート

とかでしょうか。

Rails 7.0.0.rc1がリリースされました – 2021.12.09
https://techracho.bpsinc.jp/hachi8833/2021_12_09/114239

個人的には、Rails は Active Record が優秀なので、今後Railsは API サーバーに特化して、
フロントは Next.js でやるのが主流になるような気がしています。

フロントとAPIサーバーを分けることで、Rails が肥大化するのをさけられます。

Rails の API モードを使用するときは、rails new するときに以下のように api オプションをつけるだけです。

% rails new test_project --api 

Rails 6 が出たのが2019年8月15日なので、約2年ぶりのメジャーバージョンアップですね。

Rails 6.0 Release
https://rubyonrails.org/2019/8/15/Rails-6-0-final-release

DHHの動画です。

Rails 7: The Demo – 2021/12/16

webpacker 廃止

巷に溢れている webpack ではなく、rails 独自の webpacker ですが、廃止の方向だそうです。

webpacker はこれまで必要だったので、使っていましたが、微妙に使いずらく、仕方なく使っていました。

同等の機能が他で実現されるなら、廃止には大賛成です。

Webpackerが公式に引退宣言、Everyday Rails日本語版がRails 7に対応ほか – 2022.1.24
https://techracho.bpsinc.jp/hachi8833/2022_01_24/115099

Rails 7.0でアセットパイプラインはどう変わるか – 2021/10/26
https://www.wantedly.com/companies/wantedly/post_articles/354873

Rails 7 をちょこっと試す(さらば、Webpacker 編) – 2021年09月23日
https://qiita.com/suketa/items/837eb97bdb48dd8c4688

Rails 7のJavaScriptとの統合は素晴らしい – Hotwire、import maps、バンドラーとの統合、APIサーバー
https://techfeed.io/entries/61370b3b443b5f43a14ebe4a

Rails7がもつフロントエンドへの「答え」 – 2021.9.18
https://zenn.dev/kenzan100/articles/0f9b100655a4bf

RSpec書籍

Everyday Rails – RSpecによるRailsテスト入門
https://leanpub.com/everydayrailsrspec-jp

Rails 7.0に対応した「Everyday Rails – RSpecによるRailsテスト入門」をリリースしました! – 2022-01-17
https://blog.jnito.com/entry/2022/01/17/115109

おすすめRuby書籍

研鑽Rubyプログラミング β版
https://www.lambdanote.com/products/products-polished-ruby-beta

プロを目指す人のためのRuby入門[改訂2版] – 2021/12/2

Ruby on Rails 6 実践ガイド impress top gearシリーズ

現場で使える Ruby on Rails 5速習実践ガイド

Ruby on Rails 6 超入門

コメント

タイトルとURLをコピーしました