๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
728x90
๋ฐ˜์‘ํ˜•

๐Ÿš€ Development/React Native12

React Native ๊ธฐ๋ณธ ์ฝ”๋“œ(Hellow World ์‹คํ–‰ ํ™”๋ฉด ์ถœ๋ ฅํ•˜๊ธฐ) React Native ๊ธฐ๋ณธ ์ฝ”๋“œ(Hellow World ์‹คํ–‰ ํ™”๋ฉด ์ถœ๋ ฅํ•˜๊ธฐ) // index.js import {AppRegistry} from 'react-native'; import App from './App'; import {name as appName} from './app.json'; AppRegistry.registerComponent(appName, () => App); index.js์—์„œ AppRegistry. registerComponent ์•ฑ๋„ค์ž„์— ์•ฑ ํŒŒ์ผ์„ ๋“ฑ๋กํ•ด์„œ ์ฒ˜์Œ ์‹คํ–‰๋˜๋Š” ์ง„์ž…์ ์„ ์„ค์ •ํ•œ๋‹ค. App.jsํŒŒ์ผ์— ์ง„์ž…ํ•˜๊ฒŒ ๋˜๋ฉด exportํ•œ App ์ปดํฌ๋„ŒํŠธ๊ฐ€ ์‹คํ–‰๋œ๋‹ค. // App.js import React from 'react'; import { StyleSheet, Tex.. 2023. 6. 15.
React Native์˜ ์ž‘๋™ ์›๋ฆฌ React Native์˜ ์ž‘๋™ ์›๋ฆฌ JSX๋กœ ์งœ์—ฌ์ง„ ์†Œ์Šค๋ฅผ ๋ฆฌ์•กํŠธ ๋„ค์ดํ‹ฐ๋ธŒ ํ”„๋ ˆ์ž„์›Œํฌ์— ์˜ฌ๋ฆฐ๋‹ค. ๋ฐ”๋ฒจ์„ ํ†ตํ•ด ์ฝ”๋“œ๊ฐ€ JS bndle ๋ผ์„œ JS thread์—์„œ JSX์ฝ”๋“œ๊ฐ€ ์‹คํ–‰๋œ๋‹ค. ๊ฐ ํ”Œ๋žซํผ์˜ ์•ฑ ์‹คํ–‰์€ native thread์— ์˜ํ•ด ์‹คํ–‰๋˜๋Š”๋ฐ, JS thread์™€ Native thread๊ฐ€ ์ง์ ‘์ ์œผ๋กœ ์ปค๋ฎค๋‹ˆ์ผ€์ด์…˜์„ ํ•  ์ˆ˜ ์—†์–ด์„œ ์ค‘๊ฐ„์— react native์—์„œ ์ œ๊ณต๋˜๋Š” bridge์— ์˜ํ•ด ์ƒํ˜ธ์ž‘์šฉํ•œ๋‹ค. bridge๋Š” ๋ฆฌ์•กํŠธ ๋„ค์ดํ‹ฐ๋ธŒ์— ์žˆ๋Š” ์ฝ”๋“œ๊ฐ€ ๋„ค์ดํ‹ฐ๋ธŒ ์ฝ”๋“œ๋กœ ๋ณ€ํ™˜์„ ์ฒ˜๋ฆฌํ•˜๋Š” ๊ธฐ๋Šฅ์ด๋‹ค. ๋ฐ”๋ฒจ(Babel) ์ด๋ž€? ์ตœ์‹  ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๋ฌธ๋ฒ•์„ ๋ชจ๋“  ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ์ดํ•ดํ•˜์ง€ ๋ชปํ•˜๊ธฐ ๋•Œ๋ฌธ์—, Babel์„ ํ†ตํ•ด ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋Š” ๋ฌธ๋ฒ•์œผ๋กœ ๋ณ€ํ™˜ํ•ด์ฃผ๋Š” ์ปดํŒŒ์ผ๋Ÿฌ์ด๋‹ค. ์ดˆ๊ธฐ์˜ ๋ฐ”๋ฒจ์€ ES6 ์ฝ”๋“œ๋ฅผ ES5 ์ฝ”๋“œ๋กœ.. 2023. 6. 15.
React Native์˜ ํŠน์ง• ๋ฐ ์žฅ์  / ํ™œ์šฉ React Native์˜ ํŠน์ง• ๋ฐ ์žฅ์  1. ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์—์„œ XML์„ ์ถ”๊ฐ€ํ•œ ํ™•์žฅํ˜• ๋ฌธ๋ฒ•์ธ JSX(Javascript XML)๋ฅผ ์‚ฌ์šฉ React native๋Š” JSX๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ณ  ์ˆœ์ˆ˜ํ•œ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์ฝ”๋“œ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์ง€๋งŒ, React๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์ค‘์š”ํ•œ ์ด์œ  ์ค‘ ํ•˜๋‚˜๊ฐ€ ‘์ง๊ด€์ ’์ด๋ผ์„œ JSX๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์ปดํฌ๋„ŒํŠธ๋ฅผ ๊ตฌ์„ฑํ•˜๋Š”๋ฐ ์‰ฝ๊ฒŒ ์ ์‘ํ•  ์ˆ˜ ์žˆ๋‹ค. * ์ง๊ด€์ ->๋ฆฌ์•กํŠธ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด์„œ ์ฝ”๋“œ๋ฅผ ๋ณด๊ณ  ํ™”๋ฉด์— ์–ด๋–ค UI๊ฐ€ ๊ทธ๋ ค์งˆ์ง€ ์ถฉ๋ถ„ํžˆ ์˜ˆ์ƒ ๊ฐ€๋Šฅํ•˜๋‹ค๋Š” ๊ฒƒ 2. ์†Œ์Šค์ฝ”๋“œ ์žฌ์‚ฌ์šฉ๊ณผ ์ƒ์‚ฐ์„ฑ. ๋ฆฌ์•กํŠธ๋Š” Component ๊ธฐ๋ฐ˜์œผ๋กœ ๊ธฐ๋Šฅ์„ ๋ถ„๋ฆฌํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์žฌ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๊ตฌ์กฐ์ด๋‹ค. ๊ธฐ์กด์— ๋ฆฌ์•กํŠธ๋กœ ๊ฐœ๋ฐœ๋œ ์‚ฌ์ดํŠธ์—์„œ Component ์ฝ”๋“œ๋ฅผ ๊ทธ๋Œ€๋กœ ์žฌ์‚ฌ์šฉํ•˜๊ณ  ์ž‘์„ฑ๋œ ์ฝ”๋“œ ํ•˜๋‚˜๋กœ iOS, Android๋ฅผ ๋™์‹œ์— ๊ฐœ๋ฐœํ•˜๊ธฐ ๋•Œ.. 2023. 6. 15.
React Native๋ž€? React Native์™€ React ์ฐจ์ด, ๋ฆฌ์•กํŠธ ํƒ„์ƒ ๋ฐฐ๊ฒฝ ๋ฆฌ์•กํŠธ ํƒ„์ƒ๋ฐฐ๊ฒฝ 2011, ํŽ˜์ด์Šค๋ถ ๊ฐœ์‹œ ํŽ˜์ด์Šค๋ถ์ด ๊ธ‰์„ฑ์žฅํ•˜๋ฉด์„œ ํŒ€์˜ ๊ทœ๋ชจ๊ฐ€ ์ปค์กŒ๊ณ , ์•ฑ์˜ ๊ธฐ๋Šฅ์ด ๋‹ค์–‘ํ•ด์กŒ๋‹ค. ์‚ฌ๋žŒ์ด ๋งŽ์•„์ง€๋ฉด ๊ธฐ๋Šฅ ๊ฐœ๋ฐœ ์†๋„๊ฐ€ ๋นจ๋ผ์งˆ ๊ฒƒ์œผ๋กœ ์˜ˆ์ƒํ•˜์ง€๋งŒ, ์‹ค์ œ๋กœ๋Š” ๊ฐ์ž์˜ ๊ฐœ๋ฐœ ์Šคํƒ€์ผ์ด ๋‹ค๋ฅด๊ณ  ๊ธฐ๋Šฅ ํ•˜๋‚˜๋ฅผ ์ถ”๊ฐ€ํ•  ๋•Œ์—๋„ ๋‹ค๋ฅธ ๊ณณ์— ์˜ํ–ฅ์ด ๊ฐ€๋Š”์ง€ ์ฒดํฌํ•ด์•ผํ•œ๋‹ค. ์ด ๊ณผ์ •์„ ๊ฐœ๋ฐœ์ž๋Š” Human-Error ์นœํ™”์ ์ด๋ผ๊ณ  ์ด์•ผ๊ธฐํ•œ๋‹ค. ํŽ˜์ด์Šค๋ถ ๊ฐœ๋ฐœ์ž๋“ค์€ ์ด ๋ฌธ์ œ๋ฅผ ๊ธฐ์ˆ ์ ์œผ๋กœ ํ•ด๊ฒฐํ•ด์•ผํ•œ๋‹ค๊ณ  ์—ฌ๊ฒผ๋‹ค. 2012, ์ธ์Šคํƒ€๊ทธ๋žจ ๋ฐฐ์น˜ 2012๋…„ ํŽ˜์ด์Šค๋ถ์€ ์ธ์Šคํƒ€๊ทธ๋žจ์„ ์ธ์ˆ˜ํ–ˆ๋‹ค. React๋Š” ํŽ˜์ด์Šค๋ถ Ads๋ฅผ ์œ„ํ•œ ํ”„๋กœํ† ํƒ€์ž…์œผ๋กœ ๋งŒ๋“ค๊ณ  ์žˆ์—ˆ๋Š”๋ฐ, ์ธ์Šคํƒ€๊ทธ๋žจ ๊ฐœ๋ฐœ์ž๋“ค์ด React๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์‹ถ์–ดํ•˜๋Š” ๋ฐ”๋žŒ์— ์˜คํ”ˆ์†Œ์Šค, ๋ชจ๋“  ๊ฐœ๋ฐœ์ž๊ฐ€ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋กœ ํƒ„์ƒํ•  ์ˆ˜ ์žˆ์—ˆ๋‹ค. 2013, ์˜คํ”ˆ์†Œ์Šค ์„ธ์ƒ์— ๊ณต๊ฐœ R.. 2023. 6. 15.
728x90
๋ฐ˜์‘ํ˜•