BT

InfoQ ホームページ ニュース Shopify、モバイルアプリ開発をReact Nativeで進める

Shopify、モバイルアプリ開発をReact Nativeで進める

ブックマーク

原文(投稿日:2020/02/02)へのリンク

React Nativeを1年使ってみて、Shopifyは今後のモバイルアプリ開発にReact Nativeを採用することにした。彼らの報告によると、開発パフォーマンスは約2倍になり、プラットフォーム間で95%以上のコードを共有できたという。

ShopifyがReact Nativeへの道を歩みはじめたのは、React Nativeに完全にフォーカスした会社、Tictailを買収してからだ。彼らの決定のもう1つの要因は、すでに広範囲のWebプロダクトでReactを使っていることだった。Reactモデルをさらにモバイルアプリへ広げられないか探求するのは、ごく自然のようにみえる。2019年、3つのチームが3つのアプリ、ArrivePoint of SaleCompassの開発をスタートした。Arriveは基本的に顧客向けの注文追跡ツールで、何百万ものダウンロード数がある。Point of SaleとCompassは販売者をターゲットにしている。

彼らはArriveをReact Nativeで書き直すことで、もともとiOSでしか使えなかったものを、ほとんどコストをかけずに、Androidでも動かすことができた。実際、Shopifyによると、Arriveの2つのバージョンはコードベースの95%を共有しているという。さらに驚くべきことは、ネイティブのiOS専用バージョンよりもクラッシュ頻度が下がったとShopifyが語っていることだ。JavaScriptベースのアプリの柔軟性のおかげで、GitHub PRに関連づけられたQRコードをスキャンして、そのPRのコードでアプリバンドルを自動更新するメカニズムなどが可能になったという。

Point of Saleでは、AndroidバージョンだけReact Nativeで開発し、iOSアプリは元のチームに任せた。Shopifyは2つのバージョンを別々にすることで、ネイティブのiOS技術とAndroid上のReact Nativeによる開発スピードを比較すること、また、React NativeバージョンとiOSのネイティブアプリのパフォーマンスを比較するのが狙いだ。Point of Saleの開発は現在も進行中であり、まだ完全な比較はできない。しかし、Androidバージョンは1.5GHz CPUで動くデバイスでも優れたパフォーマンスを示しているという。

最後に、Compassでは、ネイティブ、Flutter、React Nativeの3つのオプションを比較した。彼らは最終的にReact Nativeで進めることにし、3ヶ月でiOSとAndroidのアプリを立ち上げた。そこでは約99%のコード共有を達成できたという。

Shopifyは引き続きReact Nativeに投資していくという。しかし、彼らのアプリ全てを新しいテクノロジーで書き換えるわけではない。彼らは自身のアプリで、低レベルのネイティブライブラリおよびフレームワークを使い続けることに注意しよう。パフォーマンスが必要な場合には、ネイティブ技術を使ってより低レベルのコンポーネントを書くことを検討するだろう。具体的には、古いハードウェア(1.5GHz未満のCPU)で実行する必要のあるコンポーネント、CPU負荷の高い処理を行うコンポーネント、最高のパフォーマンスを必要とするコンポーネント、複数のバックグラウンドスレッドを使うコンポーネントなどだ。

この記事に星をつける

おすすめ度
スタイル

こんにちは

コメントするには InfoQアカウントの登録 または が必要です。InfoQ に登録するとさまざまなことができます。

アカウント登録をしてInfoQをお楽しみください。

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

コミュニティコメント

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

BT

あなたのプロファイルは最新ですか?プロフィールを確認してアップデートしてください。

Eメールを変更すると確認のメールが配信されます。

会社名:
役職:
組織規模:
国:
都道府県:
新しいメールアドレスに確認用のメールを送信します。このポップアップ画面は自動的に閉じられます。