[React Native] React Native Deep Dive

React Native ์•„ํ‚คํ…์ฒ˜๋ฅผ ์ดํ•ดํ•˜๊ธฐ

React Native ์•„ํ‚คํ…์ฒ˜๋ฅผ ๊นŠ์ด ์ดํ•ดํ•˜๋Š” ๊ฑด ๊ฐœ๋ฐœ์ž๊ฐ€ ์„ฑ๋Šฅ์„ ์ตœ์ ํ™”ํ•˜๊ณ , ํšจ์œจ์ ์œผ๋กœ ๋””๋ฒ„๊น…ํ•˜๋ฉฐ, ์ตœ์‹  ๊ธฐ์ˆ ์„ ํ™œ์šฉํ•ด ๊ณ ํ’ˆ์งˆ์˜ ํ™•์žฅ ๊ฐ€๋Šฅํ•œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๊ตฌ์ถ•ํ•˜๋Š” ๋ฐ ์ค‘์š”ํ•จ.

๊ตฌ ์•„ํ‚คํ…์ฒ˜: Bridge ๋ชจ๋ธ

๊ตฌ ์•„ํ‚คํ…์ฒ˜์—์„œ๋Š” React Native๊ฐ€ ๋‘ ๊ฐœ์˜ ๋ณ„๋„ ์„ธ์ƒ์—์„œ ์ž‘๋™ํ–ˆ์Œ:

  • JavaScript World โ€” ์•ฑ ๋กœ์ง์ด ์‹คํ–‰๋˜๋Š” ๊ณณ
  • Native World โ€” UI์™€ ์‹œ์Šคํ…œ ๊ธฐ๋Šฅ์ด ์ž‘๋™ํ•˜๋Š” ๊ณณ

์ด ๋‘ ์„ธ์ƒ์€ ์„œ๋กœ ๋‹ค๋ฅธ ์–ธ์–ด(JavaScript vs Swift/Java/Kotlin)๋ฅผ ์‚ฌ์šฉํ•˜๋ฏ€๋กœ ํ†ต์‹  ๋ฐฉ๋ฒ•์ด ํ•„์š”ํ–ˆ์Œ. ๋ฐ”๋กœ ์—ฌ๊ธฐ์„œ Bridge๊ฐ€ ๋“ฑ์žฅํ•จ.

Bridge๊ฐ€ ์–ด๋–ป๊ฒŒ ์ž‘๋™ํ•˜๋Š”๊ฐ€?

  • JavaScript ์ธก์€ JSON ๋ฉ”์‹œ์ง€๋ฅผ ํ†ตํ•ด Native ์ธก์— ๋ฌด์—‡์„ ํ•ด์•ผ ํ• ์ง€ ์•Œ๋ ค์คŒ.
  • Native ์ธก์€ ์ด ๋ฉ”์‹œ์ง€๋ฅผ ์ฝ๊ณ  UI๋ฅผ ๋ Œ๋”๋งํ•˜๊ฑฐ๋‚˜ ํ…์ŠคํŠธ๋ฅผ ์—…๋ฐ์ดํŠธํ•˜๋Š” ๋“ฑ์˜ ์ž‘์—…์„ ์‹คํ–‰ํ•จ.
  • ์‚ฌ์šฉ์ž๊ฐ€ UI์™€ ์ƒํ˜ธ์ž‘์šฉํ•˜๋ฉด(์˜ˆ: ๋ฒ„ํŠผ ํด๋ฆญ ์‹œ) Native ์ธก์€ ๋‹ค์‹œ JavaScript๋กœ ๋ฉ”์‹œ์ง€๋ฅผ ๋ณด๋ƒ„.

์˜ˆ์‹œ: ๋กœ๊ทธ์ธ ํ™”๋ฉด ๋งŒ๋“ค๊ธฐ

  1. JavaScript๋Š” Bridge๋ฅผ ํ†ตํ•ด ๋ฉ”์‹œ์ง€๋ฅผ ๋ณด๋ƒ„:
    • โ€œ์ด ์Šคํƒ€์ผ๋กœ ์ž…๋ ฅ ํ•„๋“œ๋ฅผ ๋งŒ๋“ค์–ด๋ผโ€
    • โ€œ์ด ์†์„ฑ์œผ๋กœ ๋ฒ„ํŠผ์„ ๋งŒ๋“ค์–ด๋ผโ€
  2. Native ์ธก์€ ๋ฉ”์‹œ์ง€๋ฅผ ๋ฐ›๊ณ  UI๋ฅผ ๋ Œ๋”๋งํ•จ.
  3. ์‚ฌ์šฉ์ž๊ฐ€ ํ…์ŠคํŠธ๋ฅผ ์ž…๋ ฅํ•˜๋ฉด Native ์ธก์€ ๋ฐ์ดํ„ฐ๋ฅผ JavaScript๋กœ ๋‹ค์‹œ ๋ณด๋ƒ„.

