React Native 브리징 기법: 네이티브 모듈 통합하기
React Native 브리징 기법: 네이티브 모듈 통합하기
React Native는 JavaScript와 네이티브 모듈 간 상호작용을 통해 강력한 모바일 애플리케이션을 개발할 수 있도록 도와줍니다. 이러한 상호작용을 가능하게 하는 것이 바로 '브리징(Bridging)' 기법입니다. 이 글에서는 React Native에서 네이티브 모듈을 통합하는 브리징 기법에 대해 상세하게 설명합니다.
브리징 개요
브리징은 JavaScript 코드와 네이티브 코드(iOS, Android)를 연결하는 기술입니다. React Native는 이 브리징을 통해 JavaScript와 네이티브 간의 데이터 교환을 가능하게 합니다. 기본적인 개념은 간단하지만, 실제 적용에는 여러 단계가 필요합니다. 네이티브 모듈은 주로 성능 최적화나 특정 플랫폼 기능에 접근할 때 유용합니다. 예를 들어, GPS 모듈, 카메라 모듈, 네이티브 UI 컴포넌트 등이 있습니다.
브리징 단계
브리징을 구현하는 과정은 크게 두 가지로 나눌 수 있습니다: iOS와 Android. 이 두 플랫폼의 구현 방식은 상당히 다릅니다. 여기서는 각 플랫폼에서의 브리징 단계를 설명합니다.
iOS에서의 브리징
-
네이티브 모듈 작성: Xcode를 열고 새 파일을 추가한 후 Objective-C 또는 Swift로 네이티브 모듈을 작성합니다.
objective#import <React/RCTBridgeModule.h> @interface RCT_EXTERN_MODULE(MyModule, NSObject) RCT_EXTERN_METHOD(doSomething:(NSString *)stringArg) @end
-
팩토리 메소드 추가:
RCTBridgeModule
프로토콜을 준수하는 팩토리 메소드를 추가합니다. -
JavaScript 호출 구현: JavaScript 코드에서 네이티브 모듈을 호출할 수 있도록 합니다.
jsimport { NativeModules } from 'react-native'; const { MyModule } = NativeModules; MyModule.doSomething('Hello from JavaScript');
Android에서의 브리징
-
네이티브 모듈 작성: Android Studio를 열고
Java
또는Kotlin
으로 네이티브 모듈을 작성합니다.javapackage com.myapp; import com.facebook.react.bridge.ReactApplicationContext; import com.facebook.react.bridge.ReactContextBaseJavaModule; import com.facebook.react.bridge.ReactMethod; public class MyModule extends ReactContextBaseJavaModule { MyModule(ReactApplicationContext context) { super(context); } @Override public String getName() { return