iOSとAndroidとのインターフェースにはどのようなものがネイティブで使用されますか? CordovaはWebViewを使用してネイティブコンテナの内部にWebページを効果的に表示します。 React Nativeは同じアプローチを使用していますか?そうでない場合、それはどのようなアプローチですか?iOSとAndroidでJavaScriptをネイティブで実行できるようにするためにReact Nativeが使用するものは何ですか?
23
A
答えて
12
あなたが気づいたように、React NativeはCordovaに基づいていません。それは、WebViewにシャベルされたアプリのようなウェブサイトではありません。
React NativeはJavaScriptランタイムを使用しますが、UIはHTMLではなく、WebViewを使用しません。 UIを定義するには、JSXとReact Native固有のコンポーネントを使用します。
これはネイティブレベルのパフォーマンスとルックアンドフィールを提供しますが、一部のUIパーツはiOSとAndroid用に別々に設定する必要があります。たとえば、ツールバーは完全に異なりますが、両方のオペレーティングシステムでTextInputを同じにすることができます。
5
iOSシミュレータとデバイスでは、Androidエミュレータとデバイスがネイティブに反応しますJavaScriptCoreこれはSafariを強化するJavaScriptエンジンです。 Source
関連する問題
- 1. React NativeにネイティブUIViewControllerを表示するにはどうすればよいですか? (ちょうどUIViewを使用することはできません)
- 2. React Nativeにはどのようにサウンドファイルが必要ですか?
- 3. React Nativeの原則は何ですか?
- 4. React Native - AppDelegate(iOS)のネイティブからJavaScriptへのイベントの送信
- 5. すべてのReactコンポーネントはReact Nativeで使用できますか?
- 6. React Native Componentに画像を条件付きで含めるにはどうすればよいですか?
- 7. PubNubをReactネイティブで使用する
- 8. React Native iosアプリケーションで "libBacktraceRecording.dylib"を使用した場合のメモリリーク
- 9. React Nativeを使用しているときにネイティブエレメントをスタイルすることはできますか?
- 10. GolangモバイルをReact-Nativeで使用できますか?
- 11. React Native - Androidアプリがデバッグで動作し、リリース時にクラッシュする
- 12. Release用にコンパイルするときにJSバンドルをShare Extensionに置くためにReact Nativeを入手するにはどうすればよいですか?
- 13. React Nativeスクロールビューの要素の順序を変更できるようにする
- 14. React-Native + Crypto:React-NativeでHMACを生成するには?
- 15. Ubuntu 14.10でreact-nativeをどのようにデバッグしますか?
- 16. React NativeアプリがJavaScriptコードからデバッグまたはリリースビルドであるかどうかを確認するにはどうすればよいですか?
- 17. React NativeのalignItemsとalignSelfの違いは何ですか?
- 18. React NativeアプリをHerokuに導入することはできますか?
- 19. 実行時にクラスを作成するときに `type()`よりも `exec`を使う利点は何ですか?
- 20. react-native MainActivity.javaとMyApp.javaの違いは何ですか
- 21. React native JsコードからAndroidネイティブUIコンポーネントメソッドを呼び出す
- 22. JavaScriptの注入とは何ですか?ソフトウェアテストでどのように使用できるのでしょうか?
- 23. React Nativeを使用して電子メールを送信するiOS
- 24. React Native:9000のAndroid画面サイズを管理するにはどうすればよいですか?
- 25. React Native - NavbarのnavigationBarでToolbarAndroidを使用
- 26. React NativeでTextInput focusをクリアする方法は? (Android)
- 27. ウェブサイトアーキテクチャを作成するために使用するものは何ですか?
- 28. React-Nativeで既存のWebView JavascriptInterfaceを使用する
- 29. Android:純粋なネイティブ実行ファイルでndk-gdbを使用するには?
- 30. pack200をjdk 1.4で実行するためにクラスファイルを圧縮するために使用できますか?
どのようにそのようなコンポーネントを作成しますか?なぜ彼らはそのような場合にフレックスボックスについて話しますか? コンポーネントを追加する場合、Java(またはObjective-C)を知っていますか? – kharandziuk
- コンポーネントはCordovaに匹敵し、Android用のJavaとiOS用のObjective-Cでビルドします。例はhttps://react.parts/nativeで検索してください。 Reactのようにコンポーネントを組み合わせて他のコンポーネントを構築することもできます。 - JavaScriptで定義されたCSSプロパティを使用してアプリケーションのスタイルを設定します。彼らは、これを簡単にするためにflexboxをベースにしたレイアウトエンジンを作りました。 – AMilassin
@AMilassin「JavaScriptランタイムを使用する」ので、カスタムJavaScriptエンジンを作成してiOSとAndroidで実行しましたか? Cordovaは、各プラットフォームに固有のWebViewを使用します。 React Nativeのメーカーは、JavaScriptをネイティブに実行できる代替手段を作りましたか?もしそうなら、彼らはどうしたのでしょうか? –