사용해보신 것들이 있다면 어떤지 공유해주시면 감사하겠습니다.
저는 일단 react-community 저장소에 있는 react-navigation을 써볼까 합니다. 이제야 써보려고 하는거라 어떻다하고 말씀드릴 상황은 아니고요. 이를 선택한 이유는 react로 웹을 만들 때도 사용가능하다하니 같은 방법으로 navigation 처리를 하면 편할 것 같아서 입니다.
퍼포먼스 때문인가요? 어떤 점이 부족하게 느꼈는지 궁금합니다. 저는 지금 나름 잘 쓰고 있는 편이라서요.
제가 쓰는 유스케이스는 일반적이라서.
저는 react-navigation 쓸 때 늘 header에 버튼 넣을 때 좀 이상합니다. static으로 되어 있어서, 해당 스크린이 생성되지(instantiate)않으면 접근이 안되니깐 답답하더라구요. this.functionA() 이런걸 하고 싶을 때는 결국 props로 넘겨서 받아야 하는 복잡함(이상함)이 남죠. 저만 그런가요? ^^
@choipd 님은 둘다 써보셨군요.^^ 저는 이제야 RN으로 제품 만들기 시작한지 얼마 안되서 navigation은 react-navigation만을 써보고 있었어요.
react-navigation에서 이런 저런 어려움이 있었는데 제가 방법을 몰라 그랬던 것들이 대부분인 것 같고요. 그 외에 기억나는 문제는 다음과 같습니다.
drawerLock : 물론 PR이 있는데 오랜기간 merge가 되지 않아 많은 개발자들이 아우성(?)중이에요. 저는 이걸 포함하도록 fork해서 쓰고 있긴합니다. (관련 PR #793)
drawerNavigation 안에 StackNavigation을 둘 경우 StackNavigation의 screen들이 componentWillUnMount가 호출되지 않습니다. 전부 화면에 들고 있음. (관련이슈 #1056)
아직 둘다 써보지 않은 상태라 저는 둘의 비교를 할 수 있는 상황은 아닌것 같아요.^^. 다만 Native UI 컴포넌트를 그대로 활용한다는 점이 끌리는 거에요. Titanium 사용하면 겪은 경험으로는 따로 흉내내서 그린 것들은 퍼포먼스도 문제가 자주되고 버전 업데이트 할 때마다 오히려 더 애를 먹더라고요.
예를 들어 stack이 많이 쌓이는 경우를 생각해보면…
Ti에서 제가 경험하기로는 UINavigationController 기반인 Ti의 NavigationWindow 같은 경우 stack이 아무리 쌓여도 OS가 알아서 적당히(?) 리소스 관리를 잘 해줘서 별 걱정없이 쓰는게 좋았어요.
RN을 저보다 먼저 쓰고 있는 친구에게 듣기로는 오래된 android기기에서는 stack이 쌓이면 많이 느려진다고 하던데 한 activity안에서 다 들고 있다보니 더 그런게 아닌가 하는 생각이 들었어요.