본문 바로가기

react native12

[React Native] profile별 controller/model을 분리해서 공통 코드량을 줄이는 방법 React Native 통합 앱에서 profile이 늘어나면 화면보다 먼저 복잡해지는 부분이 데이터 처리입니다. 어떤 앱은 관광지 목록을 보여주고, 어떤 앱은 산행 코스를 보여주며, 또 다른 앱은 파일 기반 데이터를 보여줄 수 있습니다. 화면 구조는 비슷해 보여도 원본 데이터 필드와 상세 화면에서 필요한 값은 조금씩 다릅니다.이때 모든 화면에서 profile별 조건문을 직접 작성하면 공통 코드가 오히려 더 복잡해질 수 있습니다. 화면 컴포넌트가 각 profile의 원본 필드를 모두 알고 있으면 새 profile을 추가할 때마다 화면 코드가 커지고, 작은 수정도 다른 profile에 영향을 줄 가능성이 생깁니다.그래서 profile별 controller와 model normalizer를 분리해 원본 데이터.. 2026. 5. 21.
[React Native] route registry로 profile별 화면을 연결하는 방법 React Native 통합 앱에서 여러 profile을 관리하다 보면 화면 라우팅이 가장 빨리 복잡해집니다. 어떤 profile은 지도 화면으로 시작하고, 어떤 profile은 목록 화면이 중심이며, 또 다른 profile은 설정이나 안내 화면만 필요할 수 있습니다.이 차이를 화면 코드 곳곳의 조건문으로 처리하면 새 profile을 추가할 때마다 회귀 오류가 생기기 쉽습니다. 화면 컴포넌트 안에 profile별 조건이 계속 늘어나면 어떤 화면이 어떤 앱에서 열려야 하는지 추적하기 어려워집니다.route registry는 profile group별로 사용할 수 있는 화면과 시작 화면을 한곳에서 관리하는 방식입니다. 라우팅 정책을 registry로 모아두면 화면 코드는 자신에게 전달된 props와 데이터에.. 2026. 5. 21.
[React Native] 통합 앱에서 딥링크와 푸시 클릭 라우팅을 프로파일별로 검증하는 방법 통합 앱에서 딥링크와 푸시 알림 클릭은 단순한 화면 이동 기능처럼 보일 수 있습니다. 하지만 여러 프로파일을 하나의 코드베이스에서 관리하다 보면 생각보다 조심해야 할 부분이 많습니다.어떤 앱에서는 지도 상세 화면이 열려야 하지만, 다른 앱에서는 지도 기능 자체가 없을 수 있습니다. 또 어떤 프로파일은 알림은 사용하지만 특정 상세 화면 접근은 막아야 할 수도 있습니다.이 때 딥링크 URL이나 푸시 payload를 그대로 navigation.navigate()에 넘기면 위험할 수 있습니다. payload에 들어온 route 이름이 현재 프로파일에서 허용되는지, 필요한 feature flag가 켜져 있는지, params 형식이 맞는지 반드시 확인해야 합니다. 처음에는 URL을 파싱해서 route로 바꾸는 정도.. 2026. 5. 20.
[React Native] 통합 앱에서 프로파일별 권한 요청 정책을 분리하는 방법 여러 프로파일을 하나의 코드베이스로 관리하면 앱마다 필요한 권한이 달라집니다. 어떤 앱은 지도 기능 때문에 위치 권한이 필요하고, 어떤 앱은 알림 기능만 필요할 수 있습니다. 또 어떤 프로파일은 카메라나 파일 접근이 전혀 필요하지 않을 수도 있습니다.이때 권한 요청을 공통 앱 시작 지점에서 한 번에 처리하면 사용자 경험이 나빠질 수 있습니다. 지도 기능이 없는 앱에서 위치 권한을 묻거나, 알림 기능이 꺼진 프로파일에서 알림 권한을 요청하면 사용자는 왜 필요한지 이해하기 어렵습니다. 심사나 운영 관점에서도 불필요한 권한 요청은 리스크가 됩니다.처음에는 권한 요청 코드를 공통 함수 하나로 만들어 앱 실행 시 호출하면 편하기야 하지만 실제로 적용해보면 권한은 기능 진입 시점과 연결해서 요청하는 편이 더 안전한.. 2026. 5. 20.
[React Native] 통합 앱에서 프로파일별 feature flag를 설계하는 방법 여러 프로파일을 통합앱에서 관리하다 보면 앱마다 켜야 하는 기능과 숨겨야 하는 기능이 달라집니다. 어떤 앱은 지도 기능이 필요하고, 어떤 앱은 알림만 필요할 수 있습니다. 또 어떤 앱은 설정 화면은 있지만 외부 링크 이동은 막아야 할 수도 있습니다.이때 feature flag를 사용하면 프로파일별 기능 노출 기준을 한 곳에서 관리할 수 있습니다. 처음에는 단순히 버튼을 보이게 하거나 숨기는 값 정도로 생각하기 쉽지만 실제로 정리해보면 기능 하나를 켜고 끄는 일은 UI, route guard, 권한 요청, 딥링크, 푸시 알림, 테스트 범위까지 함께 연결되는 문제였습니다.이번 글에서는 React Native 통합 앱에서 프로파일별 feature flag를 설계할 때 확인하면 좋은 기준을 정리해보겠습니다. 통.. 2026. 5. 20.
[React Native] 통합 앱에서 프로파일, controller, model을 조립하는 진입점 만들기 React Native 통합 앱에서 여러 프로파일을 하나의 코드베이스로 관리하다 보면 파일은 나눴는데, 실제 앱이 시작되는 지점에서 다시 복잡해지는 경우가 있습니다. profile registry, selectedProfiles, controller, model builder, route guard를 각각 만들었더라도 어디에서 어떤 순서로 조립할지 정하지 않으면 앱 진입점이 금방 지저분해지더라구요.처음에는 각 파일을 분리해두면 구조가 정리된 것처럼 보였는데 막상 앱 시작 흐름을 생각해보면 현재 프로파일을 찾고, controller를 고르고, route 접근 기준을 만들고, fallback 기준까지 연결해야 했습니다. 이 부분을 한 곳에서 정리하지 않으면 화면이나 네비게이션 코드가 다시 복잡해지는 것 같습.. 2026. 5. 20.