용어사전
Dev Menu
개발자 메뉴(development 빌드에서 가능한)는 다양한 개발과 디버깅 액션을 제공합니다. Dev Menu 문서를 확인해보세요
Fabric Renderer
React Native는 web을 위한 React로서의 React 프레임워크 코드와 같게 동작합니다. 그러나 React Native는 Dom node들 대신에 일반적인 platform view들을 render 그려줍니다. 이것은 Fabric Renderer에 의해 가능합니다. Fabric은 React에게 각각의 플랫폼을 알려주고 host view의 인스턴스들을 관리합니다. Fabri Renderer는 javascript로 존재하고 타겟팅된 interface는 c++ 코드로 만들어 집니다. React의 reneder에 관해선 이 문서에서 더 확인해보세요
Host platform
React Native가 내장된 플랫폼 입니다(Android, Ios, macOs, windows)
Host View Tree(and Host View)
Tree는 host 플랫폼에서 view들의 표현입니다. 안드로이드에서 host view들은 host view tree를 구성하는 android.view.ViewGroup, android.widget.TextView 등의 인스턴스들 입니다. 각 host view의 크기와 위치는 Yoga에 의해 계산되는 LayoutMetrics에 기초하고각 host view의 스타일과 내용은 React Shaodw Tree의 정보로부터 표현됩니다
Javascript Interfaces (JSI)
C++ 어플리케이션에 있는 경량화된 Javascript 엔진입니다. Fabric은 Fabric C++ 코어와 React의 소통을 위해 쓰입니다.
Java Native Interface (JNI)
자바로 쓰여진 Fabric's C++ 코어와 안드로이드 간에 소통하기 위해 쓰여지는 Java 네이티브 메소드 API 입니다.
React Component
React 구성요소를 만들기 위한 함수형 혹은 클래스형 Javascript 입니다. React 컴포넌트 관련해선 이 글을 더 읽어보세요
React Composite Components
다른 React Composite Components 혹은 React Host Componentem들을 줄이는 render를 수행하는 React Components
React Host Components or Host Components
view의 실행이 host View에 의해 제공되는 React Components(<View>, <Text>). 웹에서는 ReactDom's Host Components는 <p>와 <div> 컴포넌트 들이다.
React Element Tree (and React Element)
React Elements를 구성하고 React의 Javascript로 만들어진 React Element Tree. React Element는 화면을 표현한 순수한 Javascript 객체이다. props, styles, children을 포함한다. React Elements는 Javascript에만 존재하고 React Host Components 혹은 React Composite Componets의 구현을 표현할 수 있다. React Components에 관해선 이 글에서 좀 더 확인해보세요
React Native Framework
React Native는 native 타겟의 어플리케이션을 제공하기 위해 React Programming paradigm 을 사용할 수 있게 합니다. React Native 팀은 네이티크 앱들을 개발할 수 있도록 core Api들과 기능을 제공하는 데에 집중합니다.
운영에 네이티브 앱을 제공하는것은 일반적으로 React Native part에서 앱을 운영하기 위해 여전히 중요하지만 기본적으로 제공되지 않는 도구들과 라이브러리들을 요구합니다. 몇몇 도구들은 스토어에 앱을 출시하기 위한 앱들이나 routing 이동 메커니즘을 제공하는 것들과 같은것이 있습니다.
이러한 도구들과 라이브러리들은 React Native를 기반으로한 프레임워크를 구성하기 위해 수집되고 우리는 이것을 React Native Framework라 합니다.
오픈 소스 React Native Framework에는 expo와 같은것이 있습니다
React Shadow Tree (and React Shadow Node)
React Shadow Tree는 Fabric Renderer에 의해 만들어 지고 React Shaodw Node를 구성합니다. React Shadow Node는 mount되어 지는 React Host Component들을표현하는 객체이고 Javascript의 props들을 포함합니다. layout 정보(x, y, width, height) 에 대한 것도 포함합니다. Fabric에서 React Shadow Node는 C++로 구성됩니다. Fabric 이전에는 mobile runtime heap(예를 들면 JVM)으로 존재했습니다
Yoga Tree (and Yoga Node)
Yoga Tree는 React Shadow Tree의 레이아웃 정보를 계산하기 위해 Yoga에서 사용됩니다. 각각의 React Shadow Node는 React Native에서 레이아웃을 계산하기 위해 Yoga를 사용하기 때문에 Yoga Node를 만듭니다. 그러나 이것은 필수 요구사항이 아닙니다. Fabric은 Yoga를 사용하지 않고 React Shadow Node들을 만들 수 있습니다. 각각의 React Shadow Node가 레이아웃을 계산하는 방법을 결정합니다.
출처 ; https://reactnative.dev/architecture/glossary#react-shadow-tree-and-react-shadow-node
'네이티브 > ReactNative' 카테고리의 다른 글
ReactNative 0.74 release notes [번역글] (1) | 2024.09.07 |
---|---|
ReactNative와 프로젝트 의존성들을 쉽게 upgrade하는 법(번역 + 의견) (0) | 2024.05.12 |