React Native 스마트 폰 앱 만들기

이대희·2020년 4월 8일
2

React Native?
React Native 란 페이스북이 만든 오픈소스 모바일 애플리케이션 프레임워크이다. React Native를 공부하기전 이점과 단점을 알아보고 시작하자

React Native 이점

1. 소스코드의 공유와 재사용 - React Native는 페이스북의 React에서 파생되었다. 그로 인해 React의 기술과 방식을 그대로 사용했다. 따라서 웹의 프론트엔드로 React를 사용하고 앱 개발에 React Native를 사용한다면, 80~90% 이상 서로의 소스코드를 재사용 할 수 있다.

2. 러닝 커브 - React Native는 자바스크립트를 기반으로 한다. 따라서 자바스크립트를 이미 접하고 있는 웹 개발자나 노드 개발자, 자바스크립트 개발자들은 쉽게 배울 수 있다.

3. 생산성 - 소스코드 공유와 재사용 부분에서도 React Native는 컴포넌트를 기반으로 개발하여 컴포넌트를 최대한 활용하는 방식을 선호한다. 한번 개발한 컴포넌트는 여러 부분에서 활용되며 소스코드의 재사용률과 공유율을 상승시켜, 생산성을 향상시킨다.

4. 일관성 - React Native앱을 개발하면 iOS는 오브젝티브-C와 스위프트, 안드로이드는 자바와 코틀린으로 개발하여 각 프로그래밍 언어에 맞추어 개발할 수밖에 없다.

5. 비용 - React Native는 하나의 언어로 iOS, 안드로이드용 앱을 동시에 개발할 수 있으므로 개발 리소스가 React Native앱을 개발할 때보다 적게 든다.

6.오픈소스 - 리액트 네이티브는 MIT라이센스를 가지고 있는 오픈소스이다. 누구나 수정,배포가 가능하며, 상업적으로 이용해도 문제가 없다. 그로 인해 오픈소스 개발자 커뮤니티가 활성화 되었으며, 리액트 네이티브가 기본적으로 제공하지 않는 많은 네이티브 기능들이 오픈소스로 개발 되어 있다.

React Native 단점

1. 성능문제 -React Native는 Native 앱 개발 방식이 아니다. Native Bridge를 사용하여 자바스크립트 스레드와 네이티브 쓰레드를 연결시켜 동작하는 하이브리드 앱 방식이다. 그래서각 OS에 최적화된 네이티브 개발 방식보다는 성능이 떨어질 수 있다.

2.오픈소스 - React Native의 오픈소스는 장점이자 단점이다. 오픈소스에 버그가 있는 경우 이 버그가 수정될 때 까지 기다려야 하는 경우가 발생한다. 물론 본인이 수정할 수 있지만 그만큼 시간이 오래걸린다.

3.네이티브 기능 개발 - React Native는 오픈소스이고 개발자 커뮤니티가 잘 형성되어 있어 대부분 기능들이 오픈소스로 잘 개발되어 있다. 하지만 우리들이 개발하는 앱 서비스가 특별한 네이티브 기능을 가지고 있어 오픈소스가 존재하지 않을 경우, iOS와 안드로이드의 네이티브 부분을 개별적으로 개발해야 하는 문제가 발생한다.

4.업데이트 - React Native의 코어 부분이 2주에 한 번 업데이트 된다. 그래서 잘 되던 동작 기능이 업데이트 때문에 갑자기 동작하지 않는 문제가 발생할 때가 많다고 한다. 또한 오픈소스들을 사용하여 개발된 앱 서비스들도 다시 수정, 배포해야 하는 문제가 수시로 발생한다.

마지막 - 요즘 React Native의 책을 보면서 공부를 하고 있다. 위에 내용들을 책에 기입된 내용으로 다시 한번 React Native의 장점과 이점을 되새기고자 작성하였다.

profile
고라니

0개의 댓글