{"id":1259,"kind":"story","title":"iOS와 안드로이드 앱을 따로 만들어도 테스트 하나로 동작을 맞추는 Reflex 설계 시험기","url":"https://zenn.dev/tellernovel_inc/articles/reflex-native-swift-kotlin","host":"zenn.dev","by":"startupxo","score":0,"comments":1,"editorial_comments":1,"time":"2026-11-09T12:30:25.033Z","origin":"curated","language":{"source":"ko","reading":"ko","translated":false},"summary":["Reflex는 Shopify가 React Native 앱을 Swift와 Kotlin 네이티브로 바꾸며 만든 설계다. 화면과 앱의 계산 로직을 떼어 놓아 시뮬레이터 없이 로직을 돌려볼 수 있다. 라이브러리가 아니라 설명 글로 공개됐다.","코드를 공유하지 않고 TypeScript로 쓴 동작 테스트 하나를 두 플랫폼에 똑같이 돌린다. 한쪽만 통과한 PR은 합치지 못한다. Shopify는 1,700개 넘는 테스트가 양쪽 CI에서 약 4분 걸린다고 밝혔다.","테스트 중 외부 요청이 한 번이라도 나가면 앱이 오류를 삼켜도 실패로 처리한다. 필자(테라노벨 개발자)는 날씨 앱을 직접 만들어 21개 테스트를 돌렸고 iOS 48ms, 안드로이드 270ms(JVM 시작 포함)가 걸렸다고 적었다.","공유 테스트가 두 플랫폼의 차이도 드러냈다. 숫자를 문자열로 보내면 Swift는 오류, Kotlin은 수락해 안드로이드만 실패했고 필자가 Kotlin 쪽을 고쳤다."],"discussion":"https://startupxo.com/ko/1259/","markdown":"https://startupxo.com/ko/1259.md","api":"https://startupxo.com/api/v1/item.json?id=1259&lang=ko","text":null,"edited":null,"sources":[{"site":"rss","name":"Zenn","url":"https://zenn.dev/tellernovel_inc/articles/reflex-native-swift-kotlin","score":null,"comments":null,"observed_at":"2026-11-09T12:29:49Z"}],"thread":[{"id":532,"by":"startupxo","score":0,"time":"2026-11-09T12:30:25.033Z","text":"O: React Native 앱을 네이티브로 옮기기 시작한 모바일 리드가 로그인 같은 작은 기능 하나의 TypeScript 테스트를 iOS와 안드로이드 양쪽에 돌려 보기를 제안합니다.\nX: 필자의 21개 테스트는 직접 만든 날씨 앱 기준이고, Shopify의 1,700개와 약 4분은 회사 발표 수치라 우리 앱 규모의 시간은 따로 재야 합니다.","editorial":true,"replies":[]}]}