ReactNative

[Windows ์—์„œ ios ์•ฑ ๊ฐœ๋ฐœ] Expo & Expo go ์„ค์น˜๋ถ€ํ„ฐ ์…‹ํŒ…๊นŒ์ง€!

IworldT 2021. 9. 13. 17:33
๋ฐ˜์‘ํ˜•

๋ฆฌ์•กํŠธ๋„ค์ดํ‹ฐ๋ธŒ(React Native)๋กœ ์•ˆ๋“œ๋กœ์ด๋“œ(Android)์™€ IOS๋ฅผ ํ•œ๋ฒˆ์— ๊ฐœ๋ฐœํ•˜๋Š” ๋ชฉํ‘œ๋ฅผ ์„ธ์› ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์–ด์จŒ๋“  IOS์˜ ์• ๋ฎฌ๋ ˆ์ดํ„ฐ๋ฅผ ์‹คํ–‰ ํ•ด ๋ณด๊ธฐ ์œ„ํ•ด์„œ๋Š” mac os๊ฐ€ ํ•„์š”ํ•˜๋‹ค๊ณ  ํ•œ๋‹ค. ์ด๋Ÿฐ ๋ฌธ์ œ์ ์„ ํ•œ ๋ฐฉ์— ํ•ด๊ฒฐ ํ•ด ์ค„ Expo!

์—‘์Šคํฌ(Expo)๋ฅผ ์„ค์น˜ํ•˜๋ฉด ์•ˆ๋“œ๋กœ์ด๋“œ์™€ IOS๋ฅผ ์›น ํŽ˜์ด์ง€์—์„œ๋Š” ๋ฌผ๋ก , ๋‚ด ํœด๋Œ€ํฐ์—์„œ๋„ Expo go ๋ฅผ ํ†ตํ•ด ์‹ค์ œ ์•ฑ์œผ๋กœ ๋Œ๋ ค๋ณผ ์ˆ˜ ์žˆ๋‹ค.

 

 Expo ์„ค์น˜ํ•˜๊ธฐ  - ์›น ๋˜๋Š” VSCode

 Visual Studio Code ์—์„œ Expo๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์‹ถ์œผ๋ฉด ๋ฐ”๋กœ 2๋ฒˆ์œผ๋กœ ๋„˜์–ด๊ฐ€๋ฉด ๋œ๋‹ค!

 

 ์›น์—์„œ Expo ์‚ฌ์šฉํ•˜๊ธฐ 

๊ฐ„๋‹จํ•œ ์ปดํฌ๋„ŒํŠธ๋งŒ ์‹คํ–‰์‹œ์ผœ๋ณด๊ณ ์‹ถ๋‹ค๋ฉด, ์›น์—์„œ ์‰ฝ๊ฒŒ ๋Œ๋ ค๋ณผ ์ˆ˜ ์žˆ๋‹ค.

https://reactnative.dev/docs/components-and-apis

 

Core Components and APIs · React Native

React Native provides a number of built-in Core Components ready for you to use in your app. You can find them all in the left sidebar (or menu above, if you are on a narrow screen). If you're not sure where to get started, take a look at the following cat

reactnative.dev

 

๋ฆฌ์•กํŠธ ๋„ค์ดํ‹ฐ๋ธŒ ๊ณต์‹ ๋ฌธ์„œ์—์„œ๋Š” Expo๋ฅผ ๋ชจ๋“ˆ๋กœ ์ œ๊ณตํ•ด์ฃผ๊ณ  ์žˆ๋‹ค.

 

 

 

ํŽ˜์ด์ง€ ์™ผ์ชฝ์—์„œ ์›ํ•˜๋Š” ์ปดํฌ๋„ŒํŠธ๋ฅผ ์„ ํƒํ•˜๊ฑฐ๋‚˜, ์•„๋ฌด ์ปดํฌ๋„ŒํŠธ๋ฅผ ์„ ํƒํ•˜์—ฌ Example์„ ๋ณด๋ฉด Expo๊ฐ€ ์‚ฝ์ž…๋˜์–ด์žˆ๋Š” ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ๋‹ค. ์—ฌ๊ธฐ์„œ ์ € ๋นจ๊ฐ„ ๋™๊ทธ๋ผ๋ฏธ ๋ถ€๋ถ„์„ ํด๋ฆญํ•˜๋ฉด, Expo snack ํŽ˜์ด์ง€๋กœ ์ด๋™ํ•œ๋‹ค.

 

 

 

๊ทธ๋Ÿผ ์ด๋ ‡๊ฒŒ ์›น ๊ฐœ๋ฐœ ํˆด์ด ๋‚˜ํƒ€๋‚œ๋‹ค.

