본문 바로가기
Programming/React Native

[React Native] React Native란?

by GraceIT 2020. 2. 11.

 

React Native란?

React Native는 javascript 기반의 하이브리드 앱 개발을 위한 프레임워크입니다.

여기서 잠깐! 그럼 하이브리드 앱 개발이 무엇일까요? 사실 우리가 사용하는 앱은 3가지 종류로 나눌 수 있습니다.

 

네이티브 앱 :
가장 안정적이고 빠르지만, 안드로이드와 iOS를 따로 개발해야 하는 번거로움이 있다.

IDE) 안드로이드 스튜디오

웹 앱 : 

PC용 웹 사이트의 모바일 버전으로 HTML5와 CSS, JS 등을 사용한다. 네이티브 앱에 비해 속도가 느리고, iSO의경우는 웹 앱은 스토어에 등록이 어려움.
IDE) 이클립스

하이브리드 앱 : 
네이티브 앱과 웹 앱의 장점들을 적절하게 섞어 놓은 것이다.

Ionic, phoneGap과 같은 많은 하이브리드 앱 프레임워크가 존재하지만,

React Native는 Facebook, Instagram, Uber, Evernote 등 많은 기업들이 도입할만큼 안정성을 갖고 있습니다.

 

이전에 Ionic으로 앱 개발을 한 적이 있었는데 그 때도 굉장히 개발하기 편해 놀랐었던 기억이 있습니다.

그래서 그런지 React Native 개발이 더 기대가 됩니다.

 

 

React Native 장점

React Native는 많은 장점을 갖고 있습니다 . 특히, React Native는 코도바(Cordova)나 아이오닉(Ionic)과 비교해서 눈에 띄는 차이점이 있습니다. HTML과 CSS를 사용하는 것이 아니라 대상 플랫폼의 UI라이브러리를 이용한다는 것입니다. 기존 방법 사용시 웹뷰를 이용하여 렌더링하게 되는데 이 때 성능이 크게 감소한다는 단점이 있었습니다. 반면 React Native는 대상 플랫폼의 UI 라이브러리를 활용하여 섬세한 작업을 성능 저하 없이 할 수 있습니다. 또한, 카메라, GPS등등의 Native 모듈도 쉽게 이용할 수 있으며, Live Reloading을 제공하여 빌드 없이 결과 확인이 가능합니다. 개발자라면 공감하시겠지만 매우 편리한 기능이죠. 또한 많은 패키지 모듈을 활용하여 개발이 가능하기 때문에 빠른 개발이 가능합니다. 이외에도 아래와 같은 많은 장점들을 갖고 있다고 합니다.

 

ㆍ많은 플러그인 제공
ㆍ훌륭한 응답 시간
ㆍ매우 빠름
ㆍiPhone 및 Android와 호환
ㆍ재사용 가능한 구성 요소
ㆍReact Native는 오픈 소스
ㆍ개발자의 시간을 절약
ㆍ강력한 성능
ㆍ적은 메모리 사용
ㆍ한번 작성하고 활용하면 기본 UI 구성 요소를 기존 앱 코드에 대응 가능. 다시 쓰지 않아도 됨
ㆍNode.Js를 완전히 지원

 

React Native 단점

그럼 이렇게 많은 장점을 갖는 React Native의 단점은 무엇일까요? 일단 성능의 한계 입니다. 많은 Native 모듈을 지원한다고 하나 미흡한 부분이 존재합니다. 또한 문제를 찾아내는데 시간이 많이 걸려 유지보수가 어려울 수 있습니다. 아직 개발해보지 않아 정확한 장단점 비교는 힘들지만 개발 도중 발견하는 장단점은 추가하도록 하겠습니다.

 

 

 

Reference

- https://m.blog.naver.com/pyj721aa/221318387699

- https://tansfil.tistory.com/57

- https://starvinglion-rn.tistory.com/2

- https://medium.com/@jang.wangsu/rn-react-native%EC%9D%98-%EC%9E%A5%EB%8B%A8%EC%A0%90%EC%9D%80-6e8a2396eea1

 

 

댓글