2015-11-02 4 views
23

iOSとAndroidとのインターフェースにはどのようなものがネイティブで使用されますか? CordovaはWebViewを使用してネイティブコンテナの内部にWebページを効果的に表示します。 React Nativeは同じアプローチを使用していますか?そうでない場合、それはどのようなアプローチですか?iOSとAndroidでJavaScriptをネイティブで実行できるようにするためにReact Nativeが使用するものは何ですか?

答えて

12

あなたが気づいたように、React NativeはCordovaに基づいていません。それは、WebViewにシャベルされたアプリのようなウェブサイトではありません。

React NativeはJavaScriptランタイムを使用しますが、UIはHTMLではなく、WebViewを使用しません。 UIを定義するには、JSXとReact Native固有のコンポーネントを使用します。

これはネイティブレベルのパフォーマンスとルックアンドフィールを提供しますが、一部のUIパーツはiOSとAndroid用に別々に設定する必要があります。たとえば、ツールバーは完全に異なりますが、両方のオペレーティングシステムでTextInputを同じにすることができます。

+1

どのようにそのようなコンポーネントを作成しますか?なぜ彼らはそのような場合にフレックスボックスについて話しますか? コンポーネントを追加する場合、Java(またはObjective-C)を知っていますか? – kharandziuk

+0

- コンポーネントはCordovaに匹敵し、Android用のJavaとiOS用のObjective-Cでビルドします。例はhttps://react.parts/nativeで検索してください。 Reactのようにコンポーネントを組み合わせて他のコンポーネントを構築することもできます。 - JavaScriptで定義されたCSSプロパティを使用してアプリケーションのスタイルを設定します。彼らは、これを簡単にするためにflexboxをベースにしたレイアウトエンジンを作りました。 – AMilassin

+0

@AMilassin「JavaScriptランタイムを使用する」ので、カスタムJavaScriptエンジンを作成してiOSとAndroidで実行しましたか? Cordovaは、各プラットフォームに固有のWebViewを使用します。 React Nativeのメーカーは、JavaScriptをネイティブに実行できる代替手段を作りましたか?もしそうなら、彼らはどうしたのでしょうか? –

5

iOSシミュレータとデバイスでは、Androidエミュレータとデバイスがネイティブに反応しますJavaScriptCoreこれはSafariを強化するJavaScriptエンジンです。 Source

関連する問題