Native が Shopify モバイルの未来になった(2026)
コーディングエージェントがモバイルアプリの構築コストを二度下げ、ShopifyはReact NativeからSwiftとKotlinに戻った。著者は核心的な前提を変えたもの、そしてこの移行の代償と収穫を説明する。
日本語
コピー

コードを書くエージェントは、モバイルアプリの構築コストを二度変えた。Shopify が React Native から Swift と Kotlin に戻るのも、それが理由だ。
2020 年、私たちは React Native に全面的に賭けることを決めた。この賭けは大成功だった。機能は一度書くだけで済み、時間は大幅に節約できた。モバイルの背景を持たない開発者も私たちのアプリに貢献できた。機能の parity を追いかける必要もなくなった。
2025 年 1 月、私は React Native の将来は明るく、Shopify は投資を続けると書いた。当時把握していた状況を踏まえれば、それは正しかった。React Native は私たちの環境でうまく機能しており、今でも優れたフレームワークだ。だがそれ以降、コーディングモデルは大きく進歩し、私たちのアプリとチームにとって、同じ機能を Swift と Kotlin で実装するコストは以前とは比べものにならなくなった。
一度成功した決定だからといって、それを固守はしない。前提が変われば、これはまだ正しい選択なのかと問い直す。LLM は 2020 年の決定が依拠していた前提の一つを変えた。そこで私たちはモバイルスタックを第一原理から評価し直した。
その結果、私たちはネイティブに戻ることになった。
なぜネイティブに戻すのか
2020 年にネイティブから React Native へ移行した理由は三つあった。
- 同じ機能を二度書かなくて済む
- 開発者が技術スタックをまたいで働ける
- 機能の parity を追う時間が減り、価値を届ける時間が増える
React Native はこれらの利点をずっと実現してきた。パフォーマンス最適化、React Native の重要な基盤モジュールの改善、フレームワークの更新や外部依存の追随に多くの時間とリソースを投じてきたのは事実だが、そのコストは許容できる。React Native を使う利点は、こうした取り組みに必要な投資をはるかに上回っていた。
Shopify は 2021 年から LLM でソフトウェアを構築している(ChatGPT より一年早い!)。当初は機能の実装、バグの調査と修正、コードレビューに使っていた。モデルが強くなるにつれ、任せるタスクの複雑さも上がっていった。2025 年末には、単にコードを速く書くための道具ではなくなり、ソフトウェアを二度書くことが本当に二倍の作業を意味するのか、疑問を抱かせる存在になっていた。
私たちはモバイルスタックを評価し直すことにし、当時の技術選択が今も成り立つかを確かめるためにプロトタイプを作り始めた。LLM を使い、最大級のアプリの中核部分を Swift と Kotlin で書き直したところ、結果は予想を超えていた。エージェントは:
- iOS 版を参照しながら Android で機能を実装できる。その逆も同様
- 開発者が自分の主な技術スタック以外でも素早く立ち上がり、効果的に貢献できるよう支援する
- 共有された仕様、テスト、レビューのチェックポイントを通じて、両プラットフォームの一貫性を保つコストを大幅に下げる
ネイティブ開発は依然として二つのプラットフォームでソフトウェアを構築・維持することを意味し、そのコストは消えない。変わったのは、エージェントが実装、変換、テスト、レビューの十分な量を担えるようになり、2020 年ほど決定的な要素ではなくなったことだ。 React Native アプリは速くできる。私たちのアプリも速い。この変更に踏み切るのは、エージェントが実装の共有による利点を弱め、プラットフォームごとに個別に構築する利点が依然として残っているからだ。ネイティブならプラットフォームの機能とファーストパーティのツールチェーンに近づき、コードとプラットフォームの間にあるフレームワーク層と依存層も減る。
私たちの React Native オープンソースライブラリの今後
移行の進め方を話す前に、この移行をきれいに終わらせたい。私たちは当初から React Native に還元し、より良くしたいと考えてきた。公開したオープンソースライブラリは、それぞれのカテゴリで第一の選択肢になっている。コミュニティの反響に感謝しており、この移行もスムーズで、想定外のことは起きないようにする。
React Native Skia
Shopify は 2026 年末までスポンサーを続け、その後は William Candillon が引き継ぐ。彼は今後数か月のうちにリポジトリを fork し、新しい名前でこのライブラリを公開する。移行が完了したら、元のリポジトリはアーカイブされる。進捗は随時発信し、誰もが十分な時間を取って移行できるようにする。このライブラリに依存しているアプリは、スポンサーを検討してほしい。
FlashList
週約 200 万回ダウンロードされ、React Native で高性能なリストを描画する際のデフォルトの選択肢になっている。エコシステムにとっての重要性を踏まえ、Shopify は互換性を壊す重大な問題の修正を続ける。FlashList を長期的に引き継いでくれる企業をいくつかと協議中だ。関心があればここから私に連絡してほしい。
Restyle
Restyle は他のライブラリより利用者が少ないため、リポジトリをアーカイブすることにした。2026 年末までメンテナンスを続け、その後は終了する。fork して引き継ぎたい人は歓迎するし、手を挙げるチームがあれば引き継ぎも支援する。
どう移行するか
Shopify にはいくつかの大規模アプリがある(Shopify、Shop、Point of Sale、Inbox)。世界中の何百万ものマーチャントと買い物客が、毎日これらを使って生計を立て、好きなブランドから商品を買っている。 ネイティブへ段階的に移行するか(brownfield)、ゼロから書き直すか(greenfield)を検討した。以前 React Native へ移行したときは、最大級のアプリで brownfield を選んだ。書き直しには数年かかり、その間は新機能のリリースを止めざるを得なかったからだ。 だが今回は、以下の理由で greenfield が明らかに勝った。
- LLM は React Native 版を参照しながら、Swift と Kotlin で機能を実装するのが得意だ
- まっさらな状態から、これまでの制約にとらわれず最善の方法で作り直せる
- 私たちのプロトタイプでは、こうしたアプリの再構築はコーディングエージェントが登場する前よりはるかに速いことが示された
Shop アプリは長年アプリストアのショッピング部門で上位に入り続けており、最初に移行を完了した。AI の支援のもと、チームは概念実証から完全に作り直したネイティブアプリのリリースまでをわずか12週間でやり遂げた。この移行については詳しく書いている。
Shopify アプリ(当社最大のアプリで、300 以上のページ、ホーム画面とロック画面のウィジェット、Apple Watch アプリ、文字盤コンプリケーション、Siri Shortcuts などを備える)の移行も進行中で、今年後半にリリース予定だ。残りのアプリもまもなく移行する。
slop を防ぐ
LLM を React Native のコードベースに直接向けて、同じ機能をネイティブで一気に実装させようとするのは魅力的だが、うまくいかない。事前にできる限り多くの情報を集めさせ、それを仕様書やタスクファイルに固めてから実装させても、出来上がるのは保守もリリースもできないコードの山だ。
この問題を解決するために、私たちは Helix というシステムを構築し、より漸進的なアプローチを取った。最初の出力から正しさを期待するのではなく、不完全な試みが良い結果になるまで先に進めないというループを組み立てたのだ。
開発者は Helix をあるページに向ける。Helix は React Native のコードを読み、一連のチェックポイント(作業を小さく順序立てた断片に分割したもの)を提案する。各チェックポイントは数分でレビューできる。あとはチェックポイントごとに構築していく。各チェックポイントは、テストでその振る舞いを証明し、実行中のアプリと視覚的に一致することを確認し、2 名の対抗的なコードレビュアーの審査を耐え抜き、人間の承認を得て初めて、コミットして次に進める。レビューのたびにフィードバックが記憶されるので、移行が進むにつれてこのループはますます自律的になる。

