web-dev-qa-db-ja.com

React native vs CRNA

反応するネイティブアプリの開発から始めて、どのパスに進むべきかを決めるのに助けが必要です。

主な質問は、React Nativeを使用するか、React Nativeアプリを作成するかです。

私が理解していることから、CRNAはexpoクライアントとツールを使用してネイティブに反応し、より快適な使用が可能です(開発者アカウントは不要など)

React NativeよりもCRNAを使用することの利点を確認できます(依存関係を設定する必要がない、開発を開始するまでの時間が短縮される、iPhone開発アカウントやxcode + Androidコンビが不要など)

ただし、すべてのネイティブライブラリが含まれているわけではないため、後からアプリをエクスポートし、xcodeおよびAndroid studioと同様に引き続き作業する必要があります。

したがって、CRNAがすべてを始めるのにちょうど良い方法である場合、一時的な解決策にはまったく意味がないので、すぐにネイティブのバニラの反応に行きます。

また、おそらくこれで私を修正できますが、私が逃した重要な利点がない限り、アプリの上に別のラッパーを置くというアイデアは好きではありません。

それで、これに関するあなたの経験を共有してもらえますか?過去にリアクティブネイティブでアプリを開発したことがある場合、どのパスを使用し、将来どのパスを使用しますか? Reactネイティブ、CRNAまたはネイティブおよびエクスポ環境に反応しますか?

前もって感謝します。

38
CoffeeCups

こんにちは私はまた、トピックに関する私の経験の一部を共有します。

私はフロントエンドのバックグラウンドを持ち、XCodeまたはAndroid Studioに精通していなかったため、CRNAからネイティブアプリの開発を開始することにしました。

実際、テキストエディターだけで、純粋にjavascriptを使用し、組み込みのexpo SDKコンポーネントを使用して、すぐに実装し、公開することができました Play Store a simple simple app 。私は本当に素晴らしいと思う:)

しかし、アプリを公開した後、同様のライバルJavaアプリと競合できないいくつかの落とし穴があることに気付きました。

最大のIMOは、expサービスで生成されたapkのサイズです。ビジネスロジックがそれほど多くなく、画面が3つしかないアプリの場合、25 MBとインストール後の約60 MBは非常に多くなります。 expo devsによる より複雑なアプリは、ほぼ同じサイズか、サイズの大部分がネイティブの依存関係であり、実際のjavascript側ではないため、わずかに大きくなります。しかし、これは依然として大きな問題であり、おそらくビルドサイズを最適化するためにejectアプリを使用する必要があります

したがって、一般的にCRNAは何かを起動して機能させるための優れた高速な方法ですが、ユーザーにアプリを公開する前に、カスタムビルドとAndroidスタジオ

24
tomekz

Create-react-native-appは、特にReactに慣れていない場合は、react nativeのReact部分に集中できるようにするための良い方法だと思います。そして、ネイティブで何かをする準備ができたら、単にnpm run eject

昨年後半にリアクションネイティブで新しいプロジェクトを開始したとき、create-react-native-appはなく、expoを最初に評価しました。ネイティブ統合が必要であると確信しているときに削除しない限り、簡単なネイティブ統合がなかったので、私はそれが好きではありませんでした。したがって、私はバニラリアクションネイティブで行きました。また、ウェブとiOSでReactを、またネイティブ開発でAndroidを使用した経験があります。

9
hyb175

アプリ開発の経験を共有したいと思います。反応が初めてだったので、CRNAから始めて、スムーズに進みました。 Expoには、プッシュ通知、アニメーション(Airbnbが推奨するLottie)、アプリでネイティブライブラリを使用するときにいつでもアプリをイジェクトでき​​るという安心感など、多くの機能があります。最良の部分は、コードを書き換える必要がないことです、そして、すべての博覧会排他的な機能も同様に働くでしょう。したがって、CRNA(可能な限り使用)+ eject(ネイティブライブラリが必要な場合)=スイートスポット。

0
ASHISH BHARDWAJ