์๋ก
์ง๊ธ๊น์ง ํญ์ ํด๋ก ์ฝ๋ฉ์ด๋ ๊ณผ์ ๋ง ํด๋ดค์ง ์ค์ ์๋น์ค๋ฅผ ๊ฐ๋ฐํด ๋ณธ ์ ์ ์์๋ค. ๊ทธ๋ฌ๋ค ์ด ์ข๊ฒ๋ ์ฌ์ ์ ํ๋ค๊ณ ํ๋ ์น๊ตฌ๋ค์ ๋ถํ์ผ๋ก ์ธ์ ์ฒซ ์ธ์ฃผ(?)๋ฅผ ๋งก๊ฒ ๋์๋ค. ํ ๋ฒ๋ ๋ชจ๋ฐ์ผ ์ฑ ๊ฐ๋ฐ์ ๊ณต๋ถํด ๋ณธ ์ ๋ ๊ฐ๋ฐํ๊ฒ ๋ค๋ ์๊ฐ์กฐ์ฐจ ์ ํ๋ ๋์๊ฒ ์ฒซ ๊ฐ๋ฐ์ด ์ค์ ์๋น์ค๋ฅผ ์ ๊ณตํด์ผ ํ๋ ๋ชจ๋ฐ์ผ ์ฑ์ด๋ผ๋... ๋ถ๋ด๊ฐ๊ณผ ๊ฑฑ์ ์ด ์์์ง๋ง ํ ํธ์ผ๋ก ํ์์ด ์๋ ์ง์ง ๊ฐ๋ฐ์๋ก์์ ์ฒซ ์์ ๋ฌผ์ด ๋์ฌ ์ ์๊ฒ ๋ค๋ ์๊ฐ์ ํ์พํ ์๋ฝํ๋ค. ์ฒซ ๊ฐ๋ฐ์ 1์ธ ๊ฐ๋ฐ์ ํ ์์ ์ด ์์ด์ 42 ์์ธ์์ ์ฌ๋์ ๊ตฌํด ํ์ ์ ํ๊ธฐ๋ก ํ๋ค. ์ฌ์ ์์ด๋์ด์ ๋ํ ์์ฅ ๋ฐ์์ ์ดํด๋ณด๊ธฐ ์ํ ํ๋กํ ํ์ ์ฉ ์ฑ์ด์๊ธฐ์ ๋๋๋ก ๋น ๋ฅด๊ฒ ์ถ์ํด์ผ ํ๋ค.
"์น์ดํ ํ๋ฃจ"๋ GPS ๊ธฐ๋ฐ ์ผ์ ๊ด๋ฆฌ ์ฑ์ด๋ค. ๊ธฐ์กด ์ผ์ ๊ด๋ฆฌ ์ฑ๊ณผ ๋ค๋ฅด๊ฒ ์ผ์ ์ฅ์์ ์์น ์๋น์ค๋ฅผ ์ด์ฉํด ์ฌ์ฉ์๊ฐ ์ผ์ ์๊ฐ ๋ด์ ์ผ์ ์ฅ์์ ์๋์ง ์๋์ง ๊ฒ์ฌํ๋ ๊ธฐ๋ฅ์ ์ ๊ณตํ๋ค. ๋ํ, ์ด ์์น ์๋น์ค๊ฐ ๋ฐฑ๊ทธ๋ผ์ด๋, ์ฆ ์ฑ์ ์ฌ์ฉํ์ง ์์ ๋์๋ ๋์์ ํ๋ค. ๋ ์์ธํ ๋ด์ฉ์ ํต์ฌ ๊ธฐ๋ฅ ๊ตฌํ ์ฑํฐ์์ ์ค๋ช ํ๋๋ก ํ๊ฒ ๋ค.
๊ธฐ์ ์คํ
- React Native / React Hooks / Redux
- Baas - Firebase (Firestore)
- JavaScript
- GitHub
๋น ๋ฅธ ์๊ฐ ์์ Android์ iOS, ๋ ํ๋ซํผ์ฉ ์ฑ์ ๊ฐ๋ฐํด์ผ ํด์ React Native ํ๋ ์์ํฌ๋ฅผ ์ ํํ๋ค. ์ฌ์ค Flutter๋ ์๊ฐํ๊ณ ์์์ง๋ง ์์ํ Dart๋ฅผ ๋ฐฐ์ฐ๋๋ฐ ์๊ฐ์ด ์ค๋ ๊ฑธ๋ฆด ๊ฒ ๊ฐ์์ ์น์ํ JavaScript๋ฅผ ์ฌ์ฉํ ์ ์๋ React Native๋ก ๊ฒฐ์ ํ๋ค. ๋ฐฑ์๋๋ ์๋ฒ๋ฆฌ์ค๋ก์ ๋ณต์กํ ๋ฐฑ์๋ ์ฝ๋ ์์ด API๋ง ํธ์ถํด์ ๊ฐํธํ๊ฒ ๋ฐฑ์๋๋ฅผ ๊ตฌ์ถํ ์ ์๋ Firebase๋ฅผ ์ฌ์ฉํ๊ธฐ๋ก ํ๋ค. DB๋ฅผ Firestore์ Realtime Database ์ค์ ํ๋ ๊ณจ๋ผ์ผ ํ๋๋ฐ ๋ฐ์ดํฐ๋ฅผ ๊ด๋ฆฌํ๊ธฐ ๋น๊ต์ ์ฌ์ด Firestore์ ์ ํํ๋ค.
* react-native-background-geolocation ๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ Android๋ ์ ๋ฃ์ฌ์ ๊ฒฐ๊ตญ iOS๋ง ๊ฐ๋ฐํ๊ธฐ๋ก ํ๋ค.
๊ฐ๋ฐ ํ๊ฒฝ ์ค์
React Native ์ฑ์ expo์ฑ๊ณผ non-expo์ฑ์ผ๋ก ๋๋๋๋ฐ expo์ฑ์ ํ๊ฒฝ ์ค์ ์ด๋ ์ฌ์ฉ, ๊ฐ๋ฐ, ๋ฐฐํฌํ๋๋ฐ ํธ๋ฆฌํ๋ค. ์ฒซ ๊ฐ๋ฐ์ด๋ค ๋ณด๋ ๋ณต์กํ ํ๊ฒฝ ์ค์ ์ ์ ํด๋ ๋๋ Expo๋ฅผ ์ฌ์ฉํด์ ๊ฐ๋ฐ์ ํ๋ค ์ธ๋ถ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ถ๊ฐํ ์ ์๋ ๋ฌธ์ ๊ฐ ๋ฐ์ํด์ ๊ธํ Eject๋ฅผ ํตํด non-expo์ฑ์ผ๋ก ๋ฐ๊ฟจ๋ค. non-expo์ฑ์ผ๋ก ๋ฐ๊พธ๋ฉด ios, android ๋น๋ ํด๋๊ฐ ์๊ธฐ๋๋ฐ ์ด๋ Xcode์ Android Studio๋ฅผ ํตํด์ ์ง์ ๊ฐ๋ฐ ํ๊ฒฝ์ ์ค์ ํด์ผ ํจ์ ์๋ฏธํ๋ค.
๊ฐ๋ฐํ๋๋ฐ ๋ญ๊ฐ ์ ์ผ ์ด๋ ต๋๊ณ ๋ฌผ์ด๋ณธ๋ค๋ฉด ๋๋ ์์ ์๊ฒ ํ๊ฒฝ ์ค์ ํ๋ ๊ฒ ์ ์ผ ์ด๋ ต๋ค๊ณ ๋งํ ๊ฒ์ด๋ค. ์ฝ๋ ์ค๋ฅ๋ ๋๋ฒ๊น
์ ํตํด ์ฐจ๊ทผ์ฐจ๊ทผ ๊ณ ์ณ๋๊ฐ๋ฉด ๋์ง๋ง ํ๊ฒฝ ์ค์ ์ค๋ฅ๋ ๋ต์ด ์๋ค. (ํนํ M1 ๋งฅ๋ถ์ ์
์ง ์ค์ ์
์ง...) ํ์ง๋ง ๊ฐ๋ฐ์์ ๋๋ชฉ์ด ๋ฌด์์ด๋๊ฐ... ๋ฐ๋ก ๊ตฌ๊ธ๋ง์ด๋ค!! ์ด ๊ธ์ ์ฝ๊ณ ์๋ ๋์ฒ๋ผ ๊ฐ๋ฐ์๋ฅผ ๊ฟ๊พธ๊ณ ์๋ ์ฌ๋๋ค์๊ฒ ๋งํด์ฃผ๊ณ ์ถ๋ค. ๊ณผ์ฅ ์ข ๋ณดํ์ ๋งํ๋ฉด ๊ฐ๋ฐ์ 1%์ ๋ก์ง๊ณผ 99%์ ๊ตฌ๊ธ๋ง์ผ๋ก ์ด๋ฃจ์ด์ง๋ค๊ณ ์๊ฐํ๋ค. ๋ชจ๋ฅด๋ฉด ๋ฌด์ง์ฑ ๊ตฌ๊ธ๋ง์ด ๋ต์ด๋ค. ์ฝ์งํ๋ค ๋ณด๋ฉด ์ธ์ ๊ฐ ํด๊ฒฐ ๋ฐฉ๋ฒ์ด ๋์จ๋ค.... ํ์ดํ
!!!
์ธ๋ถ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ถ๊ฐํ ๋ Xcode ์ค์ ์ด ํ์ํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ค์ด ์กด์ฌํ๋ค. ๋ฐ๋ผ์ ํด๋น ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ค์ README๋ฅผ ์ฐจ๋ถํ ์ ์ฝ์ด๋ณด๊ณ ์งํํ๋ฉด ๋๋ค. ํ์ด ์๋ค๋ฉด ์ธ๋ถ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ํ ์คํธ์ฉ Workspace์ ํ๋ ๋ง๋ค์ด์ ์ค์น, ์ค์ ์ ์ฝ์งํด๋ณด๊ณ ํ๋ก์ ํธ Workspace์ ์ฝ์งํ ๋๋ก ์ ์ฉํ๋ฉด ํ๋ก์ ํธ ์์ ๊ณต๊ฐ์ ์ค์น, ์ค์ ์ค๋ฅ๋ก ์ธํ ๋ณต์กํ ๋ค์ฒ๋ฆฌ๋ฅผ ์ ํด๋ ๋๋ค.
'๋ชจ๋ฐ์ผ ์ฑ ๊ฐ๋ฐ > React Native' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[React Native] - "์น์ดํ ํ๋ฃจ" ๋ชจ๋ฐ์ผ ์ฑ ๊ฐ๋ฐ #3 (0) | 2021.12.16 |
---|---|
[React Native] - "์น์ดํ ํ๋ฃจ" ๋ชจ๋ฐ์ผ ์ฑ ๊ฐ๋ฐ #2 (0) | 2021.12.16 |
๋๊ธ