모바일 앱 버전 관리, SemVer 대신 PaceVer를 써야 하는 이유
PaceVer는 모바일 앱의 두 가지 릴리스 채널(네이티브 바이너리, OTA)을 반영하는 새로운 버전 관리 방식임
기존 SemVer는 API 호환성에 집중하지만, PaceVer는 릴리스 속도와 배포 방식을 명확히 구분함
마케팅(MARKETING), 네이티브(NATIVE), OTA(Over-The-Air) 세 부분으로 구성되며, 각 숫자는 업데이트 방식을 직관적으로 나타냄
개발자들은 사용자들의 버전 무관심, 마케팅 번호의 모호성 등에 대한 우려를 제기함
PaceVer의 NATIVE와 OTA 구분 이점
커뮤니티에서는 PaceVer의 NATIVE(네이티브)와 OTA(Over-The-Air) 구분이 모바일 앱 개발의 현실을 잘 반영한다는 평가가 나옴. NATIVE는 스토어 리뷰를 거치는 느린 배포를, OTA는 즉시 배포 가능한 빠른 업데이트를 의미함. 이를 통해 개발팀은 어떤 방식으로 업데이트가 배포되었는지를 버전 번호만 보고도 즉시 파악 가능하며, 이는 버그 추적 및 릴리스 관리에 큰 도움을 준다고 언급됨.
MARKETING 번호의 유연성과 모호성 논쟁
PaceVer의 MARKETING 번호는 개발팀이 자유롭게 정의할 수 있어 리브랜딩, 리라이트 등 대규모 변경을 표시하기 용이함. 하지만 일부에서는 사용자들이 이러한 마케팅 번호에 크게 신경 쓰지 않으며, 오히려 버전 관리의 명확성을 해칠 수 있다는 우려를 제기함. 개발자들은 이 번호를 개발팀의 의사 결정에 따라 사용해야 하며, 사용자에게는 별도의 공지나 변경 로그로 전달하는 것이 더 효과적일 수 있다는 의견이 나옴.
SemVer 대비 PaceVer의 적용 범위 및 한계
PaceVer는 네이티브 채널과 OTA 채널을 모두 사용하는 사용자 대면 앱에 특화되어 있음. 라이브러리, 패키지, API 등 프로그래밍 계약을 노출하는 소프트웨어에는 SemVer가 적합하다고 명시함. 웹 앱이나 PWA처럼 단일 배포 채널만 가진 경우에도 PaceVer는 적합하지 않으며, 각기 다른 버전 관리 방식의 명확한 구분이 중요함을 강조함.
사용자 경험과 버전 번호의 연관성
토론에서는 모바일 앱 사용자들이 데스크톱이나 라이브러리에 비해 버전 번호에 덜 민감하다는 점이 지적됨. 복잡하고 이해하기 어려운 앱 버전이 흔하며, 실질적인 사용자 경험 개선은 별도의 공지나 모달을 통해 전달되는 경우가 많다는 의견이 나옴. PaceVer의 마케팅 번호가 이러한 사용자 인식을 반영할 수 있지만, 개발팀의 일관된 정책이 중요함을 시사함.
버전 충돌 및 이중 출처 문제
일부 개발자는 앱 매니페스트(Manifest)에 기록되는 버전과 앱 내부에서 관리하는 OTA 버전 간의 잠재적 충돌 가능성을 우려함. 시스템 설정이나 앱 스토어에서는 NATIVE.0 버전만 표시될 수 있으며, 이는 두 개의 진실 공급원(Source of Truth)이 존재하는 상황을 야기할 수 있다는 지적임. 개발자는 이러한 버전 정보의 동기화를 위해 런타임 시점에 버전을 조합하는 방식을 사용해야 함을 언급함.