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
Add-to-appの戦い方
Search
Koji Wakamiya
October 06, 2022
Programming
1.8k
0
Share
Add-to-appの戦い方
Koji Wakamiya
October 06, 2022
More Decks by Koji Wakamiya
See All by Koji Wakamiya
Flutterコントリビューションのススメ
d_r_1009
1
1.1k
人気サービスをFlutter Webでリプレースするとどうなるのか
d_r_1009
0
1.2k
モバイルアプリケーション 開発組織の“学び”
d_r_1009
0
390
開発チーム主導で iOSの新機能に対応する 3つのポイント
d_r_1009
0
700
FlutterKaigi2021
d_r_1009
0
1.9k
Flutter?
d_r_1009
0
440
Room2.1 DatabaseView あるある
d_r_1009
0
730
AAC Paging & Kotlin化の紹介
d_r_1009
0
1.3k
JavaからKotlinに書き換えてハマる話
d_r_1009
0
7.8k
Other Decks in Programming
See All in Programming
PDI: Como Alavancar Sua Carreira e Seu Negócio
marcelgsantos
0
110
Codex CLIのSubagentsによる並列API実装 / Parallel API Implementation with Codex CLI Subagents
takatty
2
860
PCOVから学ぶコードカバレッジ #phpcon_odawara
o0h
PRO
0
230
L’IA au service des devs : Anatomie d'un assistant de Code Review
toham
0
220
テレメトリーシグナルが導くパフォーマンス最適化 / Performance Optimization Driven by Telemetry Signals
seike460
PRO
2
220
AI時代のPhpStorm最新事情 #phpcon_odawara
yusuke
0
130
Coding at the Speed of Thought: The New Era of Symfony Docker
dunglas
0
4.7k
PHP 7.4でもOpenTelemetryゼロコード計装がしたい! / PHPerKaigi 2026
arthur1
1
530
Xdebug と IDE による デバッグ実行の仕組みを見る / Exploring-How-Debugging-Works-with-Xdebug-and-an-IDE
shin1x1
0
350
Symfonyの特性(設計思想)を手軽に活かす特性(trait)
ickx
0
130
Radical Imagining - LIFT 2025-2027 Policy Agenda
lift1998
0
250
ファインチューニングせずメインコンペを解く方法
pokutuna
0
270
Featured
See All Featured
[SF Ruby Conf 2025] Rails X
palkan
2
930
Being A Developer After 40
akosma
91
590k
The Illustrated Children's Guide to Kubernetes
chrisshort
51
52k
Scaling GitHub
holman
464
140k
How to train your dragon (web standard)
notwaldorf
97
6.6k
Building Flexible Design Systems
yeseniaperezcruz
330
40k
Documentation Writing (for coders)
carmenintech
77
5.3k
End of SEO as We Know It (SMX Advanced Version)
ipullrank
3
4.1k
HU Berlin: Industrial-Strength Natural Language Processing with spaCy and Prodigy
inesmontani
PRO
0
310
Paper Plane (Part 1)
katiecoart
PRO
0
6.5k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
37
6.3k
Building a Scalable Design System with Sketch
lauravandoore
463
34k
Transcript
Add-to-appͷઓ͍ํ @koji-1009 1
DroidKaigi 2
ࣗݾհ • एٶߒ࢘/@koji-1009(GitHub) • ελσΟϓϥεגࣜձࣾ ◦ ϞόΠϧΫϥΠΞϯτνʔϜ ςοΫϦʔυ • Google
for Startups Accelerator 2022 3
ελσΟϓϥεגࣜձࣾ • Mission ◦ ֶͿتͼΛͯ͢ͷਓ • Value ◦ Dive to
Learn - ֶशऀͷͨΊʹΖ͏ ◦ Fail Forward - ͲΜͲΜࣦഊ͠Α͏ ◦ Far Together - ҧ͍ʹ༰Ͱ͋Ζ͏ 4
5 Studyplus • ֶशهΛ࡞͠ɺߘ͢Δ͜ ͱͰֶͼͷܧଓΛαϙʔτ • ిࢠ൛ͷֶशࢀߟॻ200Ҏ্ ͕͍์ɺʰStudyplusϒοΫ ಡΈ์ʱఏڙத
6 Studyplus for School • ઌੜ͕ੜెͷʑͷษڧΛα ϙʔτͰ͖Δɺֶशཧϓϥο τϑΥʔϜ • toB͚ʹɺֶߍֶशक़ͳͲ
ʹ͚ͯల։
StudyplusͱAdd-to-app • 20218݄͝Ζ͔Βར༻ • ʰStudyplusϒοΫಡΈ์ʱͷॻ੶ϏϡʔΞʔͰ࠾༻ ◦ ࠷ॳFlutterΞϓϦέʔγϣϯ͚ʹ։ൃ ◦ ϏϡʔΞʔػೳΛStudyplusʹ౷߹͢Δʹ͋ͨΓɺ Add-to-appͰAndroidͱiOSΞϓϦέʔγϣϯʹՃ
7
࣍ • ຊηογϣϯʹ͍ͭͯ • Add-to-appͱ • Add-to-appͷϝϦοτ • Add-to-appͷσϝϦοτ •
Add-to-appͷઓ͍ํ 8
ຊηογϣϯͰհ͢Δൣғ • Flutter ◦ ΄΅ղઆ͠·ͤΜ ◦ 2022.11ʹFlutterKaigi͕։࠵͞Ε·͢ • Add-to-app ◦
ηογϣϯͷཧղʹඞཁͳൣғͰղઆ͠·͢ ◦ ࡉ͔ͳFlutterͷGitHub Issue͔ηογϣϯͷ࣭ʹͯ 9
ຊηογϣϯͷର • FlutterʹΑΔΞϓϦέʔγϣϯΛ͢Ͱʹ։ൃ͍ͯ͠Δ • Add-to-appΛ͢Ͱʹ࠾༻͍ͯ͠Δ • Add-to-appͷ࠾༻Λݕ౼͍ͯ͠Δ • Jetpack ComposeͱAdd-to-appͷͲͪΒΛ࠾༻͢Δ͔ΜͰ͍Δ
10
ຊηογϣϯͷର • FlutterʹΑΔΞϓϦέʔγϣϯΛ͢Ͱʹ։ൃ͍ͯ͠Δ • Add-to-appΛ͢Ͱʹ࠾༻͍ͯ͠Δ • Add-to-appͷ࠾༻Λݕ౼͍ͯ͠Δ • Jetpack ComposeͱAdd-to-appͷͲͪΒΛ࠾༻͢Δ͔ΜͰ͍Δ
11
ຊηογϣϯͷత Add-to-appΛར༻ͨ͠ΞϓϦέʔγϣϯ։ൃʹ͍ͭͯɺ ͭ·ΓAdd-to-appͷઓ͍ํʹ͍ͭͯհ͠·͢ 12
2022ݱࡏʹAdd-to-appΛݕ౼͢Δࣄ • એݴతUIΛಋೖ͍ͨ͠ • Material DesignΛiOSͰ͍͍ͨ 13
2022ݱࡏʹAdd-to-appΛݕ౼͢Δࣄ • એݴతUIΛಋೖ͍ͨ͠ ◦ Jetpack Compose/SwiftUIͰΑ͍ͷͰ……? • Material DesignΛiOSͰ͍͍ͨ ◦
iOS͚ͳΒHIGʹ४ڌͨ͠ํ͕Α͍ͷͰ……? ◦ (iOS͚ͷMDCͷ։ൃ͕ऴྃͨ͠ͷͰɺΞϦͱ͍͑ΞϦ) 14
2022ݱࡏʹAdd-to-appΛݕ౼͢Δࣄ • FlutterͰϦϓϨʔε͢ΔͷͰɺஈ֊తͳಋೖΛߦ͍͍ͨ • ෳϓϥοτϑΥʔϜ͚ͷΞϓϦέʔγϣϯʹɺ ୯ҰͷιʔείʔυͰػೳΛ։ൃ͍ͨ͠ 15
Add-to-appͱ 16
Add-to-appͷ֓ཁ • FlutterͷViewΛAndroidiOSΞϓϦέʔγϣϯʹΈࠐΊΔػೳ • FlutterActivity/FlutterFragmentΛJava/Kotlin͔Βݺͼग़͠ ◦ AARΛFlutterͰ࡞͠Gradleܦ༝ͰಡΈࠐΈ ◦ iOSͷ߹CocoaPodsܦ༝ͰಡΈࠐΈ ▪
https://github.com/flutter/flutter/issues/33850 ◦ ͦΕҎ֎ͷํ๏ެࣜυΩϡϝϯτ ▪ https://docs.flutter.dev/development/add-to-app 17
Add-to-appͷ֓ཁ • Add-to-appͱ௨ৗͷFlutterΞϓϦέʔγϣϯ΄΅ಉ͡ ◦ AndroidΞϓϦέʔγϣϯͰFlutterΛද͍ࣔͯ͠Δ͚ͩ • FlutterͱJava/KotlinͷؒͰPlatform ChannelΛར༻ ◦ Flutter͔ΒAndroidiOSͷػೳΛݺͼग़͢Έ
◦ JSONܗࣜͷStringΛར༻͢Εେͷ͜ͱՄೳ ◦ Pigeon ▪ https://pub.dev/packages/pigeon 18
Add-to-appͷ֓ཁ • ϓϥάΠϯͷґଘؔͷ͜͠͞ ◦ ωΠςΟϒΞϓϦέʔγϣϯͱɺAdd-to-appͷ྆ํ͕ґଘ͢Δ ◦ όʔδϣϯͷ߹ੑ͕औΕΔঢ়ଶʹ͢Δඞཁ͕ੜ͡Δ ▪ ྫ͑FirebaseΛಋೖ͢Δ߹ ▪
ωΠςΟϒͱAdd-to-appͰಉ͡ϥΠϒϥϦΛࢀর͢Δέʔε 19
Add-to-appͷ֓ཁ • Add-to-appͷқ ◦ લड़ͷࣝͱFlutterͷ͕ࣝ͋Ε࢝ΊΒΕΔ ◦ FlutterΛஈ֊తʹಋೖ͢Δख๏ͱͯ͠࠷ద 20
Add-to-appͷϝϦοτ 21
Add-to-appͷϝϦοτ • ϩδοΫͷڞ௨ԽʹΑΔɺ༷ɾ࣮ɾݕূίετͷݮ • ϓϥοτϑΥʔϜ͝ͱͰͳ͘ɺػೳ͝ͱͷ୲νʔϜ • FlutterΛ࠾༻͢ΔϦεΫ՝ͷݕূΛɺখ࢝͘͞ΊΒΕΔ 22
༷ɾ࣮ɾݕূίετͷݮ • ϓϥοτϑΥʔϜ͝ͱͷ࡞ۀ͕ෆཁʹͳΔέʔε͕͋Δ ◦ ϓϥοτϑΥʔϜʹ߹Θͤͨػೳը໘σβΠϯ ◦ KotlinͱSwiftͰߦ͍࣮ͬͯͨ ◦ ϓϥοτϑΥʔϜࠩҟ͕Έࠐ·Εͨݕূϑϩʔ 23
ػೳ͝ͱͷ୲νʔϜ • ػೳʹରͯ͠ϓϥοτϑΥʔϜ͝ͱͷ୲ऀͰͳ͘ɺ ػೳʹରͯ͠ͷ୲ऀΛஔ͘͜ͱ͕Ͱ͖Δ ◦ ։ൃऀ͕ػೳͷ࣮ݱʹΛ࣋ͪ͘͢ͳΔ 24
FlutterΛ࠾༻͢ΔϦεΫ՝ͷݕূ • Flutterͷ࠾༻Ͱൃੜ͢Δ՝ʹؾͮ͘͜ͱ͕Ͱ͖Δ ◦ ϏδωεతʹɺωΠςΟϒͷSDKʹڧ͘ґଘ͍ͯ͠Δ͔ ◦ ΞϓϦέʔγϣϯతʹɺύϑΥʔϚϯε͕ඇৗʹγϏΞ͔ ◦ ։ൃνʔϜతʹɺFlutterΛֶͿ͜ͱ͕͍͔͠ 25
Add-to-appͷσϝϦοτ 26
Add-to-appͷσϝϦοτ • FlutterΞϓϦέʔγϣϯͱͷৼΔ͍ࠩҟ • Add-to-appͷΞοϓσʔτΕ • Ϗϧυ࣌ؒ(ൃੜ࣌ͷ)ௐࠪίετ૿Ճ 27
FlutterΞϓϦέʔγϣϯͱͷৼΔ͍ࠩҟ • Flutter EngineͷΩϟογϡʹΑΔӨڹ ◦ Ωϟογϡ͢ΔͱʰAdd-to-appͷView͕දࣔ͞Ε͍ͯͳ͍ʱ࣌ɺ Add-to-appͷView͕อ࣋͞ΕΔΑ͏ʹͳΔ ◦ ը໘Λดͯ͡dispose͞Εͳ͍ͷͰɺঢ়ଶཧʹ͕ඞཁ •
Ωϟογϡ͕ͳ͚Ε·ͣੜ͡ͳ͍ ◦ Ωϟογϡ͠ͳ͍߹ɺ্ཱ͕ͪ͛࣌ؒ͘ͳΔ 28
Add-to-appͷΞοϓσʔτΕ • Flutter͚ʹ։ൃ͞Εͨػೳ͕ɺAdd-to-appʹө͞ΕΔͷ͕͍ ◦ ίʔυςϯϓϨʔτͳͲɺݟಀ͞Ε͕ͪͳ͕Ε͍͢ ◦ Add-to-appͰݹ͍Kotlinʹґଘ͢ΔPluginΛར༻͢Δͱɺ ϏϧυͰ͖ͳ͍ͳͲ͕ൃੜ͢Δ͜ͱ͕͋Δ ▪ https://github.com/flutter/flutter/issues/100613
29
Ϗϧυ࣌ؒௐࠪίετͷ૿Ճ • Add-to-appΛಋೖ͢Δ͜ͱͰɺ໌֬ʹϏϧυ͕࣌ؒ૿Ճ͢Δ ◦ ґଘϥΠϒϥϦ͕૿͑Δ ◦ ΞϓϦέʔγϣϯαΠζ૿Ճ͢Δ • ෆ۩߹ௐ͕͍ࠪ͠έʔε͕ଘࡏ͢Δ ◦
ωΠςΟϒAPIΛར༻͍ͯ͠Δέʔε ◦ AndroidɺiOSͷͲͪΒ͔ͷΈͰൃੜ͢Δέʔε 30
Add-to-appͷઓ͍ํ 31
Add-to-appͷઓ͍ํ • લఏ݅Λݕ౼͢Δ • ݮίετͱ૿ՃίετΛѲ͢Δ • Add-to-appͷະདྷΛ࡞Δ 32
લఏ݅Λݕ౼͢Δ • Add-to-app͕༗ޮͳέʔεʹ͍֘ͯ͠Δ͔ ◦ AndroidɺiOS͚ͷطଘΞϓϦ͕͋Δ͔ ◦ ෳϓϥοτϑΥʔϜ͚ͷ։ൃ͕ɺෛ୲͔Ͳ͏͔ • νʔϜϏϧσΟϯά͕తͷ߹ɺҰߟͷ༨͋Γ 33
ݮίετͱ૿ՃίετΛѲ͢Δ • ݮίετ ◦ ։ൃɺFlutterͰ։ൃͨ͠ػೳͷݕূ ◦ ։ൃʹؔΘΔίϛϡχέʔγϣϯͷෛ୲ • ૿Ճίετ ◦
ΞϓϦέʔγϣϯαΠζɺϏϧυ࣌ؒ ◦ FlutterͷֶशɺAdd-to-appͷΩϟονΞοϓ 34
Add-to-appͷະདྷΛ࡞Δ • Add-to-appͷχʔζ͕͋Δ͜ͱΛࣔ͞ͳ͚ΕͳΒͳ͍ ◦ Add-to-app׆༻ࣄྫͷެදɺΞϯέʔτͰͷճ ◦ GitHub Issueͷ࡞upvoteʹΑΔҙࢥͷද໌ • Add-to-appܾͯ͠ओྲྀʹͳΒͳ͍ٕज़
35
Add-to-appͷະདྷΛ࡞Δ • Add-to-appͷχʔζ͕͋Δ͜ͱΛࣔ͞ͳ͚ΕͳΒͳ͍ ◦ Add-to-app׆༻ࣄྫͷެදɺΞϯέʔτͰͷճ ◦ GitHub Issueͷ࡞upvoteʹΑΔҙࢥͷද໌ • Add-to-appܾͯ͠ओྲྀʹͳΒͳ͍ٕज़
◦ ͋͘·Ͱաظʹར༻͢Δͷͱଊ͑Δ͖ 36
·ͱΊ • Add-to-appͷ࠾༻ͷతΛ໌֬ʹ • Flutter͕։ൃ͢ΔΞϓϦέʔγϣϯʹ߹க͢Δ͔ཁݕূ ◦ Add-to-appͰখ࢝͘͞ΊΔͷྑ͍બ ◦ Add-to-appʹΑΔίετ૿༧Ίݕ౼͓͖ͯ͘͠ •
Add-to-appศར͕ͩɺ࠷దͳબࢶͱݶΒͳ͍ ◦ Add-to-appΛղফ͢Δܭըཱͯͨํ͕ྑ͍ • Add-to-appͷ࠾༻ࣄྫݟͷڞ༗ੵۃతʹ 37
Thanks! 38