ウィジェット、Live Activities、Dynamic Island。これらは Apple のネイティブ領域に深く根を張った機能で、React Native(Expo)の世界からは橋を一本架けないと届きません。Rork の標準ビルドは React Native でクロスプラットフォームに作りますが、Rork Max はネイティブ Swift を生成し、こうした Apple 固有機能をそのまま引き出せます。料金は標準の Rork が月25ドルから、Rork Max が月200ドル。この8倍の差を「機能の価格」として見ると判断を誤ります。本当に見るべきは、その機能を抱えたまま何年も運用する総コストです。
なぜ「ウィジェットが欲しい」が分岐点になるのか
通常の画面追加や API 連携であれば、React Native のまま十分に戦えます。判断が割れるのは、OS の実行環境そのものに食い込む機能が要件に入ったときです。
React Native アプリでこのウィジェットにデータを渡すには、App Group を共有ストレージにして、JS 側からネイティブモジュール経由で書き込む必要があります。
// JS 側。ネイティブモジュールを自前で用意し、App Group の UserDefaults に書くimport { NativeModules } from "react-native";const { WidgetBridge } = NativeModules;export async function pushWidgetSummary(summary: string) { // WidgetBridge は Swift 側で App Group に書き込み、WidgetCenter.reloadAllTimelines() を呼ぶ await WidgetBridge.setSummary(summary);}
このブリッジ(WidgetBridge)は自分で書いて、自分で iOS のアップデートに追従させ続けます。Rork Max を選ぶと、この層がそもそも要らなくなります。ウィジェットも本体も同じ Swift の世界にあるので、App Group のキー名のズレや、拡張ターゲットの署名設定でつまずく時間が消えます。私自身、ブリッジ起因の不具合は「機能のバグ」ではなく「境界のバグ」で、再現も修正も読みにくいと感じています。この読みにくさを毎年買い続けるかどうかが、判断の核心です。
Live Activities が入るなら天秤はさらに傾く
Live Activities と Dynamic Island は、ウィジェット以上にネイティブ寄りの機能です。ActivityKit でアクティビティを開始し、プッシュまたはアプリ内から状態を更新します。
import ActivityKitstruct DeliveryAttributes: ActivityAttributes { struct ContentState: Codable, Hashable { var stage: String var etaMinutes: Int } var orderId: String}func startDelivery(orderId: String) throws { let attributes = DeliveryAttributes(orderId: orderId) let initial = DeliveryAttributes.ContentState(stage: "受付", etaMinutes: 30) _ = try Activity.request( attributes: attributes, content: .init(state: initial, staleDate: nil) )}
React Native からこれを扱うには、開始・更新・終了の各操作を全てネイティブ側に持たせ、JS とブリッジでやり取りします。ウィジェットの App Group 共有とは別系統の保守がもう一つ増えるわけです。ここまで来ると、Apple 固有機能が2系統になり、前述の損益分岐点を越えやすくなります。私の見立てでは、Live Activities が「あると嬉しい」ではなく「これが体験の主役」になるアプリは、最初から Rork Max で組むほうが数年単位では軽くなります。
決め手は機能の派手さではありません。「その Apple 固有機能を、来年も再来年も自分が面倒を見られるか」です。一機能・補助的なら React Native のまま拡張で粘る。中心的・複数なら Rork Max の固定費で保守時間を買う。Android が主軸なら無理に寄せない。この3つの問いに順に答えれば、月25ドルと月200ドルのどちらが自分にとって安いかは、わりとはっきり見えてきます。
まず手元のアプリで、いま要望に挙がっている Apple 固有機能を1つ書き出し、それを React Native + 自前ネイティブモジュールで何年運用するつもりか、を見積もってみてください。その数字が、価格表よりずっと正確な答えを返してくれます。