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
Add-to-appの戦い方
Search
Koji Wakamiya
October 06, 2022
Programming
2k
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Add-to-appの戦い方
Koji Wakamiya
October 06, 2022
More Decks by Koji Wakamiya
See All by Koji Wakamiya
Flutterコントリビューションのススメ
d_r_1009
1
1.4k
人気サービスをFlutter Webでリプレースするとどうなるのか
d_r_1009
0
1.2k
モバイルアプリケーション 開発組織の“学び”
d_r_1009
0
420
開発チーム主導で iOSの新機能に対応する 3つのポイント
d_r_1009
0
740
FlutterKaigi2021
d_r_1009
0
2k
Flutter?
d_r_1009
0
470
Room2.1 DatabaseView あるある
d_r_1009
0
760
AAC Paging & Kotlin化の紹介
d_r_1009
0
1.4k
JavaからKotlinに書き換えてハマる話
d_r_1009
0
7.9k
Other Decks in Programming
See All in Programming
Deep dive into the select statement (GopherCon UK)
jespino
0
180
コンパウンドプロダクト開発のためのローカルプロセスマネージャー再発明 #layerxgo
izumin5210
0
670
What We Talk About When We Talk About XP
m_seki
2
530
thread_parallel_with_free-threaded_Python_and_NumPy.pdf
riku_sakamoto
0
300
DroidKaigi 2026 「個人開発という実験場: Android エンジニアが手にする4つの自由」
slashnephy
0
230
AI Agent時代のリアーキテクチャ戦略と実践
hokaccha
9
4k
Swift愛好会と私(ウホーイ) / Swift Fan Club and Uhooi
uhooi
0
150
Security issues being discussed on Web Platforms
petamoriken
0
780
Foundry Localでエージェント開発
seosoft
0
180
業務時間外もAIに働いてもらう話
colorful12
3
10k
スマート反転とウェブアクセシビリティ
camiha
0
200
Streamlitで実現する自然言語データアプリ開発
ayumu_yamaguchi
0
190
Featured
See All Featured
The Limits of Empathy - UXLibs8
cassininazir
1
660
Why Our Code Smells
bkeepers
PRO
340
58k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Ten Tips & Tricks for a 🌱 transition
stuffmc
0
220
SEO Brein meetup: CTRL+C is not how to scale international SEO
lindahogenes
1
2.9k
Leveraging LLMs for student feedback in introductory data science courses - posit::conf(2025)
minecr
1
390
How to optimise 3,500 product descriptions for ecommerce in one day using ChatGPT
katarinadahlin
PRO
2
3.8k
Testing 201, or: Great Expectations
jmmastey
46
8.3k
Facilitating Awesome Meetings
lara
57
7.1k
Heart Work Chapter 1 - Part 1
lfama
PRO
9
36k
Dominate Local Search Results - an insider guide to GBP, reviews, and Local SEO
greggifford
PRO
0
330
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
2.2k
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