패스잇
모바일 개발 · 중급

React Native에서 JavaScript 코드와 네이티브 모듈(Java/Kotlin for Android, Objective-C/Swift for iOS) 간의 통신 원리에 대해 설명하고, 네이티브 모듈을 언제 사용해야 하는지 예시를 들어주세요.

힌트 · 브릿지를 통해 직렬화된 메시지를 주고받으며 통신하고, JS에서 접근할 수 없는 하드웨어 기능이나 고성능 네이티브 라이브러리 사용 시 네이티브 모듈을 활용합니다.

BridgeNative ModulesJavaScriptCoreThread성능

모범답안

React Native에서 JavaScript 코드와 네이티브 모듈 간의 통신은 브릿지(Bridge)를 통해 이루어집니다. JavaScriptCore 엔진에서 실행되는 JavaScript 코드는 브릿지를 통해 메시지를 직렬화하여 네이티브 코드로 전달하고, 네이티브 코드 역시 결과를 직렬화하여 JavaScript로 전달합니다. 이 과정은 비동기적으로 처리됩니다.

네이티브 모듈은 JavaScript만으로는 접근하기 어려운 특정 하드웨어 기능(예: 블루투스, 카메라의 고급 기능)을 사용해야 할 때, 또는 고성능이 요구되는 네이티브 라이브러리(예: 이미지 처리, 복잡한 계산)를 활용해야 할 때 사용합니다. 예를 들어, JavaScript로는 구현하기 어려운 특정 플랫폼 API를 사용하거나, JavaScript로 처리하기에는 성능상 병목이 발생하는 복잡한 이미지 처리 로직을 구현할 때 네이티브 모듈을 활용할 수 있습니다.

읽었다면, 이제 직접 답해볼 차례예요

패스잇 앱에서 이 질문에 말로 답하면 AI가 꼬리질문까지 이어가며 1:1 코칭합니다.

함께 보는 React Native 면접 질문

← React Native 면접 질문 전체 보기