Skip to main content
Version: Next

코드 생성기(Codegen)란?

**코드 생성기(Codegen)**는 반복적인 코드 작성을 줄여주는 도구다. 코드 생성기를 사용하는 것은 필수가 아니다. 모든 코드를 직접 작성할 수도 있다. 그러나 코드 생성기는 기본 구조를 자동으로 생성해주기 때문에 시간을 크게 절약할 수 있다.

React Native는 iOS나 Android 앱을 빌드할 때마다 자동으로 코드 생성기를 실행한다. 때로는 Turbo Native Modules나 Fabric Native Components를 개발할 때, 어떤 타입과 파일이 실제로 생성되는지 확인하기 위해 코드 생성기 스크립트를 수동으로 실행하고 싶을 수 있다. 이는 일반적인 개발 시나리오 중 하나다.

Codegen이 작동하는 방식

Codegen은 React Native 앱과 밀접하게 연결된 프로세스다. Codegen 스크립트는 react-native NPM 패키지 내부에 존재하며, 앱은 빌드 시점에 이 스크립트를 호출한다.

Codegen은 프로젝트 내 폴더를 탐색한다. 탐색은 package.json에 지정한 디렉토리에서 시작하며, 커스텀 모듈과 컴포넌트에 대한 명세(spec)를 포함한 특정 JS 파일을 찾는다. 명세 파일은 타입이 지정된 형태로 작성된 JS 파일이다. React Native는 현재 Flow와 TypeScript를 지원한다.

Codegen이 명세 파일을 발견할 때마다, 해당 파일과 관련된 보일러플레이트 코드를 생성한다. Codegen은 C++ 글루 코드를 생성한 후, 플랫폼별 코드를 생성한다. Android의 경우 Java를, iOS의 경우 Objective-C++를 사용한다.