Flutter Shorebird - Code Push 구현하기

안녕하세요. Flutter에서 React Native 에서 구현되는 Code Push 기능이 있는지 알아보던 중 'Shorebird' 라는게 있어서 소개해 드리려 합니다.

 

 

구글에서 Flutter의 창립자인 Eric Seidel이 이 프로젝트를 이끌고 있습니다.

Shorebird는 앱을 앱 스토어, 플레이 스토어에 빌드없이 사용자들 기기에 직접 업데이트를 할 수 Code Push 기능을 가지고 있습니다. 앱 스토어나 플레이 스토어에 승인 없이 간단한 기능이나 텍스트나 이미지를 바로 변경할 수 있다는 점에 기대를 하고 있습니다. 다만 현재는 안드로이드만 지원되며 알수 없는 오류들이 생겨 실서비스에 적용하기에는 무리가 있어보이나, React Native Code Push 만큼 빠른 성장이 되지 않을까 기대하고 있습니다.

현 시점에서 안드로이드만 지원이 되며 IOS 는 2023년 7월 오픈 예정입니다.

 

그럼 Flutter + Android 기준으로 Shorebird 테스트 앱을 생성해 보겠습니다.

 

먼저 Shorebird를 설치합니다. Windows 기준으로 설명 드리겠습니다.

Shorebird 설치 쉘만 다를뿐 차이는 없습니다.

 

Shorebird 설치 및 예제 프로젝트

 

Shorebird 설치

Mac/Linux

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

Windows

$ Set-ExecutionPolicy RemoteSigned -scope CurrentUser # Needed to execute remote scripts
$ iwr -UseBasicParsing 'https://raw.githubusercontent.com/shorebirdtech/install/main/install.ps1'|iex

 

Shorebird 계정 생성

아래 명령어를 실행하시면 아래와 같이 링크가 나옵니다. 구글 계정을 가지고 계셔야합니다.

https://~ 시작하는 부분을 컨트롤 + 클릭 하시면 구글 로그인 하는 창이 뜹니다.

로그인 후 "Tell us your name to finish creating your account :"에 원하시는 이름을 입력하시면 됩니다.

$ shorebird account create

 

Shorebird 로그인

# 로그인
$ shorebird login

# 로그아웃
$ shorebird logout

 

Flutter 프로젝트 생성

Flutter 프로젝트는 기존에 생성하시던 방법으로 생성 하시면됩니다.(Android studio, VS Code 등)

 

Shorebird init (초기화)

프로젝트 내 터미널에서 아래 명령을 입력하시면 Shorebird 사용 준비가 완료 됩니다.

※ 오류 나시는분들은 프로젝트는 최초 1회 빌드를 해 주시고 아래 명령어를 입력해주세요.

$ shorebird init

 

Android 인터넷 권한 주기

안드로이드 매니페스트.xml 파일에 인터넷 권한을 추가해야 합니다. (android/app/src/main/AndroidManifest.xml에 위치) 이는 앱이 새 패치를 가져오기 위해 Shorebird 서버와 통신할 수 있도록 하기 위해 필요합니다.

<manifest ...>
<uses-permission android:name="android.permission.INTERNET" />
...
</manifest>

 

Shorebird 실행

Shorebird 로 실행시 기존 설치된 Flutter 의 SDK 가 아닌 Shorebird 설치 시 함께 설치된 SDK를 사용합니다.

※ x86 시뮬레이터는 실행이 안됩니다. x86_64 시뮬레이터가 실행되어있어야 합니다.

$ shorebird run

 

Flutter 소스 수정

// 기존
colorScheme: ColorScheme.fromSeed(seedColor: Colors.deepPurple),

// 수정
colorScheme: ColorScheme.fromSeed(seedColor: Colors.red),

 

Shortbird Patch 배포

'shorebird run' 으로 실행하신 경우 터미널이 실행되고 있습니다. 새로운 터미널을 열어서 아래 명령어를 입력하시면 됩니다.

$ shorebird patch android

 

시뮬레이터 앱 재시작

시뮬레이터에서 앱을 완전히 종료 하신 후 재시작 하시면 적용 됩니다.

 

이상으로 간단한 예제를 이용하여 만들어봤습니다. Patch 후 약간(1분)의 시간은 필요한것같습니다.

아직은 라이브러리 추가와 프로젝트의 큰 변화, 리소스의 변화에서 오류가 생기는것 같습니다.

 

개인적으로는 리액트 네이티브가 코드 푸쉬(Code Push)로 인하여 급성장 한 경험으로 Shorebird도 IOS 지원 후 안정화만 찾으면 급 성장 하지 않을까 싶습니다.

 

곰표한일 전자파안심 EMF 탄소매트 전기장판 MSP-F170GY, 퀀더블(150 x 190 cm)

이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.

'Programming > Flutter' 카테고리의 다른 글

Flutter Firebase 설치 및 연동  (0) 2023.06.28