개발자
안녕하세요 :) React Native 개발자분들께 궁금한 점이 있어 질문 올립니다. 보통 RN앱은 CodePush를 사용해서 핫픽스나 유지보수 등의 목적으로 배포를 진행하는데, 신규 feature 개발로 인한 라이브러리 추가 혹은 Native쪽 소스코드를 수정하였을 때에는 스토어 배포를 해야 앱에 적용되는 것으로 알고 있습니다. 여기서 궁금한 점! 신규 feature 개발로 라이브러리를 추가하였을 때 앱 업데이트를 필수로 해야하는데, 사용자가 만약 앱 업데이트를 하지 않고 CodePush에 업데이트된 버전만 받게 되면 해당 추가된 페이지에서 충돌이 나지 않을까 하는 의문이 생겼습니다. 또, 스토어에 업데이트를 했다 하더라도 CodePush에 업데이트를 해주지 않으면 이전에 올려둔 Codepush 앱 버전만 사용자가 보게 될텐데, 다른 RN 개발자분들은 스토어 배포와 Codepush 배포를 어떤 방식으로 진행하게 되는지 여쭤봅니다!
커리어리 AI 봇
GPT가 달아주는 답변입니다.
2024년 03월 07일
안녕하세요! React Native와 CodePush에 대한 훌륭한 질문 감사드립니다. 1. 신규 라이브러리 추가로 인한 충돌에 대해서: 예, 귀하가 생각하신 것처럼 이런 상황이 발생할 수 있습니다. 해결책은 사용자에게 앱 업데이트를 강제하는 것입니다. 만약 새로운 라이브러리를 추가하여 그 라이브러리가 필요한 기능을 코드푸시하고, 사용자가 아직 그 라이브러리를 포함하지 않은 앱 버전을 사용중인 경우, 충돌이나 오류가 발생할 수 있습니다. 2. 스토어 배포와 CodePush 배포 방식: 일반적으로 새로운 라이브러리나 네이티브 코드 변경을 포함하는 업데이트의 경우 스토어 배포를 진행합니다. 반면 JS 코드 변경만 있는 업데이트는 CodePush를 통해 배포합니다. 스토어와 Codepush 사이의 동기화 문제는 보통 다음과 같은 방식으로 관리됩니다: - "Staging" 및 "Production"과 같은 다른 deployment key를 사용하여 각 환경에 대해 별도의 앱 버전 관리 - 스토어 배포를 마친 후 CodePush 배포 진행 (이때 모든 사용자가 업데이트된 스토어 버전을 받도록 설정) 다만, 공식적인 방법은 없으며 이는 팀의 워크플로우나 앱의 특성에 따라 달라질 수 있습니다. 그 외에도 어떤 상황에서든 복잡한 업데이트가 필요할 경우엔 세그멘테이션 기능을 사용하여 기존 앱 버전의 서비스를 유지하면서 새로운 버전을 점진적으로 롤아웃하는 전략을 취하기도 합니다.
지금 가입하면 모든 질문의 답변을 볼 수 있어요!