Slide 1

Slide 1 text

Add-to-appͷઓ͍ํ @koji-1009 1

Slide 2

Slide 2 text

DroidKaigi 2

Slide 3

Slide 3 text

ࣗݾ঺հ ● एٶߒ࢘/@koji-1009(GitHub) ● ελσΟϓϥεגࣜձࣾ ○ ϞόΠϧΫϥΠΞϯτνʔϜ ςοΫϦʔυ ● Google for Startups Accelerator 2022 3

Slide 4

Slide 4 text

ελσΟϓϥεגࣜձࣾ ● Mission ○ ֶͿتͼΛ͢΂ͯͷਓ΁ ● Value ○ Dive to Learn - ֶशऀͷͨΊʹ΍Ζ͏ ○ Fail Forward - ͲΜͲΜࣦഊ͠Α͏ ○ Far Together - ҧ͍ʹ׮༰Ͱ͋Ζ͏ 4

Slide 5

Slide 5 text

5 Studyplus ● ֶशه࿥Λ࡞੒͠ɺ౤ߘ͢Δ͜ ͱͰֶͼͷܧଓΛαϙʔτ ● ిࢠ൛ͷֶशࢀߟॻ200࡭Ҏ্ ͕࢖͍์୊ɺʰStudyplusϒοΫ ಡΈ์୊ʱ΋ఏڙத

Slide 6

Slide 6 text

6 Studyplus for School ● ઌੜ͕ੜెͷ೔ʑͷษڧΛα ϙʔτͰ͖Δɺֶश؅ཧϓϥο τϑΥʔϜ ● toB޲͚ʹɺֶߍ΍ֶशक़ͳͲ ʹ޲͚ͯల։

Slide 7

Slide 7 text

StudyplusͱAdd-to-app ● 2021೥8݄͝Ζ͔Βར༻ ● ʰStudyplusϒοΫಡΈ์୊ʱͷॻ੶ϏϡʔΞʔͰ࠾༻ ○ ࠷ॳ͸FlutterΞϓϦέʔγϣϯ޲͚ʹ։ൃ ○ ϏϡʔΞʔػೳΛStudyplusʹ౷߹͢Δʹ͋ͨΓɺ
 Add-to-appͰAndroidͱiOSΞϓϦέʔγϣϯʹ௥Ճ 7

Slide 8

Slide 8 text

໨࣍ ● ຊηογϣϯʹ͍ͭͯ ● Add-to-appͱ͸ ● Add-to-appͷϝϦοτ ● Add-to-appͷσϝϦοτ ● Add-to-appͷઓ͍ํ 8

Slide 9

Slide 9 text

ຊηογϣϯͰ঺հ͢Δൣғ ● Flutter ○ ΄΅ղઆ͠·ͤΜ ○ 2022.11ʹFlutterKaigi͕։࠵͞Ε·͢ ● Add-to-app ○ ηογϣϯͷཧղʹඞཁͳൣғͰղઆ͠·͢ ○ ࡉ͔ͳ࿩͸FlutterͷGitHub Issue͔ηογϣϯͷ࣭໰ʹͯ 9

Slide 10

Slide 10 text

ຊηογϣϯͷର৅ ● FlutterʹΑΔΞϓϦέʔγϣϯΛ͢Ͱʹ։ൃ͍ͯ͠Δ ● Add-to-appΛ͢Ͱʹ࠾༻͍ͯ͠Δ ● Add-to-appͷ࠾༻Λݕ౼͍ͯ͠Δ ● Jetpack ComposeͱAdd-to-appͷͲͪΒΛ࠾༻͢Δ͔೰ΜͰ͍Δ 10

Slide 11

Slide 11 text

ຊηογϣϯͷର৅ ● FlutterʹΑΔΞϓϦέʔγϣϯΛ͢Ͱʹ։ൃ͍ͯ͠Δ ● Add-to-appΛ͢Ͱʹ࠾༻͍ͯ͠Δ ● Add-to-appͷ࠾༻Λݕ౼͍ͯ͠Δ ● Jetpack ComposeͱAdd-to-appͷͲͪΒΛ࠾༻͢Δ͔೰ΜͰ͍Δ 11

Slide 12

Slide 12 text