React Native์˜ Thread(๊ตฌ ์•„ํ‚คํ…์ฒ˜)

React Native ์•ฑ์€ ์—ฌ๋Ÿฌ Thread์—์„œ ์‹คํ–‰๋จ:

  • JavaScript Thread โ€” ๋ชจ๋“  React Native ๋…ผ๋ฆฌ๋ฅผ ์‹คํ–‰ํ•˜๊ณ  UI ์—…๋ฐ์ดํŠธ๋ฅผ ์ฒ˜๋ฆฌํ•จ.
  • Native Thread โ€” UI ์š”์†Œ์— ๋Œ€ํ•œ ํ”Œ๋žซํผ ํŠน์ • ์ฝ”๋“œ(Swift, Java/Kotlin)๋ฅผ ์‹คํ–‰ํ•จ.
  • ์‰๋„์šฐ Thread โ€” ๋ ˆ์ด์•„์›ƒ์„ ์ฒ˜๋ฆฌํ•˜๋Š” Yoga Engine์„ ์‚ฌ์šฉํ•ด ์Šคํƒ€์ผ์„ Native ๋ ˆ์ด์•„์›ƒ์œผ๋กœ ๋ณ€ํ™˜ํ•จ.

๊ตฌ ์•„ํ‚คํ…์ฒ˜์˜ ๋‹จ์ 

๐Ÿšจ 1. ์„ฑ๋Šฅ ๋ฌธ์ œ

  • JavaScript์™€ Native ๊ฐ„์˜ ํ†ต์‹ ์ด ๋Š๋ ค์„œ ๋ฉ”์‹œ์ง€๊ฐ€ ๋น„๋™๊ธฐ์ ์œผ๋กœ ์ „๋‹ฌ๋จ.
  • UI ์—…๋ฐ์ดํŠธ๊ฐ€ ๋Šฆ์–ด์ง€๋ฉด ์Šคํฌ๋กค์— ์ง€์—ฐ์ด ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์Œ.

๐Ÿšจ 2. ๋ฉ”๋ชจ๋ฆฌ ๊ณต์œ  ๋ถˆ๊ฐ€

  • JavaScript์™€ Native๋Š” ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ๊ณต์œ ํ•˜์ง€ ์•Š์Œ.
  • ๋Œ€์‹  ๋ฐ์ดํ„ฐ๋ฅผ JSON ํ˜•์‹์œผ๋กœ ๋ณต์‚ฌํ•ด ์ „๋‹ฌํ•˜๋Š”๋ฐ, ์ด๋กœ ์ธํ•ด ์„ฑ๋Šฅ์ด ์ €ํ•˜๋จ.

๐Ÿšจ 3. Native Module ๋กœ๋”ฉ์˜ ๋น„ํšจ์œจ์„ฑ

  • React Native๋Š” ํ•„์š”ํ•˜์ง€ ์•Š์€ Native Module๋„ ์•ฑ ์‹œ์ž‘ ์‹œ ๋ชจ๋‘ ๋กœ๋“œํ•จ. ์ด๋กœ ์ธํ•ด ๋กœ๋“œ ์‹œ๊ฐ„์ด ๊ธธ์–ด์ง.

๐Ÿšจ 4. ๊ธฐ์—ฌ๊ฐ€ ์–ด๋ ค์›€

  • React Native์˜ ์ฝ”๋“œ๋ฒ ์ด์Šค๊ฐ€ ๋ณต์žกํ•ด์„œ ๊ฐœ๋ฐœ์ž๋“ค์ด ๊ฐœ์„ ํ•˜๊ฑฐ๋‚˜ ์ˆ˜์ •ํ•˜๋Š” ๊ฒŒ ์–ด๋ ค์›€.

์ƒˆ๋กœ์šด ์•„ํ‚คํ…์ฒ˜: Fabric๊ณผ Turbo Modules

์ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด React Native๋Š” ์ƒˆ๋กœ์šด ์•„ํ‚คํ…์ฒ˜์ธ Fabric๊ณผ Turbo Modules๋ฅผ ๋„์ž…ํ•จ.

Fabric์ด๋ž€ ๋ฌด์—‡์ธ๊ฐ€?

Fabric์€ Bridge๋ฅผ ์ œ๊ฑฐํ•˜๊ณ  JavaScript์™€ Native ๊ฐ„์˜ ๋” ๋น ๋ฅด๊ณ  ํšจ์œจ์ ์ธ ํ†ต์‹  ๋ชจ๋ธ์„ ์ œ๊ณตํ•จ.

Fabric์ด ๋” ์ข‹์€ ์ด์œ ?

  • ๋น„๋™๊ธฐ ๋ฉ”์‹œ์ง€๊ฐ€ ์•„๋‹Œ ๋™๊ธฐ์‹ ํ†ต์‹ ์„ ์‚ฌ์šฉํ•จ.
  • JavaScript์™€ Native๊ฐ€ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ๊ณต์œ ํ•ด ๋ฐ์ดํ„ฐ ๋ณต์‚ฌ ํ•„์š”์„ฑ์„ ์ค„์ž„.
  • UI ์‘๋‹ต์„ฑ๊ณผ ๋ถ€๋“œ๋Ÿฌ์›€์„ ๊ฐœ์„ ํ•จ.

Turbo Modules๋ž€ ๋ฌด์—‡์ธ๊ฐ€?

Turbo Modules๋Š” React Native๊ฐ€ ์‹œ์ž‘ ์‹œ ๋ชจ๋“  Native Module์„ ๋กœ๋“œํ•˜๋Š” ๋Œ€์‹ , ํ•„์š”ํ•œ Module๋งŒ ๋กœ๋“œํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•จ.

Turbo Modules๊ฐ€ ๋” ์ข‹์€ ์ด์œ ?

  • ์•ฑ ์‹œ์ž‘ ์‹œ๊ฐ„์„ ์ค„์ž„.
  • ํ•„์š”ํ•  ๋•Œ๋งŒ Module์„ ๋กœ๋“œํ•ด ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์ ˆ์•ฝํ•จ.

๋น„๊ต: ๊ตฌ ์•„ํ‚คํ…์ฒ˜ vs ์ƒˆ๋กœ์šด ์•„ํ‚คํ…์ฒ˜

