본문 바로가기

React-Native 앱 제작기

React Native 앱 제작기 #1 | 리액트 네이티브? 개발 환경 설정하기

안녕하세요! 바울랩 ‘오현규’ 연구원 입니다.
지금부터 , React Native(v0.61)를 활용한 ‘제주코딩베이스캠프’ 앱 제작기를 포스팅 해볼게요:)


'제주 코딩 베이스 캠프'앱은 HTML, CSS, JavaScript , Python 등,
바울랩에서 제작한 여러 프로그래밍 강좌들을 제공해주는 앱입니다.


하단에 주소 남깁니다. (많은 사용 부탁해요! (●'◡'●))
제코베(제주코딩베이스캠프) 앱 주소


먼저, React-Native가 무엇인지에 대해서 간단히 설명 드릴게요!

React Native란?

https://www.pngkey.com/png/full/222-2224710_react-native-developers-san-francisco-react-native-logo.png




리액트 + 네이티브
리액트를 사용해 네이티브 앱(Android , Ios 앱)을 동시에 만들수있다라는 것!

문득 이런 생각이 들 수도 있겠네요!

"

어떻게 리액트로

네이티브 앱이 만들어지는거지?

"

.... 저만 궁금했던걸까요..?? ( ´・・)ノ(.\_.\`)

리액트 네이티브 코드가 각 Android , Ios의 네이티브 코드로 바뀌는 걸까요?

.

.

.

아닙니다!! (╯°□°)╯︵ ┻━┻

간단히 설명하자면 ‘리액트네이티브’에서 쓰이는 View, FlatList, ScrollView 등 이러한 요소들

Android , Ios 개발에 쓰이는 UI빌딩 블록들과 공유되기 때문입니다!

React-native 작업화면

https://lh4.googleusercontent.com/P5GNdo1d0wDpWeYdmqSzVpUhS04CZXN6YEPY4c3dpfkCLTFML5q8kyQhm3GIJOLps0FGnTHJEFKJTyIlWTOLiloqN6cbyWaEA1DlZr72cvcxH7zQlS6GZZVx4IgIZpkPuxBZ81kp

Android Studio View 작업 화면(Native 코드)

https://lh5.googleusercontent.com/xeE-oBOpjNzz4m_cNlxNxhdJ555z1kog8rfa_k-jZQnQ6ENvFvCswWB-PqkXcd-3p0TIQ1D0AA9cZdYCTRaOFXlbSaQ1rHO9m6Yu4AxIF1xb9b43FYAwIPz1lwlcWqjqWoSpgtVE

이렇게 UI블록을 공유하기 때문에 프로그램이 런타임될때,
각 OS에 해당하는 View요소들로 UI가 렌더링이 되는 것입니다.

 

이제 개발 환경 세팅을 시작 하겠습니다!


가장 번거롭고 중요한 개발 환경 세팅 과정입니다.
(컴퓨터 설정마다 어떤 에러가 튀어 나올지 모르니깐요.. 분명 잘따라했는데 싶다가도~)

 

리액트 네이티브 공식페이지에 들어갑니다.
React-Native 공식 문서

https://lh4.googleusercontent.com/OS-XF7OcvO0UoKbMgleN9EOZUCMArGu_Pflt7YOFz8bk_YKZQ9lJYK0OGNv5Rg9PDowX5eTonJ6YY--lsmTIYmtgcov1enHNBOQXDmM7krua-M7S5oW0sts1aohdn3MmPi1_Ixp2

맥OS를 사용하신다면 macOS탭으로 가서 가이드를 따라가면 됩니다!

https://lh6.googleusercontent.com/cuuRU97wabIu4iJ-0P6IWn1IHa0Iteh6-1jE9t19ByCGa29WepdDdu75_U6tRFCf91e1zHPZkliBAd7-VtyR20LLVWMT0K5HelUs0gk6XTeRouf9am8WD0jTqnnZulcS8g0xgfs2

Mac에 Homebrew처럼 Window 전용 패키지 관리툴인 Chocolatey를 깔아주시구요

cmd에서 다음 명령어를 사용해 node js, python2, jdk(8버전 이상)을 다운받아줍니다.

choco install -y nodejs.install python2 jdk8

개발은 React를 사용하지만 결과물은 네이티브 앱이 빌드되기때문에

Android Studio도 설치를 해줍니다.( 현재 Android 9 (Pie)SDK를 설치하면 되겠네요)

https://lh5.googleusercontent.com/tgSU4PFc4C3T9NXu95RGg-oLI0DG4MjCd5N97-Amh0SbwXo1rLlCCEIoljlg1InsljHv-B7RxnLpq7YV0Bpv6_eRKQHnf23Ustl0e7lfbAHXkhlHPdiflDlbK3nsvDOc4DQ-6DuH

)

https://lh6.googleusercontent.com/NHBGnfnWOpOA5voMJkMqpFZzVgK-rgAuNs-Dk_eR9PmSbxzxTBf3RaNZk80Rvx201Km7FPzkekwLlK255CGyt8s5kz5DAKWNVrSVMDJEDU4_PyCA-SSxQX8S_pAgQrIHK-1nkGBq

우측 하단 클릭!

https://lh3.googleusercontent.com/6cgu_soUK-bZQdI6iVKRGEbPNNJuW5-vtf6luBdMW8baVdHV_IvHCxBwX7huS40OSzxAHFMUBS1hU75y_aaZW33yZCsX5kfcaK2KGHxesNHGTzUpVO0aqQm8dyYohsPDR2HA6KMB

SDK Manager 선택!

https://lh5.googleusercontent.com/_6_9KfqfYiAXHUPdkBqpgmvRik14D5WhWhaMWYbqfkoNM09qUSN3U2Zt2f3EI45D8htuhJDMbpUGVfxvR-W6e1ntkFjPXTjlJ58B5G9wc0_zS7LW7jQRiqXgmOLwldFYug3CuOSw

)

https://lh5.googleusercontent.com/1qDhH6kodrzHO9r3nQZmFQlWXsmS5g0S2NT5JIsZXud-jKcZJ_JRXB1CoN4IFhpE99wSzJ7pU-MmWdQLMOQIVHIkBPR-2XxspV-zY3TlQRSYmOPbQcD-uu6KiKshG32dL3KU-wfX

가이드에 명시된 SDK버전과 상세 옵션이 설치가 되었는지 잘 확인해주세요!

환경세팅 필수구요.

https://lh6.googleusercontent.com/gqSm_kQQ-Zd_1eAKL7O3aG9bVQaRiyMK140YOcEqYugeFgpwGLt7A3pBur-LHHQvolvpE7yrNrtpAiQFm2nUQw2i0PEcvU4fOLVrSFEor6t667iz7BSSzxLXIsKb3ZvHmv48aTx3

이제 React Native 앱 개발에 필요한 모든 요소들이 설치됐으니,
본격적으로 프로젝트 파일을 생성해보겠습니다!

https://lh4.googleusercontent.com/w0Ty5XSrRgc4V47Tc-IcsN7GzxUIaB12qcj3Ddpcqxe_N_tvWZm34TfHLkMbYJ76BInmBlZ80Yt6g6WO7Qfu550A-aZA3gojqWJ7ZVqMnyFWjFPVI9p9b4NGBUGR-Kdmj5K6l5uE

편집기는 VScode 사용합니다(대세라구요!)

  • Visual Code 실행 후 본인이 원하는 루트에서 아래 명령어를 실행합니다.

npx react-native init

https://lh4.googleusercontent.com/pfoJhBgf-9APhGCrK2g3zYNc3pWWY4URoNly7ohts4RfTxknipMzFYla0Ov2c4T9fQV_QvlBd9XIqS0l_BjB8zNBhluhJxz4q47FfdART5A_Nkq6gjCmp_DjED1WZIcLRjnfuIA8

)

https://lh4.googleusercontent.com/QmLM04oL8E7wpTTiJAxDVGLqfNEIxsNm3TwsRiQr5WfGPNIYaSOTfNrNuik17Bby-xgXYcFBresdEMIvT_KNyw5hBwP9UOfbh2Mzp8xxUwx6yIt-45NvWFhhDYk0eptInkZrUkP8

init 명령어를 실행이 완료되면 아래처럼 앱 개발의 필요한 요소들이 생성됩니다!

https://lh3.googleusercontent.com/BAaKXbZRwX1CQ_lUw4RrPEqyRgdjwwl9tR9VXRrZc0AsdE5tKf14_9YwHT5w9iJIZo5GbDeDnj9Bc3cregsPVqiS4fV7b4y2XJhKFpBtTvlgHVgkQ2jJJs0Ft03eBjRooP-Z1V0l




이제 생성된 프로젝트 파일을 실행해 볼텐데요,
두 가지 실행방법이 있어요. 우린 AVD로 실행 해보려합니다.

1. 안드로이드 스튜디오 가상머신(AVD) 실행

2. 디바이스로 직접 실행 ( Android 디바이스와 연결해주시면 됩니다.)

**AVD로 실행하는 방법입니다.**

https://lh3.googleusercontent.com/lYWMMfVvBajGbGAAfFoDS9hP9MZ9iPjue24e70hI9MvcA1ME-AFqMJZXSp11sZ5fvqL-tDF_bQV-ce1kt3xUQpZXel7PXtPcvF7QHT__RBX_qym4mu5x7u0FQC3MlBVRXEIs56uy

안드로이드 스튜디오에서 ‘AVD Manager’탭에 들어가 가상머신을 생성하고 실행해줍니다.

(Android 9.0 Pie로 설치해주세요)

https://lh4.googleusercontent.com/_rUJ9D6T7oz80B1WaFhiLbRN6PzgEFxfLjyaol7mg4xw0C9EJYUYDqyHVWq-dQuZgmAbXggqkpRYtzb4NJdCZIDG5IBoXrSMVwhw47PRDlQ3xi7SV9tsFi5vbCdLSUNtEOnqZXF1

이렇게 가상머신이 켜지는 걸 볼수가 있습니다.

그 다음으로 가상머신이 연결이 되었는지 확인해줘야겠죠?

adb devcies

https://lh5.googleusercontent.com/wpvlWMzhZT7bFHns5F1BW9OKeAhVHlMvi5kcoJfAHLDbuQhpyGbnVIpyPE3NEc1HIshFi-tLFQrD2Ba-IdWs4n9tpizbOt8M4Zml5IdHolDiwis94I0R16SVZLkg6ZHUB3J_x-Zq

디바이스에 직접 연결하신분들은 디바이스 정보가 뜰것입니다

생성된 프로젝트 파일로 이동후, 명령어를 실행합니다.

npx react-native run-android

(npx를 안쳐도 cli가 내장되어 있어서 그런지 명령어가 먹히네요)

https://lh5.googleusercontent.com/zR_kj_TuybiFzYeEUFh_Zwn0lBIwRJTJSK6RdmLLgt7JGX0-M1jLz2hb46PSOFWLxlOt9S9KTALD7WeTTD6ooanfs7LjwNXEbH-ZBFkUQXL4SQtOscQ45gAmhpL5BQyIAIccJxhp

다음과 같은 화면이 뜨면 초기 개발 환경 세팅이 완료된 것입니다!

https://lh4.googleusercontent.com/xa3hlZYN5WgJ1iN1MIY3bXgf6TH9HSGr2Y6uluz9xMqLOhUCpJoHN9PCy8IKDvgNY7-7jMoohaqGMTDUWGB0BT0CFuQd30_dn_UvGMcgu7YPABStE0SqXFayD4aMPN0nTiSMxJmK

수고하셨습니다! 다음 게시글로 가볼게요~~