2017-04-14 11 views
1

私はネイティブのスピーディーなプラットフォームからクロスプラットフォームのネイティブのネイティブアプリへの私のモバイルアプリのプロジェクトのために開発を交換することに決めました。私が試してみるとすぐに私に起こる直接のブロックは、私がSwiftでCocoapods経由で反応しているすべてのライブラリにアクセスする方法を知りたいのです。たとえば、Amazon Web Services SwiftライブラリとChameleon Swiftカラーライブラリを使用しています。これらすべての素早いライブラリを変換する方法はありますか、それらをReact Nativeにアクセス可能にするか、これらすべてのライブラリのネイティブ/ javascriptバージョンを探す必要がありますか?私のSwiftライブラリをReact Nativeで使用することはできますか?

答えて

1

Facebookチームとリアクションネイティブコミュニティの両方で作成されたReact Nativeコンポーネントがたくさんあります。しかし、あなたの質問から、あなたの将来のReact Nativeアプリケーションで実行する方法を見つけるために必要な非常に固有のネイティブコードがあるようです。 私があなたの質問に与えることができる最良の答えは、提供された情報を「どのライブラリでも使用する必要がありますか」です。

私は、AndroidとiOSの両方でReactネイティブモバイルアプリケーションをいくつか構築しました。これらのアプリケーションでSwiftに存在していた機能は、JavaScriptで書かれることもあります。たとえば、fetch APIを使用してWebサービスを呼び出します。 React Nativeに組み込まれています。呼び出しているAWSサービスが基本的なHTTPリクエストを受け入れるならば、JavaScriptで自分自身を書くことができます。

S3からファイルをダウンロードするなど、もっと複雑な処理を行っている場合は、コミュニティを構築したreact-native-fetch-blobなどのファイルをダウンロードする必要があります。要求ヘッダーにSWS Authトークンが必要なものを用意する必要があります。

別のオプションは、独自のNative Moduleを書き込むことです。これらは、ネイティブの反応でjavascriptから呼び出すアプリケーションロジックのチャンクです。彼らはあなたがまっすぐなネイティブアプリで前にやったことがあった本質的に何かをすることを可能にするので、彼らは非常に強力です。それらはネイティブのプラットフォーム言語で書かれているので、iOSの場合はObj-C、Androidの場合はJava(ただし、あなたが野心的であればSwiftに書き込むことができます。これらのネイティブモジュールは、既に存在するAWS Swiftライブラリに呼び出すことができます。私の本能は、これがあなたのニーズに最も適したソリューションかもしれないと言います。ネイティブモジュールの明らかな欠点は、それらがネイティブであることです。したがって、サポートする各プラットフォーム(iOSとAndroid、おそらく)に1つずつ記述する必要があります。

React Nativeをお客様のexisting applicationに組み込むこともできます。あなたは、React Nativeであなたのアプリケーションの新しいコンポーネントを構築するか、現在のロジックをReact Nativeに少しずつ書き直していくことができます。

最後に、Chameleon SwiftはUIライブラリのようです。 React Nativeはモバイルアプリケーションの「フロントエンド」(他のものの中でも)であるため、あなたがReact Nativeを使用した場合、このライブラリを使い続けたいとは思われません。しかし、あなたが望んでいれば、理論的にはカメレオンライブラリを呼び出して色の16進数値のようなものを提供できるネイティブモジュールを書くことができます。私はこれがうまくいくかどうかわからないし、非常に演奏されない可能性が高いので、私はあなたがまっすぐ反応ネイティブのアプリでこのライブラリを使用し続けることをお勧めできませんでした(しかし、上記を参照!)。しかし、ネイティブに反応するのは自分のクールなツールだが、あなたのアプリをもっと素晴らしいものにするために使うことができる(hereherehere)。

Phew、これは役に立つと思います。

関連する問題