kotalk/문서/15-android-client-and-parallel-release-strategy.md
2026-04-16 09:24:26 +09:00

4.5 KiB

15. Android Client And Parallel Release Strategy

문서 목적

이 문서는 Android 채널을 왜, 어떤 순서로, 어떤 톤으로 도입하는지 정리한다. 목표는 단순히 APK 하나를 더 만드는 것이 아니라, 같은 제품이 Windows와 Android에서 같은 버전 기준으로 배포되고 설명되도록 만드는 것이다.

왜 Android를 병렬 채널로 두는가

이 프로젝트의 중심은 여전히 한국어 Windows 메신저 경험이다. 다만 실제 커뮤니케이션 제품은 사용자가 책상 앞과 이동 중을 오갈 때 끊기지 않아야 한다. Android 채널은 이 연속성을 위해 필요하다.

이때 중요한 것은 새 모바일 제품을 별도로 만든다가 아니라, 같은 버전과 같은 서버 계약을 공유하는 두 번째 클라이언트 채널을 연다는 관점이다.

즉:

  • Windows는 깊이 있는 데스크톱 생산성 채널
  • Android는 빠른 확인과 즉답을 위한 병렬 채널
  • 두 채널은 같은 계정, 같은 대화, 같은 릴리즈 노트를 공유

도입 원칙

  • Android는 Windows를 대체하는 채널이 아니다.
  • 같은 버전 번호 아래에 함께 게시한다.
  • 같은 REST + WebSocket 계약을 공유한다.
  • 모바일 전용 과장 기능보다 로그인, 대화 확인, 즉답의 기본 루프를 먼저 만든다.
  • 원격 저장소와 다운로드 호스트 모두에서 같은 버전 자산을 찾을 수 있어야 한다.

기술 전략

초기 단계에서는 새 네이티브 스택을 완전히 벌리기보다, Avalonia + net8.0-android 기반 병렬 채널을 여는 쪽이 현실적이다.

이유:

  • 현재 저장소의 계약/세션/API 흐름을 재사용하기 쉽다.
  • 릴리즈 버전과 문서, QA 기준을 한 묶음으로 유지하기 쉽다.
  • Kotlin/Compose를 즉시 도입하면 제품보다 파이프라인 분리가 먼저 커진다.

장기적으로 Android 사용량과 요구가 커지면, 그때 별도 네이티브 투자 여부를 다시 판단한다.

초기 Android 범위

포함

  • 서버 주소 입력
  • 이름 + 초대코드 가입
  • 대화 목록 조회
  • 대화방 진입
  • 텍스트 메시지 송신
  • 기본 수동 새로고침 또는 단순 실시간 반영
  • signed APK 생성

제외

  • 고도화된 파일 공유 UX
  • 카메라/갤러리 심화 연동
  • Play 스토어 배포
  • 복잡한 백그라운드 동기화
  • 모바일 전용 디자인 실험

릴리즈 원칙

하나의 태그는 하나의 릴리즈를 뜻한다.

예:

  • v0.2.0-alpha.1
    • Windows zip
    • Android apk
    • 공통 릴리즈 노트
    • 공통 version.json

이 구조의 장점:

  • 사용자는 어떤 OS를 쓰더라도 같은 버전 기준으로 설명을 읽는다.
  • 운영자는 원격 Releases와 다운로드 미러를 같은 기준으로 검증할 수 있다.
  • QA는 Windows와 Android를 같은 마일스톤 아래에서 비교할 수 있다.

다운로드 채널 구조

최신 진입 경로:

  • https://download-vstalk.phy.kr/windows/latest
  • https://download-vstalk.phy.kr/android/latest
  • https://download-vstalk.phy.kr/latest/version.json

버전별 이력:

  • https://download-vstalk.phy.kr/releases/<version>/windows/x64/...
  • https://download-vstalk.phy.kr/releases/<version>/android/universal/...
  • 현재 공개 릴리즈 페이지

메시지 톤 원칙

원격 저장소와 릴리즈 안내 문구는 지금 바로 다운받으세요 같은 속보형 톤보다 아래 방향을 따른다.

  • 왜 이 채널이 필요한지 먼저 설명
  • 어떤 수준까지 준비됐는지 정직하게 밝힘
  • 무엇이 아직 남아 있는지 숨기지 않음
  • 다운로드 링크는 설명 뒤에 자연스럽게 배치

추천 문구:

  • Windows 채널은 Alpha 실행 가능 상태이며, Android 채널은 같은 버전 체계 아래 병렬 도입 중입니다.
  • Android는 이동 중 빠른 확인과 즉답을 위한 채널로 시작하며, 기능보다 안정적인 기본 루프를 먼저 다듬습니다.
  • 같은 버전 번호 아래의 Windows와 Android 산출물은 원격 Releases와 다운로드 미러에서 함께 확인할 수 있어야 합니다.

운영 체크리스트

  • 같은 버전 번호의 Windows/Android 자산이 모두 있는가
  • 원격 Releases에 버전별 원본 자산이 게시됐는가
  • 다운로드 미러 latest 라우트가 같은 버전을 가리키는가
  • README의 최신 스크린샷이 현재 릴리즈와 크게 어긋나지 않는가
  • 릴리즈 노트가 두 플랫폼의 현재 상태를 함께 설명하는가