メインコンテンツへスキップ

用語集

Dev Menu

様々な開発およびデバッグアクションへのアクセスを提供する、アプリ内開発者メニュー(開発ビルドで利用可能)。Dev Menuに関する詳細はドキュメントで確認できます

Fabric Renderer

React Nativeは、Web用のReactと同じReactフレームワークコードを実行します。しかし、React NativeはDOMノード(Webのホストビューと見なせる)の代わりに、一般的なプラットフォームビュー(ホストビュー)にレンダリングします。ホストビューへのレンダリングはFabric Rendererによって可能になります。FabricはReactが各プラットフォームと通信し、そのホストビューインスタンスを管理することを可能にします。Fabric RendererはJavaScript内に存在し、C++コードによって提供されるインターフェースをターゲットとします。Reactのレンダラーに関する詳細は、こちらのブログ記事をご覧ください。

ホストプラットフォーム

React Nativeを組み込むプラットフォーム(例:Android、iOS、macOS、Windows)。

ホストビューツリー(およびホストビュー)

ホストプラットフォーム(例:Android、iOS)におけるビューのツリー表現。Androidでは、ホストビューはandroid.view.ViewGroupandroid.widget.TextViewなどのインスタンスであり、これらがホストビューツリーの構成要素です。各ホストビューのサイズと位置はYogaで計算されたLayoutMetricsに基づき、各ホストビューのスタイルと内容はReact Shadow Treeからの情報に基づいています。

JavaScript Interfaces (JSI)

C++アプリケーションにJavaScriptエンジンを組み込むための軽量API。FabricはこれをFabricのC++コアとReact間の通信に使用します。

Java Native Interface (JNI)

Javaで書かれたFabricのC++コアとAndroid間の通信に使用される、Javaネイティブメソッドを記述するためのAPI

React Component

React Elementの作成方法を指示するJavaScript関数またはクラス。Reactコンポーネント、要素に関する詳細は、こちらのブログ記事をご覧ください。

React Composite Components

他のReact Composite ComponentsまたはReact Host Componentsに還元されるrender実装を持つReact Component。

React Host ComponentsまたはHost Components

ビューの実装がホストビューによって提供されるReact Component(例:<View>, <Text>)。Webでは、ReactDOMのHost Componentは<p><div>のようなコンポーネントになります。

React Element Tree(およびReact Element)

React Element TreeはJavaScriptでReactによって作成され、React Elementで構成されます。React Elementは画面に表示されるべき内容を記述するプレーンなJavaScriptオブジェクトです。これにはプロパティ、スタイル、子が含まれます。React ElementはJavaScript内にのみ存在し、React Composite ComponentsまたはReact Host Componentsのいずれかのインスタンス化を表すことができます。Reactコンポーネントと要素に関する詳細は、こちらのブログ記事をご覧ください。

React Native Framework

React Nativeは、開発者がReactプログラミングパラダイムを使用して、ネイティブターゲットにアプリケーションを配布することを可能にします。React Nativeチームは、ネイティブアプリ開発における最も一般的なユースケースに適合するコアAPI機能の作成に注力しています。

ネイティブアプリを本番環境にデプロイするには、React Nativeの一部としてデフォルトでは提供されないものの、アプリを本番環境にリリースするために依然として不可欠な一連のツールとライブラリが必要となるのが一般的です。そのようなツールの例として、専用ストアへのアプリケーション公開のサポートや、ルーティングおよびナビゲーションメカニズムのサポートなどがあります。

これらのツールとライブラリがReact Nativeの上に構築された一貫性のあるフレームワークを形成するために集められたとき、我々はそれをReact Native Frameworkと定義します。

オープンソースのReact Native Frameworkの例として、Expoがあります。

React Shadow Tree(およびReact Shadow Node)

React Shadow TreeはFabric Rendererによって作成され、React Shadow Nodeで構成されます。React Shadow Nodeは、マウントされるReact Host Componentを表すオブジェクトであり、JavaScriptから派生したプロパティを含みます。また、レイアウト情報(x、y、幅、高さ)も含まれます。Fabricでは、React Shadow NodeオブジェクトはC++内に存在します。Fabric以前は、これらはモバイルランタイムヒープ(例:Android JVM)に存在していました。

Yoga Tree(およびYoga Node)

Yoga TreeYogaによってReact Shadow Treeのレイアウト情報を計算するために使用されます。React NativeはYogaをレイアウト計算に利用するため、各React Shadow Nodeは通常、Yoga Nodeを作成します。しかし、これは厳密な要件ではありません。FabricはYogaを使用しないReact Shadow Nodeを作成することもできます。各React Shadow Nodeの実装が、レイアウトの計算方法を決定します。