스크립트
00:00:00Shopifyは半世紀にわたりReact Nativeを強力に支援してきましたが、今週
00:00:05ネイティブ開発に戻ることを発表しました。その理由を知れば、あなたも乗り換えたくなるかもしれません。
00:00:10React Nativeのようなプラットフォームの最大のアピールポイントは、一度アプリを作ればAndroidと
00:00:15iOSの両方にリリースできる点です。単一のコードベースと言語で済み、保守コストも大幅に削減できます。Shopifyも
00:00:21この構想に全面協力しており、週間ダウンロード数が200万を超えるReact Nativeパッケージを保守していました。
00:00:262025年という最近になってさえ、この技術への継続支援を表明する記事を公開していたほどです。しかし
00:00:321年後、彼らは突然大きな心変わりを見せました。オープンソースリポジトリはすべて
00:00:37見捨てられ、会社は完全にネイティブへ回帰したのです。主な理由はAIの進歩にあります。
00:00:44最新のモデルと社内の優れた技術により、2つの別々のアプリを構築する負担はもはや
00:00:49存在しません。iOSアプリをモデルに見せて「これをAndroidで作って」と頼むだけで機能するのです。
00:00:55そこで今日は、Shopifyがどのようにネイティブ開発を行っているかを詳しく解説します。私自身も
00:01:00彼らの意見に完全同意しています。過去10年の大半をReact Nativeで開発してきましたが、私も
00:01:06ネイティブに戻り、嬉しい驚きを感じているからです。この動画で、みなさんにも同じ選択をお勧めできればと思います。
00:01:12先週、Shopifyは「ネイティブこそがShopifyモバイルの未来である」という記事を公開しました。
00:01:23そこには貴重な情報が満載です。Helixというシステムを構築してエージェントの作業を細分化し、粗悪なAI生成コードを防ぐ方法や、
00:01:29エージェントが実装後すぐにテストできるように高速なフィードバックループを処理する方法について語られています。
00:01:36ここ数ヶ月間、自分自身でネイティブ開発を行ってみて、私自身のワークフローも根本から変わりました。
00:01:42順を追って説明していきましょう。まず、なぜ切り替えたのでしょうか?彼ら自身が言っているように、ほんの
00:01:482025年に「React Nativeの未来は明るく、Shopifyは投資を続ける計画だ」と書いていたのです。
00:01:54しかしそれ以来、コーディング用モデルは劇的に進化しました。アプリやチームにとって、
00:01:59SwiftとKotlinで同じ機能を構築することは、かつてのようなコストを伴わなくなったのです。
00:02:05つまりAIのおかげで、React Nativeの「両プラットフォーム向けに一度作れば済む」というメリットはもはや適用されません。
00:02:11まず彼らは、既存モデルの欠点を解決するためにHelixというシステムを構築しました。LLMに
00:02:17React Nativeのコードベースを読み込ませ、同じ機能をネイティブで一発で出力させたくなるものの、それではうまくいかないと言います。
00:02:23可能な限り情報を集めさせて仕様書やタスクファイルに整理し、
00:02:29それから実装させたとしても、結果的には保守不能で出荷できない膨大なコードが残るだけです。一方Helixは、
00:02:34最初の試みが完璧にはならないことを前提とし、不完全な試みが優れた成果物になるまでは
00:02:41絶対に先へ進めないループを構築します。開発者がまずHelixに画面を指定すると、Helixは
00:02:46React Nativeのコードを読み取り、数分でレビューできる小さな作業単位である「チェックポイント」のシーケンスを提案します。
00:02:52そしてチェックポイントごとに構築を進め、各単位はテストで挙動を証明し、
00:03:00視覚的レビューで動作中のアプリと一致させ、2度の厳しいコードレビューを乗り越え、人間の承認を得てから
00:03:05コミットされ、次のステップが始まります。これらのレビューからのフィードバックは記憶されるため、
00:03:11移行が進むにつれてループの自律性が高まります。このアプローチにより、質の低いコードは実質的に排除されます。
00:03:18しかし、これらすべてを整えても大きな問題が残っていました。ネイティブのビルドとテストは非常に遅い点です。
00:03:23エージェントは数秒で変更を行えますが、その出力をテストするのに数分かかってしまいます。
00:03:29これにより反復作業が極めて遅く手作業になってしまいます。成果を迅速にテストできなければ、
00:03:34モデルがどれほど優れていても意味がなく、モバイルではこれが特に困難です。Shopifyはこれを2つの
00:03:40具体的な方法で解決しました。第一に、ビジネスロジックをUIから完全に切り離すことです。これによりロジックは
00:03:46デスクトップ上でヘッドレスで動作し、エージェントがCLI経由で実行できるようになります。その結果、シミュレータを使わずに
00:03:52数分ではなくミリ秒単位で反復処理が可能になります。Web開発の観点から言えば、これは
00:03:58アプリの状態全体をJSONで保持し、アクションを発火させてそのJSONストアを更新するようなものです。UIは
00:04:04単なる状態の表現に過ぎないため、アクセシビリティツリーを処理したり、画面を検証したり、
00:04:10要素を探してクリックしたりする必要は一切ありません。UIがなくてもすべてを駆動できます。そして
00:04:16どうしてもUIをレンダリングする必要がある場合でも、CLIからすべてのインタラクションを駆動できるため、
00:04:22すべてが高速なまま維持されます。こちらはエージェントがリアルタイムでアプリをテストしている様子で、倍速再生ではありません。
00:04:28私も同様の簡単なデモを用意しました。CLI経由でYouTubeを開き、
00:04:32Better Stackにチャンネル登録できます。ただし、それをするのにエージェントすら不要で、
00:04:36この動画の下にあるボタンを押して登録するだけです。このような仕組みがない場合、Appleの
00:04:41XCUI Testを使う必要がありますが、これはプロセス外で実行され、アクセシビリティ階層を辿って要素を探し、
00:04:46タップをシミュレートしてからツリーを再照会して検証するため、比較すると非常に遅く不安定です。
00:04:53これらの手法に従うことで、Shopアプリはすでに完全ネイティブとしてリリースされています。月間300万
00:04:59ダウンロードを誇るアプリです。ただし注意点として、Shopifyは当然ながら大企業ですので、
00:05:06自分自身で2つのアプリを保守する必要は依然としてあります。しかし、これが現在のモデルで実現可能な領域です。今後の
00:05:11数ヶ月、数年でこれはさらに容易になっていくはずであり、それによってReact Nativeの
00:05:17価値はさらに薄れ始めると考えています。Shopifyは、週間200万ダウンロードを記録するFlashListを始め、
00:05:23React Native SkiaやRestyleなど、いくつかの主要なオープンソースパッケージを保守しています。これらすべてのパッケージは現在、
00:05:30サードパーティのメンテナーに引き継がれつつあり、ShopifyはReact Nativeから手を完全に引いているように見えます。
00:05:36Airbnbもかなり昔にReact Nativeを去ったことで知られています。iOS、Android、そしてブリッジの維持は、1つではなく3つのプラットフォームを管理することになるからです。
00:05:43長年React Nativeでの開発を愛用し、キャリアの大半をその分野で過ごしてきましたが、
00:05:50エージェントが進化するにつれ、これがクロスプラットフォーム技術の終わりの始まりだと感じています。
00:05:56パフォーマンスや、CloudKit、SwiftUIのようなプラットフォーム固有の優れる機能を最適化したくない理由があるでしょうか?
00:06:02もちろんReact Native経由でもこれらのシステムと連携できますが、パフォーマンスが本物と同等になることは決してありません。
00:06:08コメント欄で意見をお聞かせください。まだの方はぜひチャンネル登録をお願いします。
00:06:13最新の技術やAIコンテンツを継続的に配信しています。それでは、また次回お会いしましょう。
커뮤니티 글
아직 글이 없습니다. 이 영상에 대한 첫 번째 글을 작성해 보세요!
이 영상에 대해 글쓰기