Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Shorebird について
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
oyuk
September 04, 2023
Programming
520
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Shorebird について
oyuk
September 04, 2023
More Decks by oyuk
See All by oyuk
Material designのWindow size classについて
oyuk
0
1.6k
Swiftでなんで[weak self]するのか?
oyuk
2
5.4k
LLVMについて調べた
oyuk
0
230
Swiftのmapからその次へ
oyuk
1
1.4k
Other Decks in Programming
See All in Programming
Vue Fes Japan の “作る側”に関わってみて
naokihaba
1
200
PyConTW 2026 - AI Coding 不只是工具升級, 區域醫院醫療資訊系統協作開發與資訊團隊轉型實踐
cclai999
0
200
ActionController meets Protocol Buffers
sorah
1
730
Domain-Driven Transformation
hschwentner
2
2.3k
GraphQL の onError と Nullability のこれから
quramy
0
190
全ての永続トークンを、生まれる前に消し去りたい!
sylph01
2
1.5k
TanStack Vue Query と Pinia Colada から学ぶ非同期状態の型設計
aoshi
0
340
Long Living Tokens, Die, Die, Die! (or: The One Ring is Banned in Modern)
sylph01
0
380
When benchmarks go bad - what I learned from measuring performance wrong
hollycummins
0
250
[JA] Domain Modeling with Vanilla Rails: 「操作」から再考するRailsの設計論
yasaichi
4
1.1k
golang-bob.pdf
iwatsukayura
0
140
React Native에 현대적인 빌드 도구 더하기: Rollipop 구현기
leegeunhyeok
0
150
Featured
See All Featured
Reality Check: Gamification 10 Years Later
codingconduct
0
2.4k
New Earth Scene 8
popppiees
4
2.7k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
38
3.1k
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
How to Talk to Developers About Accessibility
jct
2
590
From π to Pie charts
rasagy
1
420
The SEO identity crisis: Don't let AI make you average
varn
0
610
JAMstack: Web Apps at Ludicrous Speed - All Things Open 2022
reverentgeek
1
650
Are puppies a ranking factor?
jonoalderson
2
4.1k
Learning to Love Humans: Emotional Interface Design
aarron
275
41k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
23k
[RailsConf 2023] Rails as a piece of cake
palkan
59
7.1k
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時点の情報です。