Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

付録H Hotwire Native ハンズオン(実機ビルド手順)

第9部では、Hotwire Native の考え方を学びました。この付録では、実機でビルドして Relay を表示するまでの手順を、流れに沿って案内します。

実機ビルドには、ネイティブの開発環境が必要です。具体的なコマンドや画面は、Xcode / Android Studio や Hotwire Native のバージョンによって変わります。本付録は流れを示すもので、最新の正確な手順は、必ず公式ドキュメントで確認してください。

前提

  • iOS は Xcode、Android は Android Studio が要ります。
  • Relay(本書の Rails アプリ)が起動していて、実機・シミュレータからアクセスできること。シミュレータからは、開発マシンの IP やホスト名で Rails に届く必要があります。
  • Web 側(Relay)が、モバイルの画面幅でも使えること(レスポンシブ。第32章)。

手順の流れ

1. ネイティブプロジェクトを用意する

  • iOS … Xcode で新規アプリを作り、Hotwire Native の iOS ライブラリ(Swift)を追加します。
  • Android … Android Studio で新規アプリを作り、Hotwire Native の Android ライブラリ(Kotlin)を追加します。

ライブラリの追加方法(Swift Package / Gradle の指定)は、公式ドキュメントの手順に従います。

2. Relay の URL を指す

ネイティブアプリの開始 URL を、Relay のトップ(または一覧)に設定します。これだけで、WebView に Relay の Web 画面が表示され、ネイティブのナビゲーションの中で動き始めます(第32章)。まずは、ここまでで「Web がアプリの中で動く」ことを確認します。

3. Path Configuration を置く

URL ごとの見せ方を、Path Configuration(第33章)で指定します。アプリに同梱するか、サーバーから配信します。たとえば、/tasks/new をモーダルで出すルールを書きます。正確なプロパティ名と値は、公式ドキュメントで確認します。

4. Bridge Components を足す(任意)

ネイティブの定位置に部品を置きたい場合、Bridge Components(第34章)を使います。Web 側にブリッジ用の Stimulus controller を、ネイティブ側に対応する component を用意します。ここで大切なのは、ブラウザでも壊れないよう、Web 側にフォールバック(通常の送信ボタンなど)を残すことです(第34章)。

5. Native Screens と認証(任意)

ログインなどをネイティブ画面にする場合(第35章)、ネイティブで認証した結果を WebView のセッションへ受け渡します。cookie やトークンの受け渡しは、安全に設計します(第31章)。具体的な受け渡しの実装は、公式ドキュメントの例を参照します。

配布の注意

ネイティブ部分(native shell・ネイティブ画面・Bridge Components)を変えたら、アプリをビルドし直し、ストアで配信(審査)します。Web 画面の更新はサーバーで即反映できますが、ネイティブ部分はストアを通します(第32章・第35章)。更新サイクルの違いを踏まえ、ネイティブ部分は最小限にします。

まとめ

「Relay の URL を指すだけで Web が動く」ところから始め、必要に応じて Path Configuration・Bridge Components・Native Screens を足す。この順で進めれば、Web-first のまま、無理なくモバイルへ広げられます。詰まったら、考え方は第9部に、最新の手順は公式ドキュメントに戻ってください。