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 超入門
コメント