Flutter

[Flutter] Flutter를 위한 Code Push Shorebird 1.0 릴리즈

teveloper 2024. 4. 17. 01:44
반응형


React Native와 Flutter를 선택할 때 고려해야할 것 중의 하나가 Code Push의 유무다. Code Push란 각 플랫폼의 앱스토어 리뷰 과정 없이 앱의 업데이트를 반영할 수 있는 서비스이다. 웹과 다르게 스토어의 심사를 받아야만 업데이트가 가능한 앱에게는 한줄기 빛과도 같은 존재이다.
 
스타트업이든 대기업이든 앱 서비스의 빠른 업데이트는 필수적이다. 결제 페이지에서 오류가 나는데 하루가 넘게 걸리는 심사과정만 기다리고 있다면 속이 타들어 갈 것이다. 그와중에 주말이 겹치거나 리젝이라도 당한다면 ? 기업 입장에서는 상상하기도 싫을것이다.
 
이 때문에 많은 앱 서비스에서 핫픽스가 필요한 부분은 웹뷰로 개발한다. 필자도 앱 회사에서 개발할 때 결제와 예약페이지 등에서 빠른 수정이 가능한 부분은 웹뷰로 개발을 했었다. 이번엔 Flutter의 코드 푸시에 대해 알아보겠다.
 
 

 

Shorebird


Flutter에도 Code Push를 제공하는 ShoreBird라는 서비스가 있다. 물론 RN의 Code Push처럼 메이저 하지는 않다. 기존에는 안드로이드만 제공하고 iOS는 알파버전이었는데 최근에 공식 지원을 하면서 1.0버전을 릴리즈 했다. Flutter를 만든 개발자가 구글을 떠나 만든 프로젝트인데 특징들은 다음과 같다.
 
 

Shorebird의 특징

 
- Flutter를 위한 OTA (Over The Air) 업데이트 제공
- 5분안에 앱에 적용 가능하며 실제 코드의 변경이 필요하지 않음. 플러터 앱의 Dart 코드를 즉각 업데이트 해줌.
- 앱의 패치 횟수에 따라 과금 (아래 사진 참고)
- iOS의 경우 Shorebird와 Flutter stable 최신 버전 필요
- 앱스토어와 플레이스토어 규정을 준수
 
 
 

가격이 만만치는 않아 보인다

Shorebird 사용방법

 
Shorebird 특징에 대해 살펴봤으니 이번에는 간단하게 사용법에 대해 알아보겠다. 첫번째로 Shorebird cli 설치를 한다.
 

curl --proto '=https' --tlsv1.2 https://raw.githubusercontent.com/shorebirdtech/install/main/install.sh -sSf | bash

 
설치가 완료되면 우리가 사용할 Flutter 패키지를 설치해준다.
 

flutter create shorebird_app

 
Flutter 패키지 설치가 완료되면 Shorebird에 로그인 하고 초기화를 해준다. 구글 로그인을 선택하면 터미널창에 다음과 같이 링크가 생성된다.

 

shorebird login
shorebird init

 
shorebird 초기화가 완료되면 shorebird.yaml 파일이 생성되고 console 페이지에 현재 Flutter 앱 패키지가 만들어진다. 아직 앱에 대한 release와 patch 버전이 없기 때문에 둘다 none으로 뜨는것을 확인할 수 있다.
 

초기화가 완료된 shorebird

Shorebird Code Push

Shorebird의 패키지가 생성되었으니 Code Push를 테스트 해보자. 일단 최초의 버전의 Text를 '패치전'으로 설정해 두고 release를 해준다.

shorebird release android

 
release가 완료되면 console에 다음과 같이 1.0.0+1의 버전이 생성이 된다. 정상적으로 Shorebird에 최초 버전이 생성됨을 알 수 있다.
 

 
 
 
preivew 모드를 통해 현재 버전의 앱을 에뮬레이터를 통해 확인해 보자. '패치전'의 Text 위젯을 확인할 수 있다.
 

shorebird preview

 

1.0.0+1 버전

 
이번에는 main.dart의 Text를 '패치후'로 수정하고 Code Push를 해보자. 

shorebird patch android

 
 
패치가 완료되면 다음과 같이 none이었던 패치 자리에 1.0.0+1 버전의 1번 패치가 생성됨을 확인할 수 있다. 아까와 마찬가지로 preview 모드를 통해 정상적으로 Code Push가 되었는지 확인해보자.
 

 

Code Push 완료

 
코드 푸시가 정상적으로 이뤄졌다 ! 바로 적용되진 않았지만 필자 기준 5분 이내로 Code Push가 정상적으로 작동했다.
 
 

마치며

 
아직 어느 서비스에서도 Shorebird를 도입했다는 사례를 본적은 없다. 서비스의 안정성도 문제지만 비용 또한 무시할 수 없기 때문이다. 사이드 프로젝트 혹은 소규모의 앱에서는 감당 가능해도 MAU가 100만을 넘어가거나 하면 다른 차원의 문제이기 때문이다.
 
물론 이제 1.0버전이 나온 따끈따끈한 프로젝트이다. 즉시 프로젝트에 적용하긴 시기상조라고 생각한다. 하지만 Shoebird가 지속적으로 개선되고, 조금이라도 RN의 코드 푸시를 넘볼정도까지 올라온다면 ? 크로스플랫폼에 엄청난 지각변동이 일어날 거라 생각한다.
 
한편으로는 이런 서비스를 지속적으로 만들어줘서 감사하다. 관심있으신 분들은 튜토리얼로 한번 써보시길 추천한다.
 
 
 
https://shorebird.dev/blogs/1.0/

 

Shorebird

Use code push for Flutter to deliver instant updates to all devices. Patch issues in your iOS or Android Flutter apps instantly.

shorebird.dev





https://teveloper.tistory.com/70

 

[1인 앱 개발] 테니스장 앱 '타이브레이크' 출시 후기 (1)

✨ 개발하게 된 배경 대학에 들어오기 전부터 테니스를 쳤으니 나름 꽤 오래쳐온것 같다. 개발자로 일을 하고 취미로 테니스를 치면서 테니스와 관련된 서비스를 한번 만들어보고 싶었다. 국내

teveloper.tistory.com

 
https://teveloper.tistory.com/71

 

[1인 앱 개발] 플레이스토어 출시 후기 (feat. 비공개 테스트 20명)

작년 11월부터 새로생긴 정책으로 인해 안드로이드 플레이스토어 출시가 굉장히 까다로워졌다. 개인 개발자들의 신규 계정에 대해 프로덕션 출시 이전 20명을 모아 비공개 테스트를 진행해야 한

teveloper.tistory.com

 

반응형