본문 바로가기
Flutter

Shorebird Code Push: Flutter 앱 업데이트의 새로운 대안이 될까?

by Maccrey Coding 2024. 9. 9.
반응형

 

애플리케이션의 지속적인 업데이트와 버그 수정은 개발자에게 항상 도전 과제입니다.

특히, 모바일 애플리케이션의 경우 사용자의 장치에서 직접 업데이트를 관리하는 것은 까다로운 일이 될 수 있습니다.

전통적인 앱 업데이트는 주로 앱 스토어를 통해 이루어지지만, Code Push와 같은 OTA(Over the Air) 업데이트 기술은 이러한 문제를 해결할 수 있는 유력한 대안으로 자리 잡고 있습니다.

오늘은 Flutter 개발자들을 위한 새로운 Code Push 솔루션, Shorebird를 소개하고 그 특징과 장단점을 분석해 보겠습니다.

Shorebird Code Push란?

Shorebird는 최신 Code Push 기술을 기반으로 하는 솔루션으로, 애플리케이션의 업데이트를 무선으로 수행할 수 있는 기능을 제공합니다.

이는 Microsoft와 Expo에서 처음 도입한 JS 기반 번들을 클라우드 서비스로 업데이트하는 기술에서 비롯되었습니다.

Flutter 개발자를 위한 Shorebird는 문서화가 잘 되어 있으며, Flutter 엔진 개발자들이 직접 개발하여 신뢰성을 보장합니다.

Shorebird 실습 예제

Flutter의 카운터 앱을 예로 들어보겠습니다.

기본적으로 파란색 배경을 가진 이 앱을 보라색으로 변경하는 과정에서 Shorebird를 사용했습니다. 아래는 코드를 수정한 예시입니다.

class MyApp extends StatelessWidget {
  const MyApp({super.key});

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Demo',
      theme: ThemeData(
-       primarySwatch: Colors.blue,
+       primarySwatch: Colors.purple,
      ),
      home: const MyHomePage(title: 'Flutter Demo Home Page'),
    );
  }
}

이러한 변경은 Shorebird의 공식 문서를 따라 성공적으로 수행할 수 있었으며, 앱에 설치된 모든 사용자에게 보이는 UI를 즉시 변경할 수 있었습니다.

Shorebird의 동작 원리 및 아키텍처

 

Shorebird는 다음과 같은 3가지 주요 구성 요소로 이루어져 있습니다.

  1. CLI 툴: 배포와 빌드를 용이하게 해주는 명령줄 도구.
  2. 수정된 Flutter Engine: Flutter 엔진을 자체적으로 수정한 버전.
  3. 호스트 서버: 패치를 담당하는 서버.

개발자는 Shorebird CLI 툴을 통해 수정된 Flutter 엔진을 받아오고, Shorebird 명령어를 통해 개발 및 빌드를 진행합니다.

최종적으로는 스토어에 앱을 게재합니다. Shorebird는 Flutter 엔진, 프레임워크, 빌드 루트를 포크하여 앱 실행 시 host server를 통해 변경 사항을 체크하고 업데이트를 적용합니다.

호스트 서버는 소스를 저장하지 않고, 바이너리 파일과 버저닝 정보를 관리합니다.

 

참고 링크

React Native의 Code Push와의 비교

항목React NativeFlutter (Shorebird)

관리 서비스 MS Visual Studio App Center Shorebird
코드 푸시 범위 Js Bundle Flutter Framework
배포 방식 UI 대시보드 CLI 툴
업데이트 속도 실시간 업데이트 가능 Android에서는 빠르지만, iOS는 Alpha 버전만 지원

 

React Native는 MS가 운영하는 App Center를 통해 호스팅 서버를 제공하며, UI 대시보드를 통해 배포를 진행합니다.

반면, Shorebird는 자체 호스팅 서버를 통해 배포하고, CLI를 통해 업데이트를 릴리즈합니다.

코드 푸시 범위는 각각의 프레임워크에 따라 다르며, Flutter는 Flutter 엔진을 통해 코드를 실행합니다.

Shorebird Code Push의 장단점

장점

  • 문서화: 공식 문서가 잘 정리되어 있어 사용이 용이함.
  • 전문성: Flutter 엔진 개발자들이 직접 개발하여 신뢰성 높음.

단점

  • 비용: 네트워크 비용이 발생하며, 업데이트 1건당 비용이 부과됨. 대규모 사용자 기반의 경우 비용이 클 수 있음.
  • 배포 속도: iOS의 경우 현재 alpha 버전만 지원하며, 배포 속도가 느릴 수 있음.
  • 적용 범위 제한: 앱의 UI/UX를 코드 푸시만으로 대규모로 변경하는 것은 심사 거절의 원인이 될 수 있음.

Shorebird는 Flutter 앱의 OTA 업데이트를 위한 유망한 솔루션으로, 특히 Flutter 개발자들에게 적합합니다.

비용 문제와 배포 속도 등 몇 가지 단점이 있지만, 공식 문서와 전문가 팀의 지원 덕분에 신뢰성이 높습니다.

코드 푸시의 범위와 적용 가능성을 고려하여 팀의 CI/CD 프로세스와 관리 방식을 조정할 필요가 있습니다.

향후 Shorebird의 개선과 발전에 따라 더욱 많은 팀들이 적용할 수 있을 것으로 기대됩니다.

 

구독!! 공감과 댓글은 저에게 큰 힘이 됩니다.

Starting Google Play App Distribution! "Tester Share" for Recruiting 20 Testers for a Closed Test.

 

Tester Share [테스터쉐어] - Google Play 앱

Tester Share로 Google Play 앱 등록을 단순화하세요.

play.google.com

 

반응형