React Native ์•ฑ ์•„์ด์ฝ˜์„ ํด๋ฆญํ–ˆ์„ ๋•Œ์˜ ํ๋ฆ„

  1. 1๋‹จ๊ณ„: ์•ฑ ์‹œ์ž‘ & UI ๊ด€๋ฆฌ์ž ์‹œ์ž‘
    ์•ฑ ์•„์ด์ฝ˜์„ ํด๋ฆญํ•˜๋ฉด ์šด์˜ ์ฒด์ œ๊ฐ€ ์•ฑ์„ ์‹คํ–‰ํ•˜๊ณ  React Native๋ฅผ ์‹œ์ž‘ํ•จ. UI ๊ด€๋ฆฌ์ž๋Š” ํ…์ŠคํŠธ ํ•„๋“œ, ๋ฒ„ํŠผ, ์ด๋ฏธ์ง€ ๋“ฑ์˜ Native ์ปดํฌ๋„ŒํŠธ๋ฅผ ์ดˆ๊ธฐํ™”ํ•จ.

  2. 2๋‹จ๊ณ„: JavaScript ๋ฒˆ๋“ค ๋กœ๋“œ
    React Native๋Š” MainBundle.js๋ฅผ ๋กœ๋“œํ•ด ์•ฑ์˜ ๋ชจ๋“  JavaScript ์ฝ”๋“œ๋ฅผ ํฌํ•จํ•จ.

  3. 3๋‹จ๊ณ„: Bridge๋ฅผ ํ†ตํ•œ ๋ทฐ ์ƒ์„ฑ (๊ตฌ ์•„ํ‚คํ…์ฒ˜) ๋˜๋Š” Fabric (์ƒˆ๋กœ์šด ์•„ํ‚คํ…์ฒ˜)

    • ๊ตฌ ์•„ํ‚คํ…์ฒ˜: JavaScript๋Š” Bridge๋ฅผ ํ†ตํ•ด JSON ๋ฉ”์‹œ์ง€๋ฅผ ๋ณด๋‚ด UI ์š”์†Œ๋ฅผ ์ƒ์„ฑํ•จ.
    • ์ƒˆ๋กœ์šด ์•„ํ‚คํ…์ฒ˜: Fabric์€ Native ์ฝ”๋“œ์™€ ์ง์ ‘ ์ƒํ˜ธ์ž‘์šฉํ•ด UI ๋ Œ๋”๋ง์„ ๋” ๋น ๋ฅด๊ฒŒ ๋งŒ๋“ฌ.
  4. 4๋‹จ๊ณ„: ๋ ˆ์ด์•„์›ƒ ๊ณ„์‚ฐ (Yoga Engine ์‚ฌ์šฉ)
    React Native๋Š” ์›น์—์„œ ์‚ฌ์šฉํ•˜๋Š” ํ‘œ์ค€ CSS ๋Œ€์‹  Yoga Engine์„ ์‚ฌ์šฉํ•ด ๋ ˆ์ด์•„์›ƒ์„ ๊ณ„์‚ฐํ•˜๊ณ  ์š”์†Œ์˜ ์œ„์น˜๋ฅผ ์„ค์ •ํ•จ. ์‰๋„์šฐ Thread๊ฐ€ ์ด ๋ ˆ์ด์•„์›ƒ ์ฒ˜๋ฆฌ๋ฅผ ๋‹ด๋‹นํ•จ.

  5. 5๋‹จ๊ณ„: UI๊ฐ€ ํ™”๋ฉด์— ํ‘œ์‹œ๋จ
    ๋งˆ์ง€๋ง‰์œผ๋กœ UI ๊ด€๋ฆฌ์ž๋Š” ๊ณ„์‚ฐ๋œ ๋ ˆ์ด์•„์›ƒ์„ ๊ธฐ๋ฐ˜์œผ๋กœ UI๋ฅผ ํ‘œ์‹œํ•จ. ์•ฑ์ด ์™„์ „ํžˆ ๋กœ๋“œ๋˜๊ณ  ์‚ฌ์šฉํ•  ์ค€๋น„๊ฐ€ ๋จ! ๐ŸŽ‰

์•ฑ ์‹œ์ž‘ ์‹œ์˜ ํ๋ฆ„

  1. UI ๊ด€๋ฆฌ์ž๋Š” Native ์ปดํฌ๋„ŒํŠธ๋ฅผ ์ดˆ๊ธฐํ™”ํ•จ.
  2. JavaScript๋Š” MainBundle.js๋ฅผ ๋กœ๋“œํ•จ.
  3. Yoga Engine์„ ์‚ฌ์šฉํ•ด ๋ ˆ์ด์•„์›ƒ์„ ๊ณ„์‚ฐํ•จ.
  4. UI๊ฐ€ ํ™”๋ฉด์— ํ‘œ์‹œ๋จ.

MainBundle.js์— ๋ฌด์—‡์ด ํฌํ•จ๋˜์–ด ์žˆ๋Š”๊ฐ€?

MainBundle.js(๋˜๋Š” Android์˜ index.bundle)๋Š” React Native ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ ๋ชจ๋“  JavaScript ์ฝ”๋“œ๋ฅผ ํฌํ•จํ•˜๋Š” ๋ฒˆ๋“ค์ž„. ์ด ํŒŒ์ผ์€ ์•ฑ ๋นŒ๋“œ ์‹œ ์ƒ์„ฑ๋จ.

MainBundle.js์— ํฌํ•จ๋˜๋Š” ๊ฒƒ๋“ค:

  • ๋ชจ๋“  JavaScript ์ฝ”๋“œ โ€” React Native ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์ „์ฒด ๋…ผ๋ฆฌ.
  • React ๋ฐ React Native Core API โ€” ๋ Œ๋”๋ง์„ ์œ„ํ•œ ํ•„์ˆ˜ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ.
  • Metro Bundler ๋ณ€ํ™˜ โ€” ์ตœ์ ํ™”๋˜๊ณ  ์ถ•์†Œ๋œ JavaScript ์ฝ”๋“œ.
  • ์„œ๋“œํŒŒํ‹ฐ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ โ€” Axios, Redux ๋“ฑ ์™ธ๋ถ€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ.
  • Native Bridge ํ˜ธ์ถœ (๊ตฌ ์•„ํ‚คํ…์ฒ˜ ์‚ฌ์šฉ ์‹œ) โ€” Native ์ปดํฌ๋„ŒํŠธ์™€์˜ ํ†ต์‹  ์ฝ”๋“œ.

