물에 살고싶은 개발자

[WPF] 배포 방식 두가지 비교 본문

Windows

[WPF] 배포 방식 두가지 비교

돼지사랑 2024. 7. 9. 19:52

ClickOnce는 비주얼스튜디오의 라이선스만 있으면 그 안에 포함되어있음.

Visual Studio Community:

  • 무료 버전으로, 개인 프로젝트 및 소규모 팀에서 사용할 수 있습니다.
  • 교육 목적으로도 사용 가능.

Visual Studio Professional:

  • 소규모 조직과 독립 개발자에게 적합.
  • 구독 비용: 사용자당 연간 $1,199 (첫 해), 갱신 시 $799.

Visual Studio Enterprise:

  • 대규모 조직 및 고급 기능을 필요로 하는 팀을 위한 버전.
  • 구독 비용: 사용자당 연간 $5,999 (첫 해), 갱신 시 $2,569.

배포방식

  1. 게시기능을 이용해 빌드
  2. 빌드 시 지정한 url에 파일 다운로드가 가능하도록 서버세팅 후 해당 위치에 업로드
  3. 첫 배포 시 1번에서 나온 결과파일들 중 .application 파일이나 setup파일을 실행. 그 이후 업데이트는 실행때마다 자동업데이트
  4. 장점 :
    1. 빌드가 쉽고 빠름. (빌드시간은 사실상 없는수준. 보통 3초이내에 끝)
    2. 내부서버에 배포파일을 업로드하면 자동업데이트가 됨.
    3. 업데이트를 위해 걸리는 시간이 배포파일을 서버에 업로드하는시간이 전부임.
  5. 단점 : 가끔 캐시를 삭제해줘야 정상적으로 설치 및 실행이 됨(구체적인 원인을 못찾았음)

App Center는 기본 무료이지만, 파이프라인 구축 시 제한이 걸림.

무료 기능:

  1. 일반:
    • 무제한 앱, 조직, 팀
  2. 분석 및 진단:
    • 모든 크래시 및 분석 기능 포함
  3. 배포:
    • 사용자 및 스토어에 무제한 배포
    • 무제한 CodePush 사용
  4. 테스트:
    • 무제한 시작 테스트
  5. 빌드:
    • 조직 또는 사용자 계정당 하나의 빌드 파이프라인
    • 월 240분의 빌드 시간 (빌드당 최대 30분)

고급 기능:

  1. 빌드:
    • 무제한 빌드 시간 및 빌드당 최대 60분으로 업그레이드 가능
    • 추가 병렬 빌드 파이프라인
    • 가격: 빌드 병렬 처리당 월 $40
  2. 테스트:
    • 기본 요금제: 기기 병렬 처리당 월 최대 30시간
    • 엔터프라이즈 요금제: 무제한 기기 시간
    • 가격: 기본 요금제는 기기 병렬 처리당 월 $99, 엔터프라이즈 요금제는 월 $499

배포방식

  1. 깃 저장소를 연결 및 브랜치 선택 후 AppCenter 대시보드에서 빌드(스크립트 추가 가능)
  2. AppCenter를 통해 빌드하면 .msi,.exe 파일이 생성되는데 이걸 배포함.
  3. 원할경우 윈도우즈스토어에 심사넣고 배포해도 됨.(안드로이드,아이폰의 배포와 유사함)

두가지 방식의 비교분석

1. 빌드 속도

ClickOnce:

  • ClickOnce는 로컬 환경에서 빌드를 수행하므로 빌드 속도는 주로 개발자의 컴퓨터 성능에 따라 다릅니다.
  • 로컬 빌드는 네트워크 대역폭에 영향을 받지 않으므로 빠르게 완료될 수 있습니다.

App Center:

  • App Center는 클라우드 기반 빌드를 제공하므로 빌드 속도는 클라우드 리소스에 따라 다릅니다.
  • 병렬 빌드를 지원하므로 여러 빌드를 동시에 실행할 수 있어 전체 빌드 시간을 단축할 수 있습니다.
  • 그러나 초기 설정 및 네트워크 대역폭에 영향을 받을 수 있습니다.

