2021.03.11 일지

0후·2021년 3월 11일
0

비트캠프

목록 보기
98/112

리액트 네이티브(React Native)

페이스북이 개발한 오픈 소스 모바일 애플리케이션 프레임워크이다. 안드로이드, iOS, 웹용 애플리케이션을 개발하기 위해 사용되며, 개발자들이 네이티브 플랫폼 기능과 더불어 리액트를 사용할 수 있게 한다.

동작원리

동작 원리는 리액트 네이티브가 가상 DOM을 통해 DOM을 조작하지 않는다는 점을 제외하고는 리액트와 실질적으로 동일하다. 직렬화, 비동기, 일괄 처리 브리지를 통해 네이티브 플랫폼과 통신하며 종단 장치에 직접(개발자가 작성한 자바스크립트를 해석하는) 백그라운드 프로세스로 실행된다.
리액트 구성 요소들은 리액트의 선언형 UI 패러다임과 자바스크립트를 통해 기존 네이티브 코드를 감싸고 네이티브 API와 통신한다. 이렇게 함으로써 새 개발자 팀을 위한 네이티브 앱 개발을 가능케 하며 기존 네이티브 팀들이 훨씬 더 빠르게 작업할 수 있게 한다.
리액트 네이티브는 HTML이나 CSS를 사용하지 않는다. 그 대신 자바스크립트 쓰레드로부터의 메시지를 사용하여 네이티브 뷰를 조작한다. 리액트 네이티브는 개발자들이 안드로이드용 자바/코틀린, iOS용 오브젝티브-C/스위프트와 같은 언어로 작성한 네이티브 코드와 인터페이스가 가능하도록 브릿지(Bridge)를 제공하므로 더 많은 유연성을 제공한다.

리액트 vs 리액트 네이티브

리액트리액트 네이티브
HTML, CSS 사용HTML, CSS 사용하지 않음
프로그래머가 매력적인 고성능 UI 레이어를 만들 수있는 JavaScript 라이브러리웹, iOS 또는 Android 등 크로스 플랫폼 앱을 빌드하기위한 전체 프레임워크
가상 DOM은 리액트에서 브라우저 코드를 렌더링하는 데 사용가상 DOM이 따로 없고, 네이티브 API가 모바일에서 구성 요소를 렌더링하는 데 사용

따라서, 웹 인터페이스를위한 고성능, 동적 및 반응 형 UI를 구축해야하는 경우 리액트가 최선의 선택 이고, 모바일 앱에 진정한 네이티브 느낌을 주려면 리액트 네이티브가 최선의 선택이다.

profile
휘발방지

0개의 댓글