ReactNative으로 개발하기 앞서 알아야 할 기본 지식들을 정리해보자
페이스북에서 만든 오픈소스 MobileApp Framework이다. js언어를 이용하여 IOS와 AOS 동시에 개발하기 위해 개발되었다. 기존의 웹뷰를 사용하던 웹앱의 성능을 보안하고자 NativeBridge를 사용하여 NativeThread와 통신하면서 성능을 최적화하였다.
네이티브앱 -> 웹앱 -> HabridApp -> 크로스 플랫폼 앱(RN, Flutter, Xamarin)
기존 JS가 DOM으로 랜더링했지만, 각 플랫폼의 API를 호출하여 컴포넌트로 랜더링한다. 예를 들면 iOS에서는 Objective-C API를 직접 호출하고, AOS에서는 JAVA API를 호출하여 랜더링한다.
각각의 native ui에 접근하는 인터페이스를 '브릿지(bridge)' 에서 제공한다.
아래 사이트에서 동작원리에 대해 훌륭하게 소개하고 있다. 한번씩 읽어보면 좋다.
브릿지, JSThread, MainThread 등에 대한 소개 : https://velog.io/@koreanhole/React-Native%EC%9D%98-%EC%9E%91%EB%8F%99%EC%9B%90%EB%A6%AC