React Native 로 앱 만들기 (1) - React Native란?
"React Native 란"
네이티브 웹 어플리케이션을 빌드하게 도와주는 UI Library 입니다.
한 가지 분명히 하고 넘어가야 할 것은, React Native는 html이나 css 어플리케이션을 생성하지 않아요.
아파치 코르도바나 아이오닉이 html, css 앱을 만드는 것과 다르죠.
React Native 는 object-c 이고, java 입니다.
object-c 는 iOS를 위한 것이고 java는 Androrid를 위한 것이지요.
React Native 가 JS라서 헷갈려하는 사람들이 많은데,
마지막 컴파일 할 때 각각 iOS(object-c) 와 Android(java) 네이티브 코드로 실행이 돼요.
React Native 는 어떻게 동작할까요?
우리는 JSX와 JS로 코드를 작성하고, 그 뒤에서 JS가 object-c나 java로 변환되는 것입니다.
훌륭한 Facebook의 기술로 JS와 objective-c, JS와 java가 연결되는 것이지요.
React Native 코드를 보면 React JS 와 거의 동일합니다.
다만, 차이점은 import하는 package가 'react'가 아니라 'react-native' 라는 것!!
웹에서 div나 span 이 있는 것 처럼 React Native에서는 view, text와 같은 페이스북이 만든 여러 Component들이 있고
Component 들이 Native code로 변환되는 것이지요.
React의 장점
바로 이것이죠. 자바스크립트를 활용할 수 있다 !
덧붙여 아주 큰 커뮤니티를 가지고 있어요.
또한 아주 많은 회사들이 React Native를 사용하고 있어요. (instagram, airbnb, facebook 등)
아래 사이트에서 그 대표적인 사이트들을 확인할 수 있지요.
https://facebook.github.io/react-native/showcase.html
그 중 최고의 장점은 iOS/Android 앱 사이 코드를 공유할 수 있다는 것입니다!!!!!!
조금만 수정하면 iOS/Android 앱을 둘 다 사용할 수 있으니까요.
http://facebook.github.io/react-native/docs/components-and-apis.html
위 사이트에서 React Native Component 들을 확인 할 수 있어요.
현재 버전은 0.57 이네요. 2주마다 FB에서 새로운 업데이트를 합니다.
여기 있는 모든 컴포넌트들은 iOS/Android 둘다 활용 될 수 있어요.
물론 몇 가지는 iOS에서만, 또는 Android 에서만 사용 가능한 경우도 있지만,
전반적으로 React Native는 개발하기 쉬워서 많이 활용되고 있어요. 웹사이트를 만드는 것 처럼요.
레이아웃이 플렉스박스로 구현되는 것도 멋지죠. 모바일을 위한 레이아웃을 플렉스박스로 구현하면 됩니다.
>> 설치할 것
NodeJS
npm
Expo
React Native로 앱을 빌드하기 위한 툴입니다.
https://expo.io/
여기서 tool을 다운로드 할 수 있어요.
Text editor
VSC
sublime text나 atom 보다 빠르다고 하는데 atom을 써보진 않았네요
React 는 JS 기반이라 JS language 기반 지식이 필요해요
iOS 앱을 만들고 싶으면 mac 이 필수인데, 아이폰 시뮬레이터로 테스트할 것이지만 mac이없으면 최종 테스트가 힘들어요
'뚝딱뚝딱 > React' 카테고리의 다른 글
React Native 로 앱 만들기 (4) - React Native 의 컨셉 이해하기 (0) | 2018.12.18 |
---|---|
Bug: Watch mode on Linux causes a ENOSPC Node.js error (0) | 2018.12.17 |
React Native 로 앱 만들기 (3) - Expo 설치하고 새 프로젝트 생성하기 (0) | 2018.12.16 |
React Native 로 앱 만들기 (2) - Expo 란? (0) | 2018.12.16 |