ຊηογϣϯͷ໨త Add-to-appΛར༻ͨ͠ΞϓϦέʔγϣϯ։ൃʹ͍ͭͯɺ
 ͭ·ΓAdd-to-appͷઓ͍ํʹ͍ͭͯ঺հ͠·͢ 12

Slide 13

Slide 13 text

2022೥ݱࡏʹAdd-to-appΛݕ౼͢Δࣄ৘ ● એݴతUIΛಋೖ͍ͨ͠ ● Material DesignΛiOSͰ࢖͍͍ͨ 13

Slide 14

Slide 14 text

2022೥ݱࡏʹAdd-to-appΛݕ౼͢Δࣄ৘ ● એݴతUIΛಋೖ͍ͨ͠ ○ Jetpack Compose/SwiftUIͰΑ͍ͷͰ͸……? ● Material DesignΛiOSͰ࢖͍͍ͨ ○ iOS޲͚ͳΒHIGʹ४ڌͨ͠ํ͕Α͍ͷͰ͸……? ○ (iOS޲͚ͷMDCͷ։ൃ͕ऴྃͨ͠ͷͰɺΞϦͱ͍͑͹ΞϦ) 14

Slide 15

Slide 15 text

2022೥ݱࡏʹAdd-to-appΛݕ౼͢Δࣄ৘ ● FlutterͰϦϓϨʔε͢ΔͷͰɺஈ֊తͳಋೖΛߦ͍͍ͨ ● ෳ਺ϓϥοτϑΥʔϜ޲͚ͷΞϓϦέʔγϣϯʹɺ
 ୯ҰͷιʔείʔυͰػೳΛ։ൃ͍ͨ͠ 15

Slide 16

Slide 16 text

Add-to-appͱ͸ 16

Slide 17

Slide 17 text

Add-to-appͷ֓ཁ ● FlutterͷViewΛAndroid΍iOSΞϓϦέʔγϣϯʹ૊ΈࠐΊΔػೳ ● 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

Slide 18

Slide 18 text

Add-to-appͷ֓ཁ ● Add-to-appͱ௨ৗͷFlutterΞϓϦέʔγϣϯ͸΄΅ಉ͡ ○ AndroidΞϓϦέʔγϣϯ಺ͰFlutterΛද͍ࣔͯ͠Δ͚ͩ ● FlutterͱJava/KotlinͷؒͰ͸Platform ChannelΛར༻ ○ Flutter͔ΒAndroid΍iOSͷػೳΛݺͼग़͢࢓૊Έ ○ JSONܗࣜͷStringΛར༻͢Ε͹େ఍ͷ͜ͱ͸Մೳ ○ Pigeon ■ https://pub.dev/packages/pigeon 18

Slide 19

Slide 19 text

Add-to-appͷ֓ཁ ● ϓϥάΠϯͷґଘؔ܎ͷ΍΍͜͠͞ ○ ωΠςΟϒΞϓϦέʔγϣϯͱɺAdd-to-appͷ྆ํ͕ґଘ͢Δ ○ όʔδϣϯͷ੔߹ੑ͕औΕΔঢ়ଶʹ͢Δඞཁ͕ੜ͡Δ ■ ྫ͑͹FirebaseΛಋೖ͢Δ৔߹ ■ ωΠςΟϒͱAdd-to-appͰಉ͡ϥΠϒϥϦΛࢀর͢Δέʔε 19

Slide 20

Slide 20 text

Add-to-appͷ֓ཁ ● Add-to-appͷ೉қ౓ ○ લड़ͷ஌ࣝͱFlutterͷ஌͕ࣝ͋Ε͹࢝ΊΒΕΔ ○ FlutterΛஈ֊తʹಋೖ͢Δख๏ͱͯ͠͸࠷ద 20

Slide 21

Slide 21 text

Add-to-appͷϝϦοτ 21

Slide 22

Slide 22 text

Add-to-appͷϝϦοτ ● ϩδοΫͷڞ௨ԽʹΑΔɺ࢓༷ɾ࣮૷ɾݕূίετͷ࡟ݮ ● ϓϥοτϑΥʔϜ͝ͱͰ͸ͳ͘ɺػೳ͝ͱͷ୲౰νʔϜ ● FlutterΛ࠾༻͢ΔϦεΫ΍՝୊ͷݕূΛɺখ࢝͘͞ΊΒΕΔ 22

