본문 바로가기

PROGRAMMING

react native 관해서 끄적

RIDI - 라프텔

https://ridicorp.com/story/react-native-1year-review/

 

리액트 네이티브 앱 전환 그리고 1년 후 - 리디주식회사 RIDI Corporation

2020년 2월, 애니메이션 스트리밍 서비스 라프텔에서는 기존에 Android 와 iOS 각각 따로 구현되어 있던 애플리케이션을 리액트 네이티브 를 통해 개발을 통합하여 할 수 있도록 리빌드를 했습니다.

ridicorp.com

- iOS, Android 앱에서 react native로 전환하는 작업은 리소스를 많이 소모하겠지만, 서비스 개선을 함에 있어서 훨씬 유리하다.

- iOS 개발자, Android 개발자, 서버개발자 구조에서 front-end 개발자, backend 개발자 구조로 바뀌어 서비스 개선 속도가 빨라졌다.

- 라프텔 앱에 있는 모든 기능을 react native로 구현 가능한지 알아봐야한다. (여기서는 비디오 스트리밍 플레이)

- react를 잘 숙지하고 있으면 수월하다.

- react native로 전환하는 방법

  1. 처음부터 새로 만들기
  2. native 프로젝트에 react native 화면을 추가
  3. 새로만든 react native 프로젝트에 기존의 native view 호환

- React Native CLI, TypeScript

- 화면 관리 라이브러리 : React Navigation, (React Native Navigation)

- 전역 상태 관리: 리덕스, Context API

- react native에서는 CodePush라는 기술을 사용하여 앱스토어 검수 없이 바로 배포할 수 있다.

   CodePush의 경우 native 의존성이 바뀌지 않았을 때에만 업데이트가 가능하다.

 

- react native의 장점

  1. Front-end 그룹 통합 (개발자 통합)
  2. 다른 플랫폼과 코드 공유 (앱, 웹, 스마트 TV)
  3. CodePush를 통한 배포
  4. JavaScript와 리액트만 잘 알고 있다면 모바일 UI를 쉽고 빠르게 작성할 수 있다.

- react native의 단점

  1. 가끔씩 일관성 없는 UI
  2. 잘못짜면 성능이슈가 쉽게 나타남
  3. 가끔씩 진짜 어이없는 이슈 때문에 시간 낭비할 때가 있음 ㅇㅅㅇ -> 버그의 원인 찾기가 어렵다
  4. 뻑하면 실패하는 앱 앱구동, 너무 오래걸리는 Build Time - native 코드에 변동사항이 발생하면 ! 앱 구동이 제대로 안되는 현상이 발생 (react native 앱의 규모가 커질수록 문제가 심각)
  5. 리액트의 철학과 맞지 않는 같은 써드파티 라이브러리들
  6. 완성도가 낮은 써드 파티 라이브러리들
  7. 조금 복잡한 에러 추적

- react native 사용시 유의할 점

    써드 파티 라이브러리를 수정하거나 직접 만들어야 하기 때문에 native 코드를 다룰 수 있는 실력이 있어야한다.

'PROGRAMMING' 카테고리의 다른 글

API  (0) 2021.08.13
REST API  (0) 2021.03.23
[c++] 레퍼런스에 대한 고찰 (1311 할일 정하기 1)  (0) 2021.02.17
비트 마스킹 (활성화, 해제, 확인)  (0) 2021.02.16
[git] git kraken  (0) 2021.02.05