MainBundle.js๋Š” ์–ด๋–ป๊ฒŒ ์ƒ์„ฑ๋˜๋Š”๊ฐ€?

React Native์˜ Metro Bundler๋Š” ๋ชจ๋“  JavaScript ํŒŒ์ผ์„ ์ปดํŒŒ์ผํ•ด MainBundle.js๋ผ๋Š” ๋‹จ์ผ ํŒŒ์ผ๋กœ ๋ฒˆ๋“ค๋งํ•จ.

Metro Bundler์˜ ์—ญํ• 

  • ES6+ JavaScript๋ฅผ ES5 ๋ฌธ๋ฒ•์œผ๋กœ ๋ณ€ํ™˜ํ•จ.
  • ์—ฌ๋Ÿฌ JavaScript ํŒŒ์ผ์„ ํ•˜๋‚˜์˜ ๋ฒˆ๋“ค๋กœ ๊ฒฐํ•ฉํ•จ.
  • ์ฝ”๋“œ๋ฅผ ์ตœ์ ํ™”ํ•ด ํ”„๋กœ๋•์…˜์„ ์œ„ํ•œ ์ถ•์†Œ(minify) ์ž‘์—…์„ ํ•จ.
  • ๊ฐœ๋ฐœ ์ค‘ ํ•ซ ๋ฆฌ๋กœ๋”ฉ์„ ์ฒ˜๋ฆฌํ•จ.

๊ฐ„๋‹จํ•œ ๋น„์œ 

React Native ์•ฑ์„ ์Œ์‹์ ์—์„œ ์Œ์‹์„ ์ฃผ๋ฌธํ•˜๋Š” ๊ฒƒ์œผ๋กœ ๋น„์œ ํ•  ์ˆ˜ ์žˆ์Œ:

  • โ˜• JavaScript Thread (๊ณ ๊ฐ) - ์–ด๋–ค ์ข…๋ฅ˜์˜ ์ปคํ”ผ๋ฅผ ์ฃผ๋ฌธํ• ์ง€ ๊ฒฐ์ •ํ•จ(์•ฑ ๋…ผ๋ฆฌ).
  • ๐Ÿง‘โ€๐Ÿณ Bridge (๋ฐ”๋ฆฌ์Šคํƒ€) - ์ฃผ๋ฌธ์„ ์ „๋‹ฌ๋ฐ›๊ณ  ์ปคํ”ผ๋ฅผ ๋งŒ๋“œ๋Š” ๊ณผ์ •์œผ๋กœ ๋„˜๊น€.
  • ๐Ÿต Native ์ธก (์ปคํ”ผ ๋จธ์‹ ) - ์ปคํ”ผ๋ฅผ ๋งŒ๋“ค๊ณ  ํ•„์š”ํ•œ ์ถ”๊ฐ€ ์ž‘์—…์„ ์ฒ˜๋ฆฌํ•จ(UI ๋ Œ๋”๋ง).
  • ๐Ÿ›Ž UI ๊ด€๋ฆฌ์ž (์„œ๋น™ ์ง์›) - ์™„์„ฑ๋œ ์ปคํ”ผ๋ฅผ ๊ณ ๊ฐ์—๊ฒŒ ์ „๋‹ฌํ•จ(UI๋ฅผ ํ‘œ์‹œ).

์Œ์‹์ ์ด ๋„ˆ๋ฌด ๋ฐ”์˜๋ฉด(Bridge ์š”์ฒญ์ด ๋งŽ์œผ๋ฉด) ์„œ๋น„์Šค๊ฐ€ ๋Š๋ ค์ง. ๊ทธ๋ž˜์„œ React Native์˜ ์ตœ์‹  ๋ฒ„์ „์—์„œ๋Š” ์„ฑ๋Šฅ ํ–ฅ์ƒ์„ ์œ„ํ•ด Bridge ์˜์กด๋„๋ฅผ ์ค„์˜€์Œ.