ํ”„๋กœ์ ํŠธ๋ฅผ ํด๋” ๋ณ„๋กœ ๊ด€๋ฆฌํ•  ์ˆ˜๋„ ์žˆ๊ณ , ํšŒ์›๊ฐ€์ž…์„ ํ†ตํ•ด ๋ณ€๊ฒฝ์‚ฌํ•ญ์„ ์›น ์‚ฌ์ดํŠธ๋กœ ์ €์žฅํ•ด ๋‘˜ ์ˆ˜๋„ ์žˆ๋‹ค. ์šฐ์ธก์˜ ํ™”๋ฉด์ด ์• ๋ฎฌ๋ ˆ์ดํ„ฐ๋กœ, ios์™€ ์•ˆ๋“œ๋กœ์ด๋“œ๋ฅผ ๊ฐ™์ด ๋Œ๋ ค๋ณผ ์ˆ˜ ์žˆ๋‹ค. ๋‹จ์ ์€ ์กฐ๊ธˆ ๊ธฐ๋‹ค๋ ค์•ผ ํ•œ๋‹ค๋Š” ๊ฒƒ.

๊ทธ๋Ÿผ ๋‚ด ํฐ์—์„œ ์‹คํ–‰ํ•ด๋ณด๊ธฐ ์œ„ํ•ด ์•ฑ์„ ๋‹ค์šด๋ฐ›์•„๋ณด์ž!

 

 Expo Go ์•ฑ ์„ค์น˜ ๋ฐ ์‚ฌ์šฉ๋ฒ• 

My Device ๋˜๋Š” Run it on your phone ์„ ํด๋ฆญํ•˜๋ฉด QR ์ฝ”๋“œ๊ฐ€ ๋‚˜์˜จ๋‹ค. ์šฐ๋ฆฌ์˜ ํฐ์— Expo go ์•ฑ์„ ๋‹ค์šด๋กœ๋“œ ํ•˜๊ณ  ์ € QR์„ ์ธ์‹์‹œํ‚ค๋ฉด ์šฐ๋ฆฌ์˜ ํ”„๋กœ์ ํŠธ๊ฐ€ Expo go ์—์„œ ์‹คํ–‰๋œ๋‹ค.

 

์•„์ดํฐ์€ Expo go ์•ฑ์— QR ์ฝ”๋“œ ๋ฆฌ๋”๊ธฐ๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ์ง€ ์•Š๋‹ค. ๊ทธ๋Ÿฌ๋ฏ€๋กœ ์•„์ดํฐ ์•ฑ ์ž์ฒด์˜ "์ฝ”๋“œ ์Šค์บ๋„ˆ"๋ฅผ ํ†ตํ•ด์„œ QR ์ฝ”๋“œ๋ฅผ ์ธ์‹์‹œ์ผœ์ฃผ๋ฉด, Expo go ์—์„œ ์‹คํ–‰ํ•˜๊ธฐ ๋ฒ„ํŠผ์ด ๋‚˜ํƒ€๋‚œ๋‹ค.

 

 

๊ทธ๋Ÿฌ๋ฉด ์•„๋ž˜์™€ ๊ฐ™์ด ์•ฑ์ด ์‹คํ–‰๋œ๋‹ค!

 

 

 

์œ ์˜ํ•  ์ ์€ ์›นํŽ˜์ด์ง€ Expo๋ฅผ ์‹คํ–‰ํ•˜๊ณ  ์žˆ๋Š” ๊ธฐ๊ธฐ์˜ ์ธํ„ฐ๋„ท๊ณผ ์•ฑ Expo go๋ฅผ ์‹คํ–‰ํ•˜๊ณ  ์žˆ๋Š” ๊ธฐ๊ธฐ์˜ ์ธํ„ฐ๋„ท (์™€์ดํŒŒ์ด)๊ฐ€ ๋™์ผํ•ด์•ผ ํ•œ๋‹ค๋Š” ์ ์ด๋‹ค. ๋‚˜๋Š” ์ปดํ“จํ„ฐ๋Š” ์ด๋”๋„ท, ์•„์ดํฐ์€ ์™€์ดํŒŒ์ด๋กœ ์ ‘์†ํ–ˆ๋‹ค.

 

๋ฐ˜์‘ํ˜•

 

 VScode ์—์„œ Expo ์„ค์น˜ํ•˜๊ธฐ 

 

** ์‚ฌ์ „์— VScode ์™€ Node.js(lts ๋ฒ„์ „)๋ฅผ ์„ค์น˜ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค!

** yarn๋„ ์„ค์น˜ํ•ด์ฃผ์„ธ์š”!

npm install --global yarn

 

1-1) vscode ํ„ฐ๋ฏธ๋„์—์„œ ๋‹ค์Œ ๋ช…๋ น์–ด ์ž…๋ ฅํ•˜๊ธฐ.

npm install -g expo-cli

 

๋˜๋Š” !!

 

1-2) vscode ๋งˆ์ผ“ํ”Œ๋ ˆ์ด์Šค์—์„œ Expo Tools ์„ค์น˜ํ•˜๊ธฐ

 

 

2) ์ƒˆ ํ”„๋กœ์ ํŠธ๋ฅผ ๋งŒ๋“ค์–ด Expo ์‚ฝ์ž…ํ•ด๋ณด๊ธฐ (๊ธฐ์กด ํ”„๋กœ์ ํŠธ๋ฅผ Expo๋กœ ์‹คํ–‰์€ ๋‹ค์Œ ๋‹จ๊ณ„์—์„œ!)

expo init my-project

