๐Ÿ’ป[React Native] ๋ฆฌ์•กํŠธ๋„ค์ดํ‹ฐ๋ธŒ๋ž€?

ํ˜ฑยท2023๋…„ 1์›” 7์ผ
post-thumbnail

โ˜‘๏ธ ๋„ค์ดํ‹ฐ๋ธŒ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜

์šด์˜์ฒด์ œ๋ฅผ ๊ตฌ์„ฑํ•˜๋Š” ์–ธ์–ด์™€ ๊ฐ™์€ ์–ธ์–ด๋กœ ๋งŒ๋“ค์–ด์ง€๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜
[ios]-Swift or Objective-C, [์•ˆ๋“œ๋กœ์ด๋“œ]-JAVA or Kotlin
์žฅ์ : ๋†’์€ ์„ฑ๋Šฅ ๋ณด์žฅ
๋‹จ์ : ๊ฐœ๋ฐœ์— ํˆฌ์ž…๋˜๋Š” ๋ฆฌ์†Œ์Šค๊ฐ€ ๋งŽ์•„์ง
๋‘ ๊ฐœ์˜ ํ”Œ๋žซํผ ์ถœ์‹œ๋กœ ํ•˜๋ ค๋ฉด ๋‘ ๊ฐœ์˜ ๋ฆฌ์†Œ์Šค๊ฐ€ ํ•„์š”

โ˜‘๏ธ ํ•˜์ด๋ธŒ๋ฆฌ๋“œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜

์›น๋ทฐ๋ฅผ ์ด์šฉํ•ด ๋ณด์—ฌ์ง€๋Š” ์˜์—ญ์— HTML์„ ๋ณด์—ฌ์คŒ, HTML+CSS+JS ์ด์šฉ
๋„ค์ดํ‹ฐ๋ธŒ๋กœ ๋งŒ๋“ค์–ด์ง„ ์•ฑ ์ปจํ…Œ์ด๋„ˆ๋กœ ๋„ค์ดํ‹ฐ๋ธŒ ๊ธฐ๋Šฅ ์—ฐ๋™
์žฅ์ : ์›น ๊ธฐ์ˆ ์— ์ต์ˆ™ํ•˜๋‹ค๋ฉด ๋น ๋ฅธ ๊ฐœ๋ฐœ ๊ฐ€๋Šฅ
๋‹จ์ : ๋ทฐ ํผํฌ๋จผ์Šค ์ตœ์ ํ™”๊ฐ€ ํž˜๋“ฆ
๊ตฌ๊ธ€-์„ฑ๋Šฅ ์ €ํ•˜๊ฐ€ ๋ณ„๋กœ ์—†์Œ
์• ํ”Œ-30%๊ฐ€๊นŒ์ด ์„ฑ๋Šฅ์ด ๋–จ์–ด์ง€๋Š” ๊ฒฝ์šฐ ์กด์žฌ
์„ฑ๋Šฅ์€ ๊ธฐ๋ณธ์ ์œผ๋กœ ๋–จ์–ด์ง€๊ธด ํ•จ

โ˜‘๏ธ ํฌ๋กœ์Šค ํ”Œ๋žซํผ ๋„ค์ดํ‹ฐ๋ธŒ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜

๋„ค์ดํ‹ฐ๋ธŒ๊ฐ€ ์ด๋Š” ์–ธ์–ด๋กœ ์ž‘์„ฑํ•˜์ง€๋งŒ ๋นŒ๋“œ ๋‹จ๊ณ„์—์„œ ๋„ค์ดํ‹ฐ๋ธŒ๋กœ ๋ณ€ํ™˜๋จ
๋ฆฌ์•กํŠธ ๋„ค์ดํ‹ฐ๋ธŒ(JS), ์œ ๋‹ˆํ‹ฐ(C#), ํ”Œ๋กœํ„ฐ(Dart) ๋“ฑ
์žฅ์ : ์ž์‹ ์—๊ฒŒ ์ต์ˆ™ํ•œ ์–ธ์–ด๋กœ ๋น ๋ฅธ ๊ฐœ๋ฐœ ๊ฐ€๋Šฅ
๋‹จ์ : ๋„ค์ดํ‹ฐ๋ธŒ ์—ฐ๋™ ๊ธฐ๋Šฅ์ด ๋งŽ์„ ๊ฒฝ์šฐ์—๋Š” ํšจ์œจ์„ฑ์ด ๋–จ์–ด์ง

โœ”๏ธ ๋ฆฌ์•กํŠธ๋Š” ๋„ค์ดํ‹ฐ๋ธŒ๋„ ํ•˜์ด๋ธŒ๋ฆฌ๋“œ๋„ ์•„๋‹Œ, ์‹ค์ œ ๋ชจ๋ฐ”์ผ ์•ฑ

๐Ÿ“Œ JSX

Javascript + XML
ECMA Script 6 ํ‘œ์ค€์˜ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์‚ฌ์šฉ
JSX ๋‚ด์— ์Šคํƒ€์ผ์‹œํŠธ๋ฅผ ํฌํ•จ, ์›น์˜ CSS์™€ ๋งŽ์€ ๊ฐœ๋…์„ ๊ณต์œ ํ•˜์ง€๋งŒ, ๋…์ž์ ์ธ ํฌ๋งท CSSํŒŒ์ผ๋กœ ์ž‘์„ฑ ๋ถˆ๊ฐ€

โœ”๏ธ ๋ฆฌ์•กํŠธ์˜ ๊ฒฝ์šฐ, JSX->REACT(VIRTUAL DOM)->HTML(VIEW)

โœ”๏ธ ๋ฆฌ์•กํŠธ๋„ค์ดํ‹ฐ๋ธŒ์˜ ๊ฒฝ์šฐ, JSX->REACTNATIVE->IOS VIEW OR ANDRIOD VIEW

โญ๏ธ JSX๋ฅผ '์–ด๋–ค ๋ทฐ'์˜ ํ˜•ํƒœ๋กœ ๋ Œ๋”๋ง ํ•˜๋Š” ๊ธฐ์ˆ ์ด ๋ฆฌ์•กํŠธ์˜ ํ•ต์‹ฌ ๊ธฐ์ˆ  โญ๏ธ

โœ”๏ธ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ๊ตฌ์กฐ

JAVASCRIPT(DATA) <-BRIDGE-> NATIVE VEIW: ๋„ค์ดํ‹ฐ๋ธŒ ๋ทฐ์™€ JS ์—”์ง„์˜ ๋ฐ์ดํ„ฐ๊ฐ€ ์˜ค๊ฐ€๋Š” ๊ฒƒ๋“ค์„ ๊ณ„์†ํ•ด์„œ ์ค‘๊ฐ„์—์„œ ์ค€๋น„

profile
new blog: https://hae0-02ni.tistory.com/

0๊ฐœ์˜ ๋Œ“๊ธ€