본문 바로가기

React Native

[React Native] 리액트 네이티브란??

반응형

리액트 네이티브는 iOS와 안드로이드에서 동작하는 네이티브 모바일 앱을 만드는 자바스크립트 프레임워크입니다. 사용자 인터페이스를 만드는 페이스북의 자바스크립트 라이브러리인 리액트에 기반을 두고 있습니다. 하지만 웹이아닌 모바일 플랫폼이 타겟입니다.이미 페이스북 airebnb등은 리액트 네이티브로 만든 앱을 제공하고 있습니다.

장점

  • 대상 플랫폼의 표준 렌더링 API를 사용한다. -> 자바스크립트 HTML, CSS를 사용하여 모바일 앱을 만드는 기존의 방법들은 웹뷰를 이용하여 렌더링 한다. 런 기존 방식은 앱을 실행할따 성능이 떨어진다.
  • 대상 플랫폼이 UI요소들을 대개 이용하지 않는다. 이러한 프레임워크들은 네이티브 UI요소들을 흉내 내려 하지만 output은 보통 좋지않다. 하지만 리액트는 메인UI스레드와 분리되어 실행되기에 앱의 역량을 줄이지 않아도 앱은 빠른 성능을 유지할 수 있다. prosps나 state가 변경될 때 리액트 네이티브는 뷰를 다시 렌더링 한다.
  • 리액트와 리액트 네이티브의 가장 큰 차이는 브라우저에서 html, css마크업이 아니라 대상 플랫폼의 UI라이브러리를 이용해 렌더링한다는 점이다. 즉 웹을 만드는 리액트 개발자는 성능과 아웃풋 모두 진짜 네이티브인 모바일 앱을 만들 수 있다는 얘기다.

단점

  • 추가적인 레이어가 있기 때문에 디버깅이 간단하지 않다.
  • 대상 플랫폼의 새로운 버전이 공개되었을때 리액트 네이티브가 이를 모두 지원하기까지 시간이 좀 걸린다.

Summary

이미 알고 있는 자바스크림트 지식을 이용해서 강력한 모바일 앱을 만들 수 있다는 것이 가장 흥미로운 점이다.
앱의 품질이나 사용자 경험을 희생하지 않아도 iOS와 안드로이드 그리고 웹에 이르기 까지 능률적인 코드 공유가 가능하다.

반응형