본문 바로가기

Programming/Flutter

Flutter의 CodePush, ShoreBird

반응형

Flutter CodePush 솔루션, Shorebird 소개

Flutter는 매력적인 UI와 크로스 플랫폼 개발 기능으로 개발자들 사이에서 널리 사용되고 있습니다. 하지만 Flutter 앱 배포의 가장 큰 제한 중 하나는 OTA(Over-the-Air) 업데이트 기능이 부족하다는 점입니다. 네이티브 코드 변경 없이 UI나 로직을 업데이트하는 기능은 React Native의 CodePush와 같은 기술에서 많이 활용됩니다. 이러한 기능이 Flutter 생태계에서 부족했지만, Shorebird는 이를 해결하기 위해 등장한 도구입니다.


Flutter와 CodePush의 필요성

Flutter로 개발한 앱은 사용자에게 배포된 후에도 지속적으로 업데이트가 필요합니다. 특히, 긴급한 버그 수정이나 작은 기능 추가는 앱 스토어의 승인 과정을 거치지 않고 즉시 배포할 수 있는 방법이 필요합니다. CodePush는 이러한 요구를 충족시키는 훌륭한 솔루션입니다. 사용자는 앱을 업데이트하기 위해 매번 앱 스토어를 방문할 필요 없이, 앱 내에서 직접 업데이트를 받을 수 있습니다.

Shorebird란 무엇인가요?

Shorebird는 Flutter를 위한 CodePush 솔루션으로, 앱 스토어를 거치지 않고도 Flutter 애플리케이션의 업데이트를 사용자에게 빠르게 제공할 수 있게 합니다. 이는 사용자 경험을 개선하고 개발 및 배포 프로세스를 간소화하는 데 기여합니다.

주요 기능

  1. Hotfix와 빠른 배포
    앱에서 치명적인 버그가 발생했을 때, 앱 스토어 승인 없이 즉시 수정 사항을 적용할 수 있습니다.
  2. 크로스 플랫폼 지원
    Shorebird는 iOS와 Android에서 모두 동작하여 Flutter의 다중 플랫폼 개발 철학을 충실히 따릅니다.
  3. 간단한 통합
    기존 Flutter 프로젝트에 쉽게 통합 가능하며, 직관적인 CLI 도구를 제공합니다.


Shorebird의 작동 방식

Shorebird는 Flutter 애플리케이션의 Dart 코드와 리소스 파일을 업데이트하는 데 초점을 맞춥니다. 네이티브 바이너리(예: 플랫폼별 코어 라이브러리)를 수정하지 않기 때문에 앱의 동작을 크게 바꾸지 않으면서도 유연한 업데이트를 제공합니다.

1. Shorebird CLI 설치 및 설정프로젝트에 Shorebird를 통합한 후, 업데이트를 준비할 수 있습니다.

 

2.  프로젝트에 Shorebird를 통합한 후, 업데이트를 준비할 수 있습니다.

dart pub global activate shorebird_cli
shorebird init

 

3. 변경 사항 배포
앱의 Dart 코드나 UI 변경 후, CLI 명령어를 사용해 변경 사항을 서버에 업로드합니다.

4. 

shorebird release

5.  사용자 디바이스에 업데이트 전송
Shorebird는 앱 시작 시 업데이트 여부를 확인하고, 필요 시 변경 사항을 다운로드 및 적용합니다.

이미지 출처

장점과 단점

장점

  • 빠른 업데이트: 앱 스토어의 승인 프로세스를 기다리지 않고도 업데이트 제공 가능.
  • 유연한 디버깅: 버그 수정을 빠르게 배포해 사용자 경험을 향상.
  • Flutter에 최적화: Flutter의 구조와 생태계에 적합하게 설계.

단점

  • 제약사항: 네이티브 코드 업데이트는 지원하지 않음.
  • 규제 이슈: 앱 스토어 정책 위반 가능성이 있으므로 배포 방식에 주의 필요.

이미지 출처

Shorebird의 활용 사례

  1. 버그 핫픽스
    앱 출시 후 발견된 치명적인 버그를 앱 스토어 승인 절차 없이 빠르게 수정.
  2. UI/UX 개선
    앱 사용자 인터페이스를 주기적으로 개선하고 테스트하면서 사용자 피드백 반영.
  3. 기능 플래그 테스트
    새로운 기능을 소규모 사용자 그룹에게 먼저 배포하여 효과를 측정.

가격 및 플랜

ShoreBird는 다양한 가격 플랜을 제공합니다. 기본적으로 Hobby 플랜은 무료로 제공되며, 한 명의 개발자가 5,000개의 패치 설치를 지원합니다. Team 플랜은 월 $20로, 50,000개의 패치 설치를 지원합니다. Enterprise 플랜은 대규모 앱을 위한 맞춤형 가격으로 제공됩니다.

이미지 출처

 

관련 링크

반응형