프로그래밍 언어/React

[RN] React Native의 정의와 장단점

sujii 2023. 1. 30. 22:33
반응형

React Naitve란?

  • 2015년 3월 페이스북에 의해 공개된 오픈소스 모바일 어플리케이션 프레임 워크
  • 사용자 인터페이스를 만드는 React에 기반을 두고 제작
  • 웹 브라우저가 아닌, iOS와 Android에서 동작하는 네이티브 모바일 애플리케이션을 만드는 자바스크립트 프레임워크

 

React-Native의 장점

  • 두 플랫폼(iOS, Android)을 동시에 개발할 수 있음
  • 변경된 코드를 저장하기만 해도 자동으로 변경된 내용이 적용된 화면을 확인할 수 있는 Fast Refresh 기능 제공
    • Fast Refresh: 컴포넌트가 변할 때 즉각적으로 반응한다는 기능으로, 프로젝트 내 대부분의 수정 내용이 1~2초 내로 변경사항이 적용됨.
    • "수정 → 새로고침", "수정 → 컴파일 → 새로고침" 이라는 번거로운 작업이 생략가능
  • 작성된 코드에 따라 각 플랫폼에서 그에 알맞은 네이티브 엘리먼트로 전환되기 때문에 큰 성능 저하 없이 개발 가능

 

React-Native의 단점

  • 개발 단계에서 문제가 생겼을 때 문제의 종류에 따라 원인을 찾고 문제를 해결하는 데 많은 시간이 걸려 유지 보수에 어려움이 존재
  • 잦은 업데이트 혹은 네이티브의 새로운 기능 지원까지 꽤 많은 시간 소요

 

보통 Android 앱을 개발하기 위해서는 Android Studio의 Kotlin or Java을 사용하며,  iOS 앱을 개발하기 위해서는  Objective-C, Swift를 사용하여 개발하는 것이 일반적이다.
즉, 두 플랫폼을 개발하기 위해서는 두 가지의 언어를 다 이해하고 개발해야 하기 때문에 시간과 노력이 두 배로 증가할 것이다.

그러나, 하이브리드 앱 프레임워크인 React-Native은 안드로이드 앱과 iOS 앱을 동시에 개발할 수 있으며
javaScript, typeScript로 비교적 쉬운 프로그래밍 언어를 사용하기 때문에 적은 시간과 노력이 든다.

이는 리액트 네이티브의 가장 큰 장점이 아닐까 싶다 !!

 

참고도서 

처음 배우는 리액트 네이티브

'프로그래밍 언어 > React' 카테고리의 다른 글

[RN] Hooks (useState, useEffect, useRef)  (0) 2023.02.15
[React] Next.js의 정의와 장단점  (2) 2023.02.05
FCM Token 만료 및 갱신 (3)  (0) 2023.01.26
FCM Token 생성 및 권한 설정 (2)  (0) 2023.01.26
FCMToken이란? (1)  (0) 2022.11.18