전생했더니 React Native이었던 건에 대하여

Gael An·2023년 4월 24일
0

React Native

목록 보기
1/1
post-thumbnail

React Native란?

React Native는 Meta에서 개발한 JavaScript 기반의 오픈 소스 프레임워크로, 모바일 앱을 개발하기 위한 도구다. React Native를 사용하면 iOS, Android에서 동작하는 네이티브 앱을 만들 수 있다. React Native는 React를 기반으로 하며, 네이티브 앱의 성능과 사용자 경험을 유지하면서 코드를 공유하고 재사용하는 것을 목표로 한다.

React Native는 JS Bundle이 JS Thread에서 실행되며, 네이티브 모듈은 Native Thread에서 실행되어 JavaScript와 네이티브 코드 간의 상호작용을 통해 UI를 업데이트한다.

React Native 이벤트 처리 과정


위와 같이, React Native는 JavaScript와 네이티브 코드 간의 상호작용을 통해 네이티브 앱과 유사한 사용자 경험을 제공한다.

리액트 네이티브의 장단점

장점

  1. React와 유사하기 때문에 웹 프론트엔드 개발자에게 쉬운 접근성을 가진다.
  2. JS로 개발하면 크로스 플랫폼이 가능하다.

단점

  1. 네이티브 앱에 비해서 성능이 떨어진다. 왜냐하면 JS를 네이티브 언어로 변환해주는 과정이 있기 때문이다.
  2. 네이티브 앱의 기능을 전부 지원하지 않는다. 예를 들어, 아이폰에 어떤 기능이 추가되면 해당 기능이 React Native 프레임워크에 반영이 되어 있지 않다면 사용할 수가 없다.
  3. 업데이트가 느리면 결국 개발자가 직접 네이티브 기능을 직접 구현해야 한다.

사용하기 좋은 케이스

  1. 리액트로 웹 개발 경험이 있는 개발자
  2. 모바일과 앱을 동시에 만들어야 하는 경우
  3. 모바일 앱에 기능이 많지 않은 경우

사용하기 나쁜 케이스

  1. 실행 속도가 중요한 경우
  2. 최신 기능이 빠르게 반영되어야 하는 경우

결론

React Native는 정말 유용한 프레임워크다.
리액트를 알면 앱 개발까지 할 수 있다니! 이 얼마나 기쁜 소식인가?

하지만 React Native는 현재 Meta에서 거의 손을 놓은 상태이다. 그리고 하이브리드 앱의 근본적인 한계가 있기 때문에 React Native를 주력으로 밀고 나가기엔 무리가 있다.
또한 Flutter라는 강력한 경쟁자가 떠오르고 있기 때문에 전망이 좋지 않다.

따라서 가볍게 리액트 개발자가 모바일 앱을 해야하는 경우에 하는 것이 바람직해 보인다.

이후 React Native로 앱 개발 일지를 기록하려고 한다. :)

0개의 댓글