Slide 23

Slide 23 text

࢓༷ɾ࣮૷ɾݕূίετͷ࡟ݮ ● ϓϥοτϑΥʔϜ͝ͱͷ࡞ۀ͕ෆཁʹͳΔέʔε͕͋Δ ○ ϓϥοτϑΥʔϜʹ߹Θͤͨػೳ΍ը໘σβΠϯ ○ KotlinͱSwiftͰߦ͍࣮ͬͯͨ૷ ○ ϓϥοτϑΥʔϜࠩҟ͕૊Έࠐ·Εͨݕূϑϩʔ 23

Slide 24

Slide 24 text

ػೳ͝ͱͷ୲౰νʔϜ ● ػೳʹରͯ͠ϓϥοτϑΥʔϜ͝ͱͷ୲౰ऀͰ͸ͳ͘ɺ
 ػೳʹରͯ͠ͷ୲౰ऀΛஔ͘͜ͱ͕Ͱ͖Δ ○ ։ൃऀ͕ػೳͷ࣮ݱʹ੹೚Λ࣋ͪ΍͘͢ͳΔ 24

Slide 25

Slide 25 text

FlutterΛ࠾༻͢ΔϦεΫ΍՝୊ͷݕূ ● Flutterͷ࠾༻Ͱൃੜ͢Δ՝୊ʹؾͮ͘͜ͱ͕Ͱ͖Δ ○ ϏδωεతʹɺωΠςΟϒͷSDKʹڧ͘ґଘ͍ͯ͠Δ͔΋ ○ ΞϓϦέʔγϣϯతʹɺύϑΥʔϚϯε͕ඇৗʹγϏΞ͔΋ ○ ։ൃνʔϜతʹɺFlutterΛֶͿ͜ͱ͕೉͍͔͠΋ 25

Slide 26

Slide 26 text

Add-to-appͷσϝϦοτ 26

Slide 27

Slide 27 text

Add-to-appͷσϝϦοτ ● FlutterΞϓϦέʔγϣϯͱͷৼΔ෣͍ࠩҟ ● Add-to-appͷΞοϓσʔτ஗Ε ● Ϗϧυ࣌ؒ΍(໰୊ൃੜ࣌ͷ)ௐࠪίετ૿Ճ 27

Slide 28

Slide 28 text

FlutterΞϓϦέʔγϣϯͱͷৼΔ෣͍ࠩҟ ● Flutter EngineͷΩϟογϡʹΑΔӨڹ ○ Ωϟογϡ͢ΔͱʰAdd-to-appͷView͕දࣔ͞Ε͍ͯͳ͍ʱ࣌ɺ
 Add-to-appͷView͕อ࣋͞ΕΔΑ͏ʹͳΔ ○ ը໘Λดͯ͡΋dispose͞Εͳ͍ͷͰɺঢ়ଶ؅ཧʹ޻෉͕ඞཁ ● Ωϟογϡ͕ͳ͚Ε͹໰୊͸·ͣੜ͡ͳ͍ ○ Ωϟογϡ͠ͳ͍৔߹͸ɺ্ཱ͕ͪ͛࣌ؒ஗͘ͳΔ 28

Slide 29

Slide 29 text

Add-to-appͷΞοϓσʔτ஗Ε ● Flutter޲͚ʹ։ൃ͞Εͨػೳ͕ɺAdd-to-appʹ൓ө͞ΕΔͷ͕஗͍ ○ ίʔυςϯϓϨʔτͳͲɺݟಀ͞Ε͕ͪͳ఺͕஗Ε΍͍͢ ○ Add-to-app಺Ͱݹ͍Kotlinʹґଘ͢ΔPluginΛར༻͢Δͱɺ
 ϏϧυͰ͖ͳ͍໰୊ͳͲ͕ൃੜ͢Δ͜ͱ͕͋Δ ■ https://github.com/flutter/flutter/issues/100613 29

Slide 30

Slide 30 text