2. 배포 과정의 복잡도

ClickOnce:

  • ClickOnce는 Visual Studio 내에서 설정하고 배포할 수 있어 상대적으로 간단합니다.
  • 사용자는 URL을 통해 애플리케이션을 설치 및 업데이트할 수 있으며, 자동 업데이트 기능이 기본적으로 제공됩니다.
  • 설정 및 배포 과정이 비교적 직관적이지만, 복잡한 배포 시나리오에 대해서는 제한적일 수 있습니다.

App Center:

  • App Center는 더 많은 기능을 제공하지만 초기 설정이 더 복잡할 수 있습니다.
  • 다양한 배포 옵션(베타 테스터, 프로덕션 등)을 제공하며, 다양한 플랫폼에 대한 지원을 포함합니다.
  • 배포 자동화 및 지속적 배포(CD) 기능을 활용할 수 있어 더 복잡한 배포 시나리오에도 적합합니다.

3. 개발적인 난이도

ClickOnce:

  • Visual Studio를 사용하여 간단하게 설정 및 배포할 수 있으므로 개발자에게 친숙합니다.
  • 복잡한 설정이나 추가 도구 없이도 쉽게 배포할 수 있습니다.
  • WPF 및 WinForms 애플리케이션에 최적화되어 있습니다.

App Center:

  • 초기 설정 및 구성은 CLI 또는 웹 인터페이스를 통해 이루어지며, ClickOnce보다 더 많은 학습이 필요할 수 있습니다.
  • CI/CD 파이프라인을 설정하고 관리하는 데 더 많은 노력이 필요하지만, 자동화 및 통합의 이점을 제공합니다.
  • 다양한 플랫폼에 대한 지원을 제공하므로, 여러 플랫폼을 동시에 관리할 수 있는 장점이 있습니다.

4. 유연성 및 확장성

ClickOnce:

  • 주로 간단한 애플리케이션 배포에 적합합니다.
  • 복잡한 배포 및 관리 시나리오에는 제한적일 수 있습니다.
  • 배포 대상이 주로 Windows PC인 경우 적합합니다.

App Center:

  • 다양한 플랫폼(Windows, iOS, Android 등)에 대해 유연한 배포를 지원합니다.
  • 빌드, 테스트, 배포, 모니터링을 통합하여 제공하므로 전체 개발 라이프사이클을 관리할 수 있습니다.
  • Azure DevOps, GitHub, Bitbucket 등과의 통합을 통해 더 높은 확장성을 제공합니다.

5. 비용

ClickOnce:

  • Visual Studio의 기능으로 추가 비용 없이 사용할 수 있습니다.
  • Visual Studio 라이선스만 필요하며, 무료(Community) 버전도 사용 가능합니다.

App Center:

  • 기본 기능은 무료로 제공되지만, 고급 기능(추가 빌드 시간, 병렬 빌드 등)은 추가 비용이 발생합니다.
  • 유료 기능을 사용하면 비용이 증가할 수 있으므로, 프로젝트 규모와 요구사항에 따라 비용을 고려해야 합니다.

요약

  • ClickOnce는 단순하고 빠른 배포를 원하는 소규모 프로젝트나 단일 플랫폼(WPF, WinForms) 애플리케이션에 적합합니다.
  • App Center는 더 복잡하고 다중 플랫폼 지원이 필요한 프로젝트에 적합하며, CI/CD 파이프라인을 통한 자동화 및 통합의 이점을 제공합니다.
  • ClickOnce는 설정 및 사용이 직관적이고 간단하며, App Center는 초기 설정이 복잡하지만 더 높은 유연성과 확장성을 제공합니다.
  • 비용 측면에서 ClickOnce는 Visual Studio 라이선스만으로 충분하지만, App Center는 추가 비용이 발생할 수 있습니다.
Comments