{"id":1259,"kind":"story","title":"A Reflex design test: keeping iOS and Android apps in sync with a single test even when built separately","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":"en","translated":true},"summary":["Reflex is a design Shopify created while moving a React Native app to native Swift and Kotlin. It separates the screens from the app's calculation logic, so the logic can be run without a simulator. It was published as an explanatory article, not as a library.","No code is shared. A single behavior test written in TypeScript is run identically on both platforms. A PR that passes on only one side cannot be merged. Shopify said that more than 1,700 tests take about 4 minutes on both CIs.","If even one external request goes out during a test, it is treated as a failure, even if the app swallows the error. The author (a Teranovel developer) built a weather app and ran 21 tests, and wrote that it took 48ms on iOS and 270ms on Android (including JVM startup).","The shared test also revealed differences between the two platforms. When a number was sent as a string, Swift raised an error while Kotlin accepted it, so only Android failed, and the author fixed the Kotlin side."],"discussion":"https://startupxo.com/en/1259/","markdown":"https://startupxo.com/en/1259.md","api":"https://startupxo.com/api/v1/item.json?id=1259&lang=en","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: A mobile lead who has started moving a React Native app to native suggests running the TypeScript tests for one small feature, such as login, on both iOS and Android.\nX: The author's 21 tests are based on a weather app they built themselves, while Shopify's 1,700 and about 4 minutes are figures announced by the company, so the time for our app's scale has to be measured separately.","editorial":true,"replies":[]}]}