본문으로 건너뛰기

© 2026 Molayo

Dev.to헤드라인2026. 06. 05. 23:08

Rork는 React Native 앱을 스캐폴딩할 수 있지만, App Store까지 함께 갈 수는 없습니다

요약

Rork와 같은 샌드박스형 모바일 에이전트는 React Native 앱 스캐폴딩에는 뛰어나지만, 실제 앱 스토어 배포와 같은 복잡한 네이티브 파이프라인 처리에는 한계가 있습니다. 진정한 배포를 위해서는 사용자의 로컬 환경과 자격 증명에 접근할 수 있는 Claude Code나 Cursor 같은 파일 시스템 에이전트가 필요합니다.

핵심 포인트

  • 샌드박스형 에이전트는 Expo Go 실행까지는 빠르지만 실제 배포에는 한계가 있음
  • 모바일 배포는 단순 버튼 클릭이 아닌 네이티브 빌드 및 EAS 파이프라인 과정임
  • OTA 업데이트를 위해서는 사용자 소유의 채널과 인프라가 필수적임
  • Claude Code나 Cursor처럼 로컬 파일 시스템에 접근하는 에이전트가 배포에 더 적합함

Rork는 당신이 설명하는 것보다 더 빠르게 React Native 앱을 스캐폴딩(scaffold)합니다. 프롬프트를 입력하고, Expo 앱이 스스로 조립되는 것을 지켜본 뒤, QR 코드를 스캔하면 Expo Go에서 당신의 휴대폰으로 앱이 실행됩니다. 처음 오후 동안은 모바일 샌드박스(sandbox)가 마침내 웹 샌드박스 수준을 따라잡은 것처럼 느껴집니다.

하지만 실제 사용자 앞에 앱을 내놓으려 하는 순간, 모든 샌드박스형 모바일 에이전트가 공유하는 벽에 부딪히게 됩니다. 당신 소유가 아닌 휴대폰에 React Native 앱을 올리는 것은 단순한 '배포(deploy)' 버튼 하나로 해결되는 문제가 아닙니다. 그것은 파이프라인(pipeline)이며, 이 파이프라인은 브라우저 탭이 아니라 당신의 기기와 Apple의 시스템 상에 존재합니다.

스캐폴딩은 쉬운 80%에 불과합니다

샌드박스형 RN 에이전트들은 자신들이 담당하는 부분에 대해서는 진정으로 뛰어납니다. 화면(Screens), 네비게이션(navigation), 컴포넌트 트리(component tree), 일부 모의 데이터(mock data), 그리고 Expo Go에서의 실행까지. 그것은 실제적인 가치이며, 데모를 보여주기에 아주 좋은 부분입니다.

하지만 그 부분은 모바일 출시 과정에서 결코 어려운 부분이 아니었습니다. 진짜 어려운 부분은 샌드박스의 프리뷰(preview)를 벗어나는 순간부터 시작됩니다.

App Store는 배포 버튼이 아닙니다

웹에서는 "출시(ship it)\

샌드박스 프리뷰를 종료하는 라인은 다음과 같습니다:

npx expo prebuild # native ios/ + android/ 프로젝트를 생성합니다
npx expo run:ios # 로컬에서 native 앱을 컴파일합니다
...

Config plugins (설정 플러그인)는 빌드 시점에 native 프로젝트를 패치합니다. 커스텀 native module (네이티브 모듈)이 포함된 모든 경우에는 development build (개발 빌드)가 Expo Go를 대체합니다. 이는 정상적이고 문서화가 잘 되어 있는 Expo의 작업 방식이며, 실제 빌드 환경, 실제 app.json/app.config.ts, 그리고 실제 EAS 파이프라인 (pipeline)을 필요로 합니다. 오직 Expo Go로 렌더링하는 방법만 아는 샌드박스(sandbox)는 이 단계까지 당신을 따라올 수 없습니다.

OTA 업데이트에는 당신이 소유한 채널이 필요합니다

제품을 출시하고 나면, 새로운 스토어 심사 없이 JS (JavaScript) 수정 사항을 푸시하고 싶을 것입니다. 그것이 바로 eas update이며, 이는 **당신의 프로젝트 및 자격 증명 (credentials)과 연결된 채널 (channel)**로 푸시됩니다.

eas update --branch production --message "fix the checkout race"

production 채널에 설치된 클라이언트들은 다음 실행 시 새로운 번들 (bundle)을 가져옵니다. 당신의 EAS 프로젝트, 채널, eas.json의 빌드 프로필 (build profiles)로 이어지는 이 전체 루프는 당신이 소유한 인프라 (infrastructure)입니다. 당신의 계정을 가지고 있지 않은 도구 안에서는 이 인프라가 존재할 수 없습니다.

이를 수행할 수 있는 에이전트는 당신의 레포지토리에 있습니다

중요한 점은 이것입니다: 파일 시스템 에이전트 (file-system agent)라면 위의 모든 것을 수행할 수 있습니다. 실제 당신의 레포지토리 (repo)에 자리 잡고 있는 Claude Code나 Cursor는 eas build를 실행하고, eas.json을 읽고, config plugin을 연결하며, 빌드 번호를 올리고, 스토어 제출 과정을 수행할 수 있습니다. 왜냐하면 이들은 당신의 머신, 자격 증명, 그리고 스크립트에 접근할 수 있기 때문입니다.

차이점은 지능이 아닙니다. 위치입니다. 샌드박스 에이전트는 Expo Go 프리뷰에서 끝나는 브라우저 탭 안에 있습니다. 파일 시스템 에이전트는 실제 파이프라인이 실행되는 레포지토리 안에 있습니다.

단계샌드박스 에이전트 (Rork 방식)파일 시스템 에이전트 (Cursor / Claude Code)
화면 스캐폴딩 (Scaffold screens)
...

마지막 구간(last mile)을 지루하게 만드는 데 필요한 것

마지막 20%가 가혹한 이유는 개별 단계가 어렵기 때문이 아닙니다. 바로 당신의 프로젝트에 대해 문서화되어 있지 않기 때문에, 당신의 에이전트(agent)가 이를 다시 유도(re-derive)해내야 하기 때문입니다. 이를 명시적으로 만들어두면 에이전트는 이를 순식간에 처리합니다.

그것이 바로 우리가 OTF 피트니스 키트(fitness kit)에 담은 것입니다. iOS, Android, 웹에서 실행되는 하나의 Expo 코드베이스, 빌드 프로필(build profiles)이 이미 정의된 eas.json, 연결된 EAS Update 채널, 이 앱이 어떻게 빌드되고 배포되는지를 에이전트에게 정확히 알려주는 CLAUDE.md, 그리고 구전되는 방식(folklore) 대신 문서로 기록된 스토어 제출(store-submission) 단계들입니다. Rork와 마찬가지로 QR 코드를 스캔하여 몇 초 만에 미리보기(preview)를 할 수 있지만, 당신이 구매한 제품은 그 미리보기를 벗어나는 방법까지 알고 있습니다.

Rork가 5분 만에 실행 가능한 미리보기를 제공한다는 것은 사실이며, 그 자체로 가치가 있습니다. 다만 그것을 배포(shipping)와 혼동하지 마십시오. 미리보기는 언제나 쉬웠던 부분입니다. App Store는 당신 외에 다른 누군가가 당신의 앱을 실행할 수 있을지를 결정하는 부분이며, 그 부분은 샌드박스(sandbox)가 끝나는 지점이 아니라 당신의 에이전트와 자격 증명(credentials)이 존재하는 곳에 있습니다.

AI 자동 생성 콘텐츠

본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.

원문 바로가기
0

댓글

0