JavaScript/React Native

리액트 네이티브의 이점

검정비니 2018. 7. 2. 00:20
728x90
반응형

리액트 네이티브의 이점



리액트 네이티브는 기존의 크로스 플랫폼 애플리케이션 개발 방법과는 눈에 띄는 차이점이 있다. 바로 대상 플랫폼의 표준 렌더링 API를 사용한다는 점이다. 자바스크립트, HTML, CSS를 사용하여 모바일 앱을 만드는 기존의 방법들은 웹뷰를 이용하여 렌더링한다. 이러한 기존 방식은 앱을 실행할 때 유난히 성능이 떨어지는 단점이 있다. 게다가, 대상 플랫폼의 UI 요소들을 대개 이용하지 않는다. 이러한 프레임워크들은 네이티브 UI 요소들을 흉내 내려 하지만 결과는 어색하기 일쑤이다. 애니메이션과 같이 아주 섬세한 부분에 대한 리버스 엔지니어링은 엄청나게 노력이 많이 들고 쉽게 구식이 되어버린다.


그에 반해, 리액트 네이티브는 작성한 마크업을 플랫폼에 따라 그에 상응하는 진짜 네이티브 엘리먼트로 전환한다. 게다가 리액트는 메인 UI 그레드와 분리되어 실행되게에 기능을 희생하지 않아도 애플리케이션은 빠른 성능을 유지할 수 있다. 리액트 네이티브의 렌더링 갱신 주기는 리액트와 동일하다. prop나 state가 변경될 때 리액트 네이티브는 뷰(view)를 다시 렌더링한다. 브라우저에서 실행하는 리액트와 리액트 네이티브의 가장 큰 차이점은 HTML과 CSS 마크업이 아니라 대상 플랫폼의 UI 라이브러리를 잉요해 렌더링한다는 점이다.


이는 평소에 웹 페이지를 리액트로 만드는 개발자라면 평상시와 비슷한 도구들을 가지고 성능과 외관 모두 네이티브 앱과 동일한 모바일 앱을 만들 수 있다는 얘기다. 개발 경험과 크로스 플랫폼 개발 가능성이라는 두 가지 면에서 리액트 네이티브는 일반적인 모바일 앱 개발 방법보다 진보했다고 말할 수 있다.

반응형