Ϗϧυ࣌ؒ΍ௐࠪίετͷ૿Ճ ● Add-to-appΛಋೖ͢Δ͜ͱͰɺ໌֬ʹϏϧυ͕࣌ؒ૿Ճ͢Δ ○ ґଘϥΠϒϥϦ͕૿͑Δ ○ ΞϓϦέʔγϣϯαΠζ΋૿Ճ͢Δ ● ෆ۩߹ௐ͕ࠪ೉͍͠έʔε͕ଘࡏ͢Δ ○ ωΠςΟϒAPIΛར༻͍ͯ͠Δέʔε ○ AndroidɺiOSͷͲͪΒ͔ͷΈͰൃੜ͢Δέʔε 30

Slide 31

Slide 31 text

Add-to-appͷઓ͍ํ 31

Slide 32

Slide 32 text

Add-to-appͷઓ͍ํ ● લఏ৚݅Λݕ౼͢Δ ● ࡟ݮίετͱ૿ՃίετΛ೺Ѳ͢Δ ● Add-to-appͷະདྷΛ࡞Δ 32

Slide 33

Slide 33 text

લఏ৚݅Λݕ౼͢Δ ● Add-to-app͕༗ޮͳέʔεʹ֘౰͍ͯ͠Δ͔ ○ AndroidɺiOS޲͚ͷطଘΞϓϦ͕͋Δ͔ ○ ෳ਺ϓϥοτϑΥʔϜ޲͚ͷ։ൃ͕ɺෛ୲͔Ͳ͏͔ ● νʔϜϏϧσΟϯά͕໨తͷ৔߹͸ɺҰߟͷ༨஍͋Γ 33

Slide 34

Slide 34 text

࡟ݮίετͱ૿ՃίετΛ೺Ѳ͢Δ ● ࡟ݮίετ ○ ։ൃ޻਺ɺFlutterͰ։ൃͨ͠ػೳͷݕূ޻਺ ○ ։ൃʹؔΘΔίϛϡχέʔγϣϯͷෛ୲ ● ૿Ճίετ ○ ΞϓϦέʔγϣϯαΠζɺϏϧυ࣌ؒ ○ FlutterͷֶशɺAdd-to-appͷΩϟονΞοϓ 34

Slide 35

Slide 35 text

Add-to-appͷະདྷΛ࡞Δ ● Add-to-appͷχʔζ͕͋Δ͜ͱΛࣔ͞ͳ͚Ε͹ͳΒͳ͍ ○ Add-to-app׆༻ࣄྫͷެද΍ɺΞϯέʔτͰͷճ౴ ○ GitHub Issueͷ࡞੒΍upvoteʹΑΔҙࢥͷද໌ ● Add-to-app͸ܾͯ͠ओྲྀʹͳΒͳ͍ٕज़ 35

Slide 36

Slide 36 text

Add-to-appͷະདྷΛ࡞Δ ● Add-to-appͷχʔζ͕͋Δ͜ͱΛࣔ͞ͳ͚Ε͹ͳΒͳ͍ ○ Add-to-app׆༻ࣄྫͷެද΍ɺΞϯέʔτͰͷճ౴ ○ GitHub Issueͷ࡞੒΍upvoteʹΑΔҙࢥͷද໌ ● Add-to-app͸ܾͯ͠ओྲྀʹͳΒͳ͍ٕज़ ○ ͋͘·Ͱ΋ա౉ظʹར༻͢Δ΋ͷͱଊ͑Δ΂͖ 36

Slide 37

Slide 37 text

·ͱΊ ● Add-to-appͷ࠾༻ͷ໨తΛ໌֬ʹ ● Flutter͕։ൃ͢ΔΞϓϦέʔγϣϯʹ߹க͢Δ͔͸ཁݕূ ○ Add-to-appͰখ࢝͘͞ΊΔͷ͸ྑ͍બ୒ ○ Add-to-appʹΑΔίετ૿͸༧Ίݕ౼͓ͯ͘͠΂͖ ● Add-to-app͸ศར͕ͩɺ࠷దͳબ୒ࢶͱ͸ݶΒͳ͍ ○ Add-to-appΛղফ͢Δܭը͸ཱͯͨํ͕ྑ͍ ● Add-to-appͷ࠾༻ࣄྫ΍஌ݟͷڞ༗͸ੵۃతʹ 37

Slide 38

Slide 38 text

Thanks! 38