์œ„์˜ ๋ช…๋ น์–ด๋ฅผ ํ„ฐ๋ฏธ๋„์— ์ž…๋ ฅํ•ด์ฃผ๋ฉด, ํ…œํ”Œ๋ฆฟ์„ ์„ ํƒํ•˜๋ผ๋Š” ๋ฌธ๊ตฌ๊ฐ€ ๋‚˜์˜จ๋‹ค. blank ๋˜๋Š” blank TypeScript ๋ฒ„์ „์„ ์„ ํƒํ•˜๊ณ  ์—”ํ„ฐ๋ฅผ ์ž…๋ ฅํ•ด์ค€๋‹ค. 

 

๊ทธ๋Ÿฌ๋ฉด my-project ๋ผ๋Š” ์ด๋ฆ„์˜ ํ”„๋กœ์ ํŠธ๊ฐ€ ์ƒ์„ฑ๋œ ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

๋ฐ”๋กœ ์‹คํ–‰ํ•ด๋ณด์ž.

npm start

 

๊ทธ๋Ÿผ ํ„ฐ๋ฏธ๋„์— QR ์ฝ”๋“œ๊ฐ€ ๋œจ๊ณ , ์›นํŽ˜์ด์ง€๋„ ์‹คํ–‰๋œ๋‹ค. QR ์ธ์‹์€ ์ƒ๋‹จ์˜ Expo Go ์•ฑ ์„ค์น˜ ๋ฐ ์‚ฌ์šฉ๋ฒ• ์„ ๋‹ค์‹œ ์ฐธ๊ณ ํ•˜๋ฉด ๋œ๋‹ค.

 

 

์ฒ˜์Œ ๋กœ๋”ฉ ์‹œ์—๋Š” ๋ชจ๋“ˆ๋“ค์„ ๊ตฌ์„ฑํ•˜๋Š” ๋ฐ์— ๋Œ€๊ธฐ์‹œ๊ฐ„์ด ์กฐ๊ธˆ ํ•„์š”ํ•˜๋‹ค.

 

 

๊ทธ๋Ÿฌ๋ฉด ์œ„์™€ ๊ฐ™์ด ์ฒซ ๋ฒˆ์งธ ํ™”๋ฉด์ด ์‹คํ–‰๋œ๋‹ค!

๊ทธ๋Ÿผ ์—ฌ๊ธฐ์„œ Expo์˜ ๋Œ€๋‹จํ•œ ์ ์ด ๋ญ๋ƒ๋ฉด.. 

 

 

VSCode์—์„œ App.js ํŒŒ์ผ์„ ๋‹ค์Œ๊ณผ ๊ฐ™์ด  ์ˆ˜์ •ํ•ด์ฃผ๊ณ  Ctrl+S (์ €์žฅ)์„ ๋ˆ„๋ฅด๋ฉด? ๋ฐ”๋กœ ์•ฑ์— ์ ์šฉ์ด ๋œ๋‹ค. 

 

 

์ •๋ง ์• ๋ฎฌ๋ ˆ์ดํ„ฐ๋‹ค. ๊ทธ๊ฒƒ๋„ ๋‚ด ํฐ์—์„œ ์‹คํ–‰ํ•ด๋ณผ ์ˆ˜ ์žˆ๋Š” ์• ๋ฎฌ๋ ˆ์ดํ„ฐ์ด๋‹ค. ๋„ˆ๋ฌด ๊ฐ„ํŽธํ•˜๊ณ  ์‰ฌ์›Œ์„œ ์ด๊ฑธ ์™œ ์ด์ œ์•ผ ์•Œ์•˜๋‚˜ ์‹ถ๋‹ค. ๋ฆฌ์•กํŠธ ๋„ค์ดํ‹ฐ๋ธŒ ๊ฐœ๋ฐœ์— ํ•„์ˆ˜ ์•ฑ์ด ์•„๋‹๊นŒ ํ•œ๋‹ค.

 

3) ๊ธฐ์กด ํ”„๋กœ์ ํŠธ๋ฅผ Expo๋กœ ์‹คํ–‰ํ•˜๊ธฐ

๊ธฐ์กด ํ”„๋กœ์ ํŠธ๋ฅผ expo convert๋กœ ์‰ฝ๊ฒŒ ์ „ํ™˜ํ•˜๋ฉด ์ข‹๊ฒ ์ง€๋งŒ, ์ƒˆ ํ”„๋กœ์ ํŠธ๋ฅผ ๋งŒ๋“ค์–ด ์ฃผ์ž…ํ•˜๋Š” ๋ฐฉ๋ฒ•๋ฐ–์— ์—†๋‹ค๊ณ  ํ•œ๋‹ค. ์ด๋Š” ๋‹ค์Œ ๊ฒŒ์‹œ๊ธ€์—์„œ ์ž‘์„ฑํ•ด์•ผ๊ฒ ๋‹ค ใ…œใ…œ ์ง€๊ธˆ ํ•˜๊ณ ์žˆ๋Š”๋ฐ ์‰ฝ์ง€ ์•Š๋‹ค..ใ… 

728x90
๋ฐ˜์‘ํ˜•