Helix が Swift と Kotlin で Shopify モバイルアプリのインターフェースを再構築する
この方法は極めて効果的で、アプリをわずかな時間で作り直せた。
高速なフィードバックループを実現する
シミュレータのエージェント制御はずっとボトルネックだった。エージェントはビルド、テスト、イテレーションを安定してこなせないので、常に目を光らせておく必要があった。エージェントが自律的にバグを再現し、修正し、修正を検証できるようにするツールを構築したが、遅くてもろかった。React Native のホットモジュールリロードはこれを緩和するが、シミュレータ制御そのものが遅いので解決にはならない。主な原因は、アプリの状態取得、操作の実行、結果の検証をアクセシビリティツリーやスクリーンショットに頼っていることだ。エージェントは数秒でコードを書き換えられるのに、テストの出力には数分かかる。これではイテレーションが極端に遅くなり、人手に依存してしまう。自分の仕事を素早くテストできなければ、モデルがどれだけ強くても意味がない。モバイルでは特にこれが難しい。
私たちは、人間とエージェントの両方に役立つアプリ設計によってこの問題を解決しつつある。核となる原則は、ビジネスロジックを UI から完全に切り離し、デスクトップ上でヘッドレスに動かせるようにすることだ。それを CLI 経由でエージェントに公開すれば、シミュレータに一切触れずに、分単位ではなくミリ秒単位でイテレーションできる。
CLI を使ってアプリを操作し、ナビゲートする
CLI を使えば、エージェントは UI に触れることなく、アプリの状態を調べ、セクション間を移動し、操作を実行できる。これによりフィードバックループが極めて速くなり、エージェントは何時間も連続して自律的に作業できる。
シミュレータとやり取りする必要がある場合、CLI はリモートモードで接続し、レイアウトやアクセシビリティツリーを調べることなくコマンドで UI を操作する。これにより極めて高速なパフォーマンスと E2E テストが実現する。
これはリアルタイムの速度(早送りなし)
次のステップ
私たちはすべてのモバイルアプリを Swift と Kotlin に移行し、その過程のすべてで AI を活用する。Shop はすでに完全ネイティブアプリとしてリリース済み、Shopify アプリは進行中、残りもまもなく続く。ペースは速いが、基準は下げない。すべての書き直しは、ユーザーが今日期待している性能、安定性、アクセシビリティ、製品品質に匹敵するか、それを上回らなければならない。同じアプリを別の言語で書き直すのではない。人間にもエージェントにも素早く理解でき、テストでき、変更できるように作り直すのだ。
移行はゴールではない。成功とは、私たちのチームがこれまでより速く、マーチャントとバイヤーにより良い体験を届けられるようになることだ。製品のイテレーション速度、アプリの品質、そしてエージェントがどれだけ自律的に作業できるかで測る。
道中で得たものも共有していく。Helix、エージェント向けのこのアーキテクチャ、そしてエージェントを使ってモバイルアプリをどう作っているかについての掘り下げた解説も含めて。React Native から学んだことについては公に話してきたし、今回の転換も同じく公開で進めるつもりだ。
これは私たちが手がけた中で最も野心的なモバイルエンジニアリングの一つだ。次世代の Shopify モバイルアプリの構築に加わりたいなら、モバイルエンジニア、インフラエンジニア、そして AI とソフトウェアエンジニアリングの交差点で働く開発者を募集している。
謝辞
今の Shopify にとってネイティブが正しい選択だが、2020 年には React Native が正しい選択だった。その成功は、それを機能させた人たちのものだ。
Meta
Meta の React Native チームに感謝する。あなた方はこのフレームワークの優れた守り手であり、私たちのフィードバックに耳を傾け、長年にわたり緊密に協力してくれた。アーキテクチャ、性能、ツールチェーン、コミュニティへの投資があったからこそ、React Native は今日大きく前進した。
William Candillon
React Native Skia を作ってくれて、そして私たちの想像をはるかに超えるところまで推し進めてくれてありがとう。あなたは React Native におけるグラフィックスとアニメーションの可能性を再定義した。次にそれをどこへ連れていくのか、楽しみにしている。
Software Mansion
Reanimated への尽力、私たちのフィードバックに耳を傾けてくれたこと、そしてアプリの中でも特に厄介なアニメーションとパフォーマンスの問題を解決するのを手伝ってくれたことに感謝します。
Shopify のエンジニアたち
数百人のエンジニアが React Native の採用、アプリの移行、共有インフラの構築、パフォーマンスの最適化、統合の保守、そしてエコシステムへの還元に関わってきた。その多くが初心者に戻り、長年の前提に異を唱え、マーチャントとバイヤーへの提供を続けながら、この移行を成功させた。ありがとう。
React Native コミュニティ
私たちのオープンソースライブラリを使ってくれる人、コードを貢献してくれる人、問題を報告してくれる人、私たちの判断に異を唱えてくれる人、学んだことを共有してくれる人、その一人ひとりに感謝します。あなたたちの貢献とフィードバックは——痛烈なものも含めて——私たちの仕事をより良くしてくれた。 この6年間で築かれたツール、経験、関係は、これからも Shopify のモバイルアプリの作り方に影響を与え続ける。関わったすべての人に深く感謝しています。