--- id: wiki-2026-0508-turbomodules title: TurboModules category: Frontend status: needs_review canonical_id: self aliases: [] duplicate_of: none source_trust_level: A confidence_score: 0.92 tags: [auto-wikified, technical-documentation, frontend] raw_sources: [] last_reinforced: 2026-05-08 github_commit: pending inferred_by: Claude Opus 4.7 (auto-normalize 2026-05-08) tech_stack: language: unspecified framework: unspecified --- # TurboModules ## ๐Ÿ“Œ ํ•œ ์ค„ ํ†ต์ฐฐ (The Karpathy Summary) TurboModules๋Š” React Native์˜ ์ƒˆ๋กœ์šด ์•„ํ‚คํ…์ฒ˜(New Architecture)๋ฅผ ๊ตฌ์„ฑํ•˜๋Š” ์ฐจ์„ธ๋Œ€ ๋„ค์ดํ‹ฐ๋ธŒ ๋ชจ๋“ˆ(Native Modules) ์‹œ์Šคํ…œ์ด๋‹ค [1, 2]. ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๊ฐ€ ๋„ค์ดํ‹ฐ๋ธŒ ๋ฉ”์„œ๋“œ๋ฅผ ์ง์ ‘์ ์ด๊ณ  ๋™๊ธฐ์ (synchronous)์œผ๋กœ ํ˜ธ์ถœํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ฃผ๋Š” JSI(JavaScript Interface)๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ์ž‘๋™ํ•œ๋‹ค [1, 2]. ๊ธฐ์กด ๋ฐฉ์‹๊ณผ ๋‹ฌ๋ฆฌ ํ•„์š”ํ•œ ์‹œ์ ์—๋งŒ ๋ชจ๋“ˆ์„ ๋ถˆ๋Ÿฌ์˜ค๋Š” ์ง€์—ฐ ๋กœ๋”ฉ(Lazy Loading)์„ ์ง€์›ํ•˜์—ฌ, ์•ฑ์˜ ์ดˆ๊ธฐ ๋กœ๋”ฉ ์†๋„๋ฅผ ๊ทน์ ์œผ๋กœ ๊ฐœ์„ ํ•˜๊ณ  ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ๋Ÿ‰์„ ์ค„์—ฌ์ค€๋‹ค [1, 2]. ## ๐Ÿ“– ๊ตฌ์กฐํ™”๋œ ์ง€์‹ (Synthesized Content) * **์ง€์—ฐ ๋กœ๋”ฉ(Lazy Loading)์„ ํ†ตํ•œ ์„ฑ๋Šฅ ์ตœ์ ํ™”** ๊ธฐ์กด์˜ ๊ตฌํ˜• ์•„ํ‚คํ…์ฒ˜์—์„œ๋Š” ์•ฑ์„ ์‹œ์ž‘ํ•  ๋•Œ ๋ชจ๋“  ๋„ค์ดํ‹ฐ๋ธŒ ๋ชจ๋“ˆ์„ ์ผ๊ด„์ ์œผ๋กœ ์ดˆ๊ธฐํ™”ํ•ด์•ผ ํ–ˆ๊ธฐ ๋•Œ๋ฌธ์— ์‹คํ–‰ ์‹œ๊ฐ„์ด ์ง€์—ฐ๋˜๋Š” ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ–ˆ๋‹ค [1]. TurboModules๋Š” ์ด ๊ตฌํ˜•์˜ ์ผ๊ด„ ๋ธŒ๋ฆฟ์ง€ ๋ชจ๋“ˆ(batch-bridged modules) ์‹œ์Šคํ…œ์„ ๋Œ€์ฒดํ•˜์—ฌ, ๋ชจ๋“ˆ์ด ์‹ค์ œ๋กœ ์ฒ˜์Œ ์‚ฌ์šฉ๋˜๋Š” ์‹œ์ ์—๋งŒ ๋กœ๋“œ(Load on demand)๋˜๋„๋ก ์„ค๊ณ„๋˜์—ˆ๋‹ค [1, 2]. ์ด๋ฅผ ํ†ตํ•ด ์•ฑ์˜ ์ดˆ๊ธฐ ๋กœ๋“œ ์‹œ๊ฐ„๊ณผ ์ดˆ๊ธฐ ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ๋Ÿ‰(footprint)์„ ๊ทน์ ์œผ๋กœ ๊ฐ์†Œ์‹œํ‚จ๋‹ค [1, 2]. * **๋™๊ธฐ์  ๋„ค์ดํ‹ฐ๋ธŒ ํ˜ธ์ถœ(Synchronous Native Calls) ์ง€์›** TurboModules๋Š” ๊ธฐ๋ฐ˜ ๊ธฐ์ˆ ์ธ JSI๋ฅผ ํ™œ์šฉํ•˜์—ฌ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์™€ ๋„ค์ดํ‹ฐ๋ธŒ ์ฝ”๋“œ ๊ฐ„์˜ ์ง์ ‘์ ์ธ ๋ฐ”์ธ๋”ฉ์„ ์ œ๊ณตํ•œ๋‹ค [2, 3]. ์ด์— ๋”ฐ๋ผ ๊ธฐ์กด์˜ ๋น„๋™๊ธฐ ํ†ต์‹  ๋ธŒ๋ฆฟ์ง€์—์„œ ๋ฐœ์ƒํ•˜๋˜ ์ง๋ ฌํ™”(Serialization) ์˜ค๋ฒ„ํ—ค๋“œ๋‚˜ ์ง€์—ฐ ์‹œ๊ฐ„(Latency) ์—†์ด, ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์—์„œ ๋„ค์ดํ‹ฐ๋ธŒ ๋ฉ”์„œ๋“œ๋ฅผ ์ง์ ‘์ ์ด๊ณ  ๋™๊ธฐ์ ์œผ๋กœ ํ˜ธ์ถœํ•  ์ˆ˜ ์žˆ๋‹ค [1-3]. ์ด๋Š” ์„ฑ๋Šฅ์— ๋ฏผ๊ฐํ•œ(performance-critical) ์ž‘์—…์—์„œ ๋ธŒ๋ฆฟ์ง€๊ฐ€ ๋ณ‘๋ชฉ์œผ๋กœ ์ž‘์šฉํ•˜๋˜ ๋ฌธ์ œ๋ฅผ ์™„๋ฒฝํžˆ ํ•ด๊ฒฐํ•œ๋‹ค [2]. * **์ƒˆ๋กœ์šด ์•„ํ‚คํ…์ฒ˜(New Architecture)์˜ ํ•ต์‹ฌ ์š”์†Œ** TurboModules๋Š” Fabric(์ƒˆ๋กœ์šด ๋™๊ธฐ์‹ ๋ Œ๋”๋ง ์‹œ์Šคํ…œ) ๋ฐ JSI(JavaScript Interface)์™€ ํ•จ๊ป˜ ๊ฒฐํ•ฉํ•˜์—ฌ React Native์˜ ํ˜์‹ ์ ์ธ 3๋Œ€ ๊ธฐ๋ฐ˜์„ ํ˜•์„ฑํ•œ๋‹ค [4-7]. ๋„ค์ดํ‹ฐ๋ธŒ ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•  ๋•Œ Swift/Objective-C ๋˜๋Š” Kotlin/Java๋กœ ๋ชจ๋“ˆ์„ ์ž‘์„ฑํ•˜๊ณ  ์ตœ์†Œํ•œ์˜ ์˜ค๋ฒ„ํ—ค๋“œ๋กœ JavaScript์—์„œ ์ด๋ฅผ ํ˜ธ์ถœํ•จ์œผ๋กœ์จ, ์‚ฌ์‹ค์ƒ ๋„ค์ดํ‹ฐ๋ธŒ ์•ฑ๊ณผ์˜ ์„ฑ๋Šฅ ๊ฒฉ์ฐจ๋ฅผ ํฌ๊ฒŒ ์ขํžˆ๋Š” ํ•ต์‹ฌ ์—ญํ• ์„ ์ˆ˜ํ–‰ํ•œ๋‹ค [5, 8]. ## โš ๏ธ ๋ชจ์ˆœ ๋ฐ ์—…๋ฐ์ดํŠธ (Contradictions & Updates) ์†Œ์Šค์— ๊ด€๋ จ ์ •๋ณด๊ฐ€ ๋ถ€์กฑํ•ฉ๋‹ˆ๋‹ค. ๋‹ค๋งŒ, TurboModules๊ฐ€ ์„ฑ๋Šฅ์  ์ด์ ์„ ์ œ๊ณตํ•จ์—๋„ ๋ถˆ๊ตฌํ•˜๊ณ , ์ปค์Šคํ…€ ๋„ค์ดํ‹ฐ๋ธŒ ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ์—ฌ์ „ํžˆ Swift/Objective-C๋‚˜ Kotlin/Java์™€ ๊ฐ™์€ ๋„ค์ดํ‹ฐ๋ธŒ ์–ธ์–ด๋กœ ๋ชจ๋“ˆ์„ ์ง์ ‘ ์ž‘์„ฑํ•ด์•ผ ํ•˜๋ฏ€๋กœ ๊ฐœ๋ฐœ ํŒ€ ๋‚ด์— ๋„ค์ดํ‹ฐ๋ธŒ ๋ชจ๋ฐ”์ผ ๊ฒฝํ—˜(Native mobile experience)์„ ๊ฐ–์ถ˜ ์ธ๋ ฅ์ด ์š”๊ตฌ๋œ๋‹ค๋Š” ์ œ์•ฝ ์‚ฌํ•ญ์ด ์žˆ์Šต๋‹ˆ๋‹ค [8]. ## ๐Ÿ”— ์ง€์‹ ์—ฐ๊ฒฐ (Graph) ### Related Concepts #### [์•„ํ‚คํ…์ฒ˜/๊ธฐ๋ฐ˜ ๊ธฐ์ˆ ] - [[JSI (JavaScript Interface)]] - ์—ฐ๊ฒฐ ์ด์œ : TurboModules๊ฐ€ ๋™๊ธฐ์  ํ†ต์‹  ๋ฐ ์ง€์—ฐ ๋กœ๋”ฉ์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๋„๋ก ๋งŒ๋“ค์–ด์ฃผ๋Š” ๊ธฐ๋ฐ˜ C++ ๋ ˆ์ด์–ด์ด๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค [2, 3]. - ์ด ๊ฐœ๋…์„ ํ†ตํ•ด ๋” ๊นŠ๊ฒŒ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋Š” ๋ถ€๋ถ„: ์ง๋ ฌํ™” ์˜ค๋ฒ„ํ—ค๋“œ๊ฐ€ ์–ด๋–ป๊ฒŒ ์ œ๊ฑฐ๋˜๋ฉฐ, JavaScript ์Šค๋ ˆ๋“œ์™€ ๋„ค์ดํ‹ฐ๋ธŒ ์Šค๋ ˆ๋“œ ๊ฐ„์˜ ์ง์ ‘ ์ฐธ์กฐ๊ฐ€ ๊ธฐ์ˆ ์ ์œผ๋กœ ์–ด๋–ป๊ฒŒ ๊ตฌํ˜„๋˜๋Š”์ง€ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋‹ค [2, 3]. - [[Fabric]] - ์—ฐ๊ฒฐ ์ด์œ : TurboModules์™€ ํ•จ๊ป˜ React Native์˜ ์ƒˆ๋กœ์šด ์•„ํ‚คํ…์ฒ˜๋ฅผ ์ด๋ฃจ๋Š” ์–‘๋Œ€ ์‚ฐ๋งฅ์œผ๋กœ, Fabric์€ UI ๋ Œ๋”๋ง์„ ๋‹ด๋‹นํ•˜๊ณ  TurboModules๋Š” ๋กœ์ง/๊ธฐ๋Šฅ ๋ชจ๋“ˆ์„ ๋‹ด๋‹นํ•œ๋‹ค [4, 6]. - ์ด ๊ฐœ๋…์„ ํ†ตํ•ด ๋” ๊นŠ๊ฒŒ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋Š” ๋ถ€๋ถ„: React Native์˜ ์ „์ฒด์ ์ธ ์ƒˆ๋กœ์šด ์•„ํ‚คํ…์ฒ˜(New Architecture)๊ฐ€ ๋ธŒ๋ฆฟ์ง€ ๋ณ‘๋ชฉ ํ˜„์ƒ์„ ์–ด๋–ป๊ฒŒ ์ข…ํ•ฉ์ ์œผ๋กœ ์ œ๊ฑฐํ•˜๋Š”์ง€ ํŒŒ์•…ํ•  ์ˆ˜ ์žˆ๋‹ค [6]. - [[Codegen]] - ์—ฐ๊ฒฐ ์ด์œ : JavaScript์˜ ๋™์  ํƒ€์ž… ์„ธ๊ณ„์™€ ๋„ค์ดํ‹ฐ๋ธŒ ํ”Œ๋žซํผ์˜ ์ •์  ํƒ€์ž… ์„ธ๊ณ„๋ฅผ ์•ˆ์ „ํ•˜๊ฒŒ ์—ฐ๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด C++ ๋ณด์ผ๋Ÿฌํ”Œ๋ ˆ์ดํŠธ ์ฝ”๋“œ๋ฅผ ์ƒ์„ฑํ•˜๋Š” ์—ญํ• ์„ ํ•œ๋‹ค [9]. - ์ด ๊ฐœ๋…์„ ํ†ตํ•ด ๋” ๊นŠ๊ฒŒ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋Š” ๋ถ€๋ถ„: TurboModules๋ฅผ ํ†ตํ•œ ํ†ต์‹  ์‹œ ๋Ÿฐํƒ€์ž„ ์˜ค๋ฅ˜๋ฅผ ์ค„์ด๊ณ  ์ปดํŒŒ์ผ ํƒ€์ž„์— ํƒ€์ž… ์•ˆ์ •์„ฑ(Type safety)์„ ์–ด๋–ป๊ฒŒ ๋ณด์žฅํ•˜๋Š”์ง€ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋‹ค [9]. #### [๊ตฌํ˜„/ํ™œ์šฉ ๋„๊ตฌ] - [[React Native]] - ์—ฐ๊ฒฐ ์ด์œ : TurboModules ํŒจ๋Ÿฌ๋‹ค์ž„์ด ์ „๋ฉด์ ์œผ๋กœ ๋„์ž…๋œ ํฌ๋กœ์Šค ํ”Œ๋žซํผ ๋ชจ๋ฐ”์ผ ๊ฐœ๋ฐœ ํ”„๋ ˆ์ž„์›Œํฌ์ด๋‹ค [6, 10]. - ์ด ๊ฐœ๋…์„ ํ†ตํ•ด ๋” ๊นŠ๊ฒŒ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋Š” ๋ถ€๋ถ„: ๋ชจ๋ฐ”์ผ ๊ฐœ๋ฐœ ํ”„๋ ˆ์ž„์›Œํฌ๋“ค์ด ๋„ค์ดํ‹ฐ๋ธŒ ์„ฑ๋Šฅ์— ๊ทผ์ ‘ํ•˜๊ธฐ ์œ„ํ•ด ์•„ํ‚คํ…์ฒ˜๋ฅผ ์–ด๋–ป๊ฒŒ ํ˜์‹ ํ•˜๊ณ  ์žˆ๋Š”์ง€ ๊ฑฐ์‹œ์  ๊ด€์ ์—์„œ ํŒŒ์•…ํ•  ์ˆ˜ ์žˆ๋‹ค [6, 7]. ### Deeper Research Questions - ๊ธฐ์กด ๋น„๋™๊ธฐ ๋ธŒ๋ฆฟ์ง€(Bridge) ๋ชจ๋ธ ๋Œ€๋น„ TurboModules ์ ์šฉ ์‹œ ์ดˆ๊ธฐ ๊ตฌ๋™ ์‹œ๊ฐ„(Startup time)๊ณผ ๋ฉ”๋ชจ๋ฆฌ ์ ˆ์•ฝ ํšจ๊ณผ๋Š” ๊ตฌ์ฒด์ ์œผ๋กœ ์–ด๋А ์ •๋„์˜ ์„ฑ๋Šฅ ์ง€ํ‘œ ์ฐจ์ด๋ฅผ ๋ณด์—ฌ์ฃผ๋Š”๊ฐ€? - ์ปค์Šคํ…€ ๋ชจ๋“ˆ ์ž‘์„ฑ ์‹œ, JSI ๋ฐ Codegen์„ ํ™œ์šฉํ•˜์—ฌ Swift/Kotlin ๋„ค์ดํ‹ฐ๋ธŒ ์ฝ”๋“œ์™€ JavaScript ๊ฐ„์˜ ํƒ€์ž… ์•ˆ์ •์„ฑ(Type Safety)์€ ์ปดํŒŒ์ผ ํƒ€์ž„์— ์ •ํ™•ํžˆ ์–ด๋–ค ๋ฉ”์ปค๋‹ˆ์ฆ˜์œผ๋กœ ๊ฒ€์ฆ๋˜๋Š”๊ฐ€? - ์ง€์—ฐ ๋กœ๋”ฉ(Lazy Loading) ๋ฐฉ์‹์ด ์•ฑ ์‹คํ–‰ ๋„์ค‘ ์ตœ์ดˆ๋กœ ํŠน์ • ๋ชจ๋“ˆ์„ ํ˜ธ์ถœํ•  ๋•Œ ์ผ์‹œ์ ์ธ ๋ Œ๋”๋ง ์ง€์—ฐ(Jank)์„ ๋ฐœ์ƒ์‹œํ‚ฌ ์œ„ํ—˜์„ฑ์€ ์—†๋Š”๊ฐ€? - React Native ์ƒํƒœ๊ณ„์˜ ์ˆ˜๋งŽ์€ ์„œ๋“œํŒŒํ‹ฐ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋“ค์ด ๊ธฐ์กด ๋ชจ๋“ˆ ์‹œ์Šคํ…œ์—์„œ TurboModules๋กœ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ํ•˜๋Š” ๋ฐ ์žˆ์–ด ์ง๋ฉดํ•˜๋Š” ๊ธฐ์ˆ ์  ์ง„์ž… ์žฅ๋ฒฝ์€ ๋ฌด์—‡์ธ๊ฐ€? - Flutter์˜ ๋„ค์ดํ‹ฐ๋ธŒ ํ†ต์‹  ๋ฐฉ์‹(Platform Channels ๋ฐ Dart FFI)๊ณผ React Native์˜ TurboModules๋Š” ๋™๊ธฐ์  ๋„ค์ดํ‹ฐ๋ธŒ ๊ธฐ๋Šฅ ์ ‘๊ทผ ๊ด€์ ์—์„œ ์„ฑ๋Šฅ์ ์œผ๋กœ ์–ด๋–ค ์ฐจ์ด๋ฅผ ์ง€๋‹ˆ๋Š”๊ฐ€? ### Practical Application Contexts - **Implementation:** ์ปค์Šคํ…€ ์นด๋ฉ”๋ผ, ์ƒ์ฒด ์ธ์‹ ๋“ฑ ํŠน์ˆ˜ํ•œ ๋„ค์ดํ‹ฐ๋ธŒ API ์ ‘๊ทผ์ด ํ•„์š”ํ•  ๋•Œ, Swift๋‚˜ Kotlin์œผ๋กœ ์ž‘์„ฑ๋œ ๋กœ์ง์„ TurboModules๋ฅผ ํ†ตํ•ด JavaScript ํ™˜๊ฒฝ์—์„œ ๋™๊ธฐ์ ์œผ๋กœ ํ˜ธ์ถœํ•˜์—ฌ ์ง€์—ฐ ์—†์ด ํ•˜๋“œ์›จ์–ด ๊ธฐ๋Šฅ์„ ์ œ์–ดํ•œ๋‹ค [8, 11]. - **System Design:** ์ดˆ๊ธฐ ๋กœ๋”ฉ ์†๋„๊ฐ€ ํ•ต์‹ฌ ๋น„์ฆˆ๋‹ˆ์Šค ์ง€ํ‘œ์ธ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ๊ฒฝ์šฐ, ์ˆ˜์‹ญ ๊ฐœ์˜ ๋„ค์ดํ‹ฐ๋ธŒ ๊ธฐ๋Šฅ์ด ํ•œ ๋ฒˆ์— ๋กœ๋“œ๋˜๋˜ ๊ธฐ์กด ๊ตฌ์กฐ์—์„œ ๋ฒ—์–ด๋‚˜ TurboModules ๊ธฐ๋ฐ˜์˜ ์ƒˆ๋กœ์šด ์•„ํ‚คํ…์ฒ˜๋ฅผ ์ฑ„ํƒํ•จ์œผ๋กœ์จ ๋ณ‘๋ชฉ์„ ์ œ๊ฑฐํ•˜๋Š” ์„ค๊ณ„์  ๊ฒฐ์ •์„ ๋‚ด๋ฆฐ๋‹ค [1, 2]. - **Operation / Maintenance:** ์•ฑ ์—…๋ฐ์ดํŠธ ์‹œ๋งˆ๋‹ค ๋ชจ๋“ˆ ์ดˆ๊ธฐํ™”๋กœ ์ธํ•œ ์‹œ์ž‘ ์‹œ๊ฐ„ ์ง€์—ฐ์„ ๋ชจ๋‹ˆํ„ฐ๋งํ•˜๊ณ , ์ž์ฃผ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ๊ธฐ๋Šฅ์— ๋Œ€ํ•ด TurboModules์˜ ์š”๊ตฌ ๊ธฐ๋ฐ˜ ๋กœ๋”ฉ(Load on demand)์ด ์ œ๋Œ€๋กœ ์ž‘๋™ํ•˜์—ฌ ๋ฉ”๋ชจ๋ฆฌ ํ’‹ํ”„๋ฆฐํŠธ๊ฐ€ ์ค„์–ด๋“ค์—ˆ๋Š”์ง€ ์ถ”์ ํ•œ๋‹ค [1, 2]. - **Learning Path:** React Native ๊ฐœ๋ฐœ์ž๋Š” ๋ ˆ๊ฑฐ์‹œ ๋น„๋™๊ธฐ ๋ธŒ๋ฆฟ์ง€์˜ ํ•œ๊ณ„๋ฅผ ์ดํ•ดํ•œ ํ›„ -> JSI์˜ ์ง์ ‘ ํ†ต์‹  ๊ฐœ๋…์„ ํ•™์Šตํ•˜๊ณ  -> TurboModules์™€ Fabric์ด ๊ฒฐํ•ฉ๋œ 'New Architecture' ํ™˜๊ฒฝ์—์„œ์˜ ๊ฐœ๋ฐœ ํŒจ๋Ÿฌ๋‹ค์ž„์„ ์ตํžˆ๋Š” ๋ฐฉํ–ฅ์œผ๋กœ ๋‚˜์•„๊ฐ„๋‹ค. - **My Project Relevance:** ์†Œ์Šค์— ๊ด€๋ จ ์ •๋ณด๊ฐ€ ๋ถ€์กฑํ•ฉ๋‹ˆ๋‹ค. ### Adjacent Topics - [[Dart FFI (Foreign Function Interface)]] - ํ™•์žฅ ๋ฐฉํ–ฅ: React Native๊ฐ€ JSI์™€ TurboModules๋กœ ๋„ค์ดํ‹ฐ๋ธŒ์™€ ๋™๊ธฐ์  ์†Œํ†ต์„ ๊ตฌํ˜„ํ•œ ๊ฒƒ์ฒ˜๋Ÿผ, ๊ฒฝ์Ÿ ํ”„๋ ˆ์ž„์›Œํฌ์ธ Flutter๊ฐ€ ๊ณ ์„ฑ๋Šฅ C/C++ ๋„ค์ดํ‹ฐ๋ธŒ ์—ฐ์‚ฐ์„ ์œ„ํ•ด ์ง์ ‘์ ์ธ ๋ฉ”๋ชจ๋ฆฌ ์ ‘๊ทผ ๋ฐ ๋™๊ธฐ์  ํ˜ธ์ถœ์„ ์ˆ˜ํ–‰ํ•˜๋Š” ๋ฐฉ์‹(Dart FFI)๊ณผ ๋น„๊ต ์—ฐ๊ตฌํ•  ์ˆ˜ ์žˆ๋‹ค [12, 13]. --- *Last updated: 2026-05-03* ## ๐Ÿค– LLM ํ™œ์šฉ ํžŒํŠธ (How to Use This Knowledge) **์–ธ์ œ ์ด ์ง€์‹์„ ์“ฐ๋Š”๊ฐ€:** - *(TODO)* **์–ธ์ œ ์“ฐ๋ฉด ์•ˆ ๋˜๋Š”๊ฐ€:** - *(TODO)* ## ๐Ÿงช ๊ฒ€์ฆ ์ƒํƒœ (Validation) - **์ •๋ณด ์ƒํƒœ:** needs_review - **์ถœ์ฒ˜ ์‹ ๋ขฐ๋„:** A - **๊ฒ€ํ†  ์ด์œ :** *(P-Reinforce Phase 1 ์ž๋™ ์ •๊ทœํ™”. ๋ณธ๋ฌธ ๊ฒ€์ฆ ํ•„์š”.)* ## ๐Ÿงฌ ์ค‘๋ณต ๊ฒ€์‚ฌ (Duplicate Check) - **๊ธฐ์กด ์œ ์‚ฌ ๋ฌธ์„œ:** *(TODO: ์ธ๋ฑ์„œ ํด๋Ÿฌ์Šคํ„ฐ ๋ฆฌํฌํŠธ ์ฐธ์กฐ)* - **์ฒ˜๋ฆฌ ๋ฐฉ์‹:** UPDATE (์ž๋™ ์ •๊ทœํ™”) - **์ฒ˜๋ฆฌ ์ด์œ :** Phase 1 ์ •๊ทœํ™” โ€” ์˜› ํ…œํ”Œ๋ฆฟ/๋ˆ„๋ฝ ํ•„๋“œ ๋ณด๊ฐ•. ## ๐Ÿ•“ ๋ณ€๊ฒฝ ์ด๋ ฅ (Changelog) | ๋‚ ์งœ | ๋ณ€๊ฒฝ ๋‚ด์šฉ | ์ฒ˜๋ฆฌ ๋ฐฉ์‹ | ์‹ ๋ขฐ๋„ | |------|-----------|-----------|--------| | 2026-05-08 | P-Reinforce Phase 1 ์ •๊ทœํ™” (frontmatter + ํ—ค๋” ํ‘œ์ค€ํ™”) | UPDATE | A | ## ๐Ÿ’ป ์ฝ”๋“œ ํŒจํ„ด (Code Patterns) **ํŒจํ„ด 1:** *(TODO: ์ด ํ”„๋กœ์ ํŠธ ์ปจ๋ฒค์…˜ ๋ฐ˜์˜ํ•œ ๊ตฌ์กฐ ์Šค์ผˆ๋ ˆํ†ค)* ```text # TODO ``` ## ๐Ÿค” ์˜์‚ฌ๊ฒฐ์ • ๊ธฐ์ค€ (Decision Criteria) **์„ ํƒ A๋ฅผ ์จ์•ผ ํ•  ๋•Œ:** - *(TODO)* **์„ ํƒ B๋ฅผ ์จ์•ผ ํ•  ๋•Œ:** - *(TODO)* **๊ธฐ๋ณธ๊ฐ’:** > *(TODO)* ## โŒ ์•ˆํ‹ฐํŒจํ„ด (Anti-Patterns) - **[์•ˆํ‹ฐํŒจํ„ด]:** *(TODO: ๋ฌด์—‡์„ ํ•˜๋ฉด ์•ˆ ๋˜๋Š”๊ฐ€ + ์ด์œ  + ๋Œ€์‹  ๋ฌด์—‡์„)*