본문 바로가기

프론트엔드/React-Native

리액트 네이티브, 언제 써야할까?

안녕하세요, 황대성입니다😁

 

이번 글에서는 리액트 네이티브를 어떤 앱을 개발할 때 사용해야 할까?라는 주제에 대해 얘기하려 합니다.

 

이제 리액트 네이티브를 학습하기 시작하여, 사이드 프로젝트를 진행하고 싶으신 분들이 보셨으면 좋겠습니다🤩


현재 리액트 네이티브는 다수의 앱에서 사용되고 있습니다.

출처 - https://reactnative.dev/

 

그렇다면 어떤 앱들을 리액트 네이티브로 개발해야할까요?

 

  • 만약 여러분이 빌드할 앱이 API에서 데이터를 가져오고, 데이터를 처리하는 앱이면 추천드립니다
  • 빨리 프로토타입을 개발해야 한다거나, 혹은 개발 기간이 짧을 때 사용하는 것을 추천드립니다
  • Ios와 Android 크로스 플랫폼을 지원하는 앱이라면 추천드립니다

그렇다면 어떤 앱들이 리액트 네이티브로 개발하기 힘들까요?

 

  • 만약 여러분이 빌드할 앱이 폰의 하드웨어를 건드리는 작업을 할 때
  • 디바이스에 영향을 많이 받는, 커스터마이징을 하는 작업을 할 때
  • 3D, AI, 카메라 필터와 같은 작업을 할 때 리액트 네이티브가 최적의 솔루션은 아님

왜 모든 앱을 리액트 네이티브로 개발할 수 없을까요?

 

리액트 네이티브는 Ios / Android의 다리가 되는 역할을 하고 있습니다.

즉 두 개의 플랫폼을 모두 지원하는 컴포넌트를 사용합니다.

 

이러한 이유 덕분에 리액트 네이티브는 크로스 플랫폼 애플리케이션을 빠른 시일 내에 적은 인력으로 개발할 수 있습니다.

하지만 디바이스에 영향을 많이 주는 커스터마이징 하는 작업을 할 때에는 Android는 Android 별 Ios는 Ios 별 특정 작업을 해주어야 하기 때문에 리액트 네이티브는 최적의 솔루션이 아닙니다.

 

그렇다면 우리는 어떻게 개발을 해야 할까요?

 

제가 추천드리는 방법은 다음과 같습니다.

 

  • SNS 혹은 단순한 서비스를 개발할 때에는 리액트 네이티브를 사용한다.
  • 인스타그램과 같이 SNS + 카메라 필터와 같이 특정 작업이 들어갈 때에는 리액트 네이티브와 함께 다른 기술을 병합해서 사용한다.
  • 하드웨어를 다루거나 혹은 디바이스를 커스터마이징 하는 작업이 필요한 앱이면, 네이티브 언어를 사용해서 Android, Ios를 각각 개발한다.

참고 문헌 및 사이트

 

노마드코더 리액트 네이티브, 이때는 쓰지마라 - https://www.youtube.com/watch?v=uUDPSKJEwCI&feature=youtu.be

React-Native 공식 문서 - https://reactnative.dev/

React Native at Instagram - https://instagram-engineering.com/react-native-at-instagram-dd828a9a90c7#.3h4wir4zr

 

긴 글 읽어주셔서 감사합니다😀