์ฃผ์š” ์š”์•ฝ (๊ตฌ ์•„ํ‚คํ…์ฒ˜)

  • React Native๋Š” ๋ชจ๋ฐ”์ผ ์•ฑ์„ JavaScript๋กœ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ฃผ์ง€๋งŒ ์—ฌ์ „ํžˆ Native ์ปดํฌ๋„ŒํŠธ๋ฅผ ์‚ฌ์šฉํ•จ.
  • JavaScript์™€ Native ์ธก์„ ์—ฐ๊ฒฐํ•˜๋Š” Bridge๊ฐ€ ์ปคํ”ผ ์ฃผ๋ฌธ๊ณผ ์ „๋‹ฌ์„ ์ฒ˜๋ฆฌํ•˜๋Š” ์—ญํ• ์„ ํ•จ. UI ์—…๋ฐ์ดํŠธ๋Š” ๋น„๋™๊ธฐ์ ์œผ๋กœ ์ด๋ฃจ์–ด์ ธ ์ง€์—ฐ์ด ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์Œ. Shadow Thread๊ฐ€ ์Šคํƒ€์ผ์„ ๋ชจ๋ฐ”์ผ OS๊ฐ€ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋Š” ํ˜•์‹์œผ๋กœ ๋ณ€ํ™˜ํ•จ.
  • ๊ตฌ ์•„ํ‚คํ…์ฒ˜๋Š” Bridge ์‚ฌ์šฉ์œผ๋กœ ์ธํ•ด ์„ฑ๋Šฅ ์ €ํ•˜๊ฐ€ ๋ฐœ์ƒํ•˜๊ณ , ์ด๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด Fabric๊ณผ Turbo Modules์™€ ๊ฐ™์€ ๊ฐœ์„  ์‚ฌํ•ญ์ด ๋„์ž…๋จ.

๊ฐ„๋‹จํ•œ ๋น„์œ  (์ƒˆ๋กœ์šด ์•„ํ‚คํ…์ฒ˜)

์ƒˆ๋กœ์šด ์‹œ์Šคํ…œ์—์„œ๋Š” ๋ชจ๋“  ๊ฒƒ์ด ๋” ์ง๊ด€์ ์ด๊ณ  ํšจ์œจ์ ์ž„. React Native ์•ฑ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Œ:

  • โ˜• JavaScript Thread (๊ณ ๊ฐ) - ๊ณ ๊ฐ์ด ์›ํ•˜๋Š” ์ปคํ”ผ๋ฅผ ๋น ๋ฅด๊ฒŒ ๊ฒฐ์ •ํ•จ(์•ฑ ๋…ผ๋ฆฌ).
  • ๐Ÿง‘โ€๐Ÿณ Fabric (๋ฐ”๋ฆฌ์Šคํƒ€) - ์ปคํ”ผ๋ฅผ ์ง์ ‘ ๋งŒ๋“ค๊ณ , ํ•„์š”ํ•œ ๋ชจ๋“  ์ž‘์—…์„ ํ•œ ๋ฒˆ์— ์ฒ˜๋ฆฌํ•จ(UI ๋ Œ๋”๋ง).
  • โš™๏ธ Turbo Modules (๊ณ ๊ธ‰ ์ปคํ”ผ ๋„๊ตฌ) - ํŠน์ˆ˜ํ•œ ์ปคํ”ผ ๋จธ์‹ ์œผ๋กœ ํŠน๋ณ„ํ•œ ์š”๊ตฌ๋ฅผ ์ฒ˜๋ฆฌํ•จ(์นด๋ฉ”๋ผ๋‚˜ GPS์™€ - ๊ฐ™์€ Native ๊ธฐ๋Šฅ ์ ‘๊ทผ).
  • ๐Ÿ›Ž ์ง์ ‘ ํ†ต์‹  (์„œ๋น™ ์ง์›) - ์ปคํ”ผ๊ฐ€ ์ค€๋น„๋˜๋ฉด ๋ฐ”๋กœ ๊ณ ๊ฐ์—๊ฒŒ ์ „๋‹ฌํ•จ, ์ง€์—ฐ ์—†์ด ๋น ๋ฅด๊ฒŒ!

์ƒˆ๋กœ์šด ์‹œ์Šคํ…œ์—์„œ๋Š” ์ปคํ”ผ๊ฐ€ ๋” ๋น ๋ฅด๊ณ  ์ง๊ด€์ ์œผ๋กœ ์ œ๊ณต๋˜๋ฉฐ, ์ด์ „๋ณด๋‹ค ๋” ํšจ์œจ์ ์ด๊ณ  ์ฆ‰๊ฐ์ ์ธ ์„œ๋น„์Šค๋ฅผ ๊ฒฝํ—˜ํ•  ์ˆ˜ ์žˆ์Œ.