[React-Native]React-Native란

cooking_123·2024년 3월 5일

React Native TIL

목록 보기
1/30
post-thumbnail

React-Native

리액트 네이티브를 이용하면 기존 하이브리드 앱에서 겪던 성능 문제 없이 자바스크립트를이용해서 iOS, 안드로이드, 모바일 애플리케이션을 개발할 수 있습니다.

장점

  1. React Native의 가장 큰 장점은 쉬운 접근성입니다.

  2. 새로운 언어를 배울 필요 없이 JavaScript를 이용해서 개발할 수 있다는 점

  3. 두 번째로 JavaScript로 코딩해서 한 번에 iOS, Android를 개발할 수 있다.

  4. 마지막으로 React Native에 있는 Fast Reflex 기능은 코드 수정에 따른 결과를 바로 확인할 수 있도록 해줍니다.

단점

  1. 네이티브 앱(ex. swift, java)과의 성능 차이가 있습니다. 기존 하이브리드 앱의 성능보다는 좋지만 네이티브 앱에 비해 성능이 좋지 않은 편입니다.

  2. 그리고 코딩을 조금만 잘못하면 그 차이가 눈에 띄게 나타난다는 단점이 있습니다.

  3. 뿐만 아니라 새로운 기능이 나왔을 때 리액트 네이티브에서 지원을 하지 않으면 사용하기 어렵다.

  4. 디버깅이 어렵다.

react-native 동작원리

  • React Native는 JavaScript를 이용해서 코드를 작성하는데 iOS, Android 앱으로 동작이 됩니다.

Bridge

  • 이를 가능하게 해주는 것이 브릿지입니다. 브릿지는 JavaScript 스레드에서 정보를 받아 네이티브 스레드로 전달하는 역할을 합니다. 즉, 브릿지는 자바스크립트와 네이티브 사이에서 통신을 담당합니다.

Dom

리액트네이티브에서는 가상돔(virtual Dom)을 이용해서 데이터가 변했을 때 화면을 다시 그리고 있습니다

  1. 데이터의 변경이 일어나면 우리가 보고 있는 실제 DOM이 변경되는 것이 아니라 가상 DOM의 변경사항이 적용됩니다.
  2. 변화가 일어난 가상 DOM을 기반으로 실제 DOM과 비교해서 실제 DOM에서 변경이 필요한 부분을 확인합니다.
  3. 그리고 변경이 필요한 부분이 확인되면 실제 DOM을 가상 DOM과 동일하게 적용해서 변경합니다.
  4. 이 과정을 통해 React Native의 화면에 변화가 일어납니다.

0개의 댓글