この記事は 【RubyKaigi 2023連動イベント】みんなでRubyの知見を共有しよう - Qiita の参加記事です。
追記
スライドが公開されていたので、ぜひそちらもご覧ください!
また発表内容にあったrequire_relative
を試していそうなブランチを見つけたので載せておきます。
はじめに
あっというまにRubyKaigi 2023最終日ですね。
最終日のセッションの中から以下のセッションについてまとめます。
Load gem from browser
現在、ブラウザでRubyを使えるようになったが、CRubyと同様にrequire
を使うことができません。
JavaScriptが似たような歴史を歩んでいるため、歴史を振り返り、
- 依存関係をバンドルする
- ↓その後
- 動的に依存関係を解決(Import Mapsでモジュール解決)
ようになったことを挙げました。
このうち、発表者の@ledsun
さんは「Rubyのスクリプト言語らしさ」を挙げ、バンドル等なしですぐに実行できる点から「動的に依存関係を解決」する方法で拡張できないかを考えたそうです。
Rubyには
require
require_relative
があり、require
ではJavaScriptのImport Maps
と同様に依存解決を行うように、
require_relative
では、現ファイルのパスをスタックに入れ、相対的な解決を実現しているそうです。
また、将来的にUNPKGのような(ungem的な)ものを用意し、デプロイ時のインストールなどの手間を減らし、
「ブラウザで開発するのにRubyが選ばれる未来」をつくれたらとのことでした。
さいごに
ブラウザで開発するのにRubyが選ばれることで、黒い画面から始めなくてもRubyを触れる状態ができると、より多くの人にRubyを触ってもらえそうで、いいなと共感しました。