Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Shorebird について
Search
oyuk
September 04, 2023
Programming
0
320
Shorebird について
oyuk
September 04, 2023
Tweet
Share
More Decks by oyuk
See All by oyuk
Material designのWindow size classについて
oyuk
0
920
Swiftでなんで[weak self]するのか?
oyuk
2
4.6k
LLVMについて調べた
oyuk
0
170
Swiftのmapからその次へ
oyuk
1
1.3k
Other Decks in Programming
See All in Programming
利用者視点で考える、イテレータとの上手な付き合い方
syumai
4
210
NEWTにおけるiOS18対応の進め方
ryu1sazae
0
180
Kubernetes上でOracle_Databaseの運用を楽にするOraOperatorの紹介
nnaka2992
0
150
Pythonによるイベントソーシングへの挑戦と現状に対する考察 / Challenging Event Sourcing with Python and Reflections on the Current State
nrslib
3
870
Re:PandasAI:生成AIがデータ分析業務にもたらすパラダイムシフト【増補改訂版】
negi111111
1
780
フロントエンドの標準仕様をどう追っているか / How I follow the frontend standards specs
petamoriken
2
170
Compose Multiplatform과 Ktor로 플랫폼의 경계를 넘어보자
kwakeuijin
0
220
Интеграционное тестирование: как приручить хаос
mariyasaygina
0
480
Cancel Next.js Page Navigation: Full Throttle
ypresto
1
110
tsconfig.jsonの最近の新機能 ファイルパス編
uhyo
6
1.3k
Cohesion in Modeling and Design
mploed
3
180
上手に付き合うコンポーネントテスト
quramy
3
1.2k
Featured
See All Featured
YesSQL, Process and Tooling at Scale
rocio
167
14k
A designer walks into a library…
pauljervisheath
201
24k
What’s in a name? Adding method to the madness
productmarketing
PRO
22
3.1k
KATA
mclloyd
27
13k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
38
2.1k
How To Stay Up To Date on Web Technology
chriscoyier
786
250k
Faster Mobile Websites
deanohume
304
30k
Intergalactic Javascript Robots from Outer Space
tanoku
268
27k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
2
210
The Mythical Team-Month
searls
218
43k
Navigating Team Friction
lara
183
14k
Code Review Best Practice
trishagee
62
16k
Transcript
Shorebird について Relic Tech MeetUp 11 2023/9/8 oyuk
自己紹介 oyuk(@oydku) プログラマ 株式会社 Relic で Flutter やってます。
Shorebird とは? Flutter で Code Push を実現するサービス [1] https://shorebird.dev/#products-code-push
Shorebird とは? Code Push Code Push とはユーザーの端末に対して直接アップデートを配信する事。 つまり iOS, Android
においてはストアの申請を通さずにアプリを更新できる。
Shorebird の使い方 1. curl --proto '=https' --tlsv1.2 https://raw.githubusercontent.com/shorebirdtech/install/main/install.sh -sSf |
bash 2. shorebird login 3. Shorebird を使いたいアプリのルートディレクトリで shorebird init [2] https://m3.material.io/foundations/layout/applying-layout/window-size-classes#6e960b82-eff3-4f1b-92d3- 5edb5e338f49
Shorebird の使い方 Release と Patch という概念が存在します。1 つの Release に対し 0
個以上のパッチが紐づ いているという関係になります。 Release アプリのバージョンを示す。Storeに公開するアプリのバージョンと同じにすると分かりやす い。 Patch Release に含まれる変更を指す。
Shorebird の使い方 1. Release を作成 i. shorebird release コマンドでビルドを生成 ii.
1.1で出力されたビルドをリリース 2. 実装を変更する 3. Patch を作成 i. shorebird patch でビルドを生成、Shorebirdのサーバにビルドをpush 4. アプリに適用(詳細は後述) 一つのリリースにつき手順2~4は複数回行われる想定
Shorebird の使い方 どうやってcode pushを実現しているか 起動時にpatchが適用されたビルドを取得している Flutter Engineの起動処理を一部書き換えて、起動時にコードを取得するように している。 ShorebirdのSDK内にShorebirdで必要な機能を入れたFlutter SDKが含まれてい
る。ShorebirdのコマンドはこのShorebird用Flutter SDKを用いてアプリをビル ドする。
Shorebird の使い方
Shorebird の使い方 実際にやってみた 動画で紹介
Shorebird の使い方 起動時にpatchを取得、適用するライブラリ updater は公開されている 。 updaterはRustで書かれている。Rustで書いてCのAPIとして公開。Flutter Engine(c++) はそのAPIを使用している 理由
DartVMが二つ起動するのを防ぎたい 複数の言語で updater を使用できるようにしたい [3] https://github.com/shorebirdtech/updater [4] https://docs.shorebird.dev/faq#why-are-some-parts-of-the-code-push-library-written-in-rust
Shorebird の使い方 updater の機能を切り出した shorebird_code_push というライブラリがある 。 これを使うとアプリ内で任意のタイミングでpatchをインストールする事が可能。 [5] https://pub.dev/packages/shorebird_code_push
Shorebird の使い方 任意のタイミングでpatchをインストールする例 push通知を起点にpatchをインストールする
Shorebird の使い方 ストアのポリシーに違反しないか? 違反していない アプリの挙動を大きく変える変更をするのはポリシー違反になる可能性がある [6] https://docs.shorebird.dev/faq#does-shorebird-comply-with-play-store-guidelines [7] https://docs.shorebird.dev/faq#does-shorebird-comply-with-app-store-guidelines
Shorebird の使い方 具体的なユースケース 不具合を修正したい場合 細かい機能アップデート [8] https://docs.shorebird.dev/faq#what-can-i-use-shorebird-code-push-for
Shorebird の使い方 料金 無料のHobbyプランがあるので気軽に試しやすい
Shorebird について まとめ ShorebirdはCode pushをするサービス 細かい機能追加、不具合修正を審査を通さずに実現可能 FAQが非常に充実している 本記事はShorebird 0.14.6時点の情報です。