$30 off During Our Annual Pro Sale. View Details »

Flutterアプリ開発にネイティブコードはどこまで求められるのか

akatsuki174
September 12, 2022

 Flutterアプリ開発にネイティブコードはどこまで求められるのか

2022/09/12 iOSDC Japan 2022 day2

akatsuki174

September 12, 2022
Tweet

More Decks by akatsuki174

Other Decks in Programming

Transcript

  1. FlutterΞϓϦ։ൃʹ


    ωΠςΟϒίʔυ͸


    Ͳ͜·ͰٻΊΒΕΔͷ͔
    iOSDC Japan 2022 day2


    @akatsuki174
    ࠓ೥΋͕࣌ؒͳ͍͔Β͜͜ͷཝͰࣗݾ঺հ͍ͯ͘͠Ϥʂ

    View Slide

  2. ݁࿦
    ͍ͬͺ͍χίಈίϝϯτ͘ΕΑͳʂʂʂ

    View Slide

  3. ʢύοέʔδʹཔΕ͹ʣ


    ଟ͘ͷέʔεͰ


    ωΠςΟϒίʔυΛॻ͔ͣʹ


    ࣮૷Ͱ͖Δ
    ໊લɿਢ౻ຘ

    View Slide

  4. ۩ମྫ


    ʮFammϓϦϯτʯ
    ΞΧ΢ϯτɿ@akatsuki174

    View Slide

  5. iOSΤϯδχΞྺɿ్੾Εͭͭ7೥͘Β͍ʁ

    View Slide

  6. • ࣸਅϐοΧʔͷදࣔ


    • In-App Review


    • Sign in with Apple


    • Sign in with Google


    • ϓογϡ௨஌
    AndroidΤϯδχΞྺɿ໿3೥
    ωΠςΟϒ͕ؔ܎͋Γͦ͏ͳػೳ

    View Slide

  7. FlutterΤϯδχΞྺɿ໿൒೥
    ࣸਅϐοΧʔͷදࣔ

    View Slide

  8. ࠷ۙ͸Flutter8ׂɺiOS1ׂɺAndroid1ׂ͘Β͍…ʁ
    In-App Review

    View Slide

  9. ॴଐɿגࣜձࣾTimers
    Sign in with Apple / Sign in with Google

    View Slide

  10. جຊతʹϑϧϦϞʔτͰۈ຿த
    ϓογϡ௨஌

    View Slide

  11. ڈ೥ୈҰࢠग़࢈👶
    ͜ͷϓϩϙʔβϧΛॻ͍ͨ౰࣌

    View Slide

  12. ࠓ೥౓ϑϧλΠϜ෮ؼ
    ࣗ෼ͨͪͰॻ͍ͨωΠςΟϒίʔυ͸


    ΄΅0%

    View Slide

  13. ࠷ۙͷଉࢠͷϒʔϜɿʢָثͷํͷʣΩʔϘʔυ͍͡Γ
    ࠓݱࡏ͸5%Ҏ಺͘Β͍

    View Slide

  14. • ਖ਼֬ʹݴ͏ͱɺαʔυύʔςΟͷpackageʢiOSͰݴ͏ͱ͜Ζͷɹ
    ϥΠϒϥϦʣ͕ඇৗʹॆ࣮͍ͯͯ͠ɺࣗ෼Ͱॻ͘ඞཁ͕͋·Γͳ͍
    iOSDC Japan 2022 ίΞελοϑ
    ͑ɺ͜Μͳগͳ͍ͷʁʁ

    View Slide

  15. • sign_in_with_apple


    • sing_in_with_google
    ίΞελοϑྺɿ2017-2020, 2022೥ͷܭ5ճ
    ೝূ

    View Slide

  16. • in_app_review
    iOSDC Japanͷελοϑͨͪ͸໌Δͯ͘ΞοτϗʔϜͰ͢ʢདྷ೥ͥͻελοϑࢀՃΛʂʣ
    ϨϏϡʔґཔ

    View Slide


  17. fl
    utter_native_image



    fl
    utter_image_compress
    iOSDCޙʹ΍Γ͍ͨ͜ͱɿ🦑3
    ը૾ѹॖ

    View Slide

  18. • ΧϝϥͰΫϨδοτΧʔυ൪߸ಡΈऔΓ


    • ࢖͍͍ͨSDK͕FlutterରԠ͞Ε͍ͯͳ͔ͬͨͨΊ
    ࠷ۙେมͩͬͨ͜ͱɿ͜ͷొஃࢿྉ࡞Γʢ಺༰ʴ͜ͷࣗݾ঺հͷωλग़͠...ʣ
    ωΠςΟϒίʔυॻ͍ͯΔՕॴ

    View Slide

  19. • Image.toByteDataͷ෦෼


    • ը૾ੜ੒ͳͲͰ࢖༻͍ͯ͠Δ͕஗͍


    • ωΠςΟϒͱൺ΂Δͱ10ഒ͘Β͍ͷ͕ࠩ͋ΔͬΆ͍
    ࣥචએ఻ɿڈ೥WEB+DB PRESSͰiOS 15ಛूॻ͍͔ͨΒݟͯͶʂ
    ͪͳΈʹɿকདྷωΠςΟϒͰॻ͖͍ͨͱ͜Ζ

    View Slide

  20. • PlatformChannelsͱ͍͏࢓૊ΈΛ࢖͏


    • ωΠςΟϒଆͰॻ͍ͨίʔυΛFlutterଆͰݺͼग़͢


    • ެࣜͷྫΛݩʹઆ໌


    • https://docs.
    fl
    utter.dev/development/platform-integration/
    platform-channels
    ωλ੾Εͨ...ʢεϥΠυଟ͍ͳʣ
    ωΠςΟϒAPIʹΞΫηε͢Δʹ͸

    View Slide

  21. ͜ͷ͋ͱ1֊ͷަྲྀεϖʔεͰ͓ձ͍͠·͠ΐ͏ʂ
    IUUQT
    fl
    VUUFSEFWEPDT
    EFWFMPQNFOUQMBUGPSNJOUFHSBUJPO
    QMBUGPSNDIBOOFMT

    View Slide

  22. fortee͔ΒͷτʔΫϑΟʔυόοΫ΋ΑΖ͓͘͠ئ͍͠·͢ʂ
    Flutterଆ

    View Slide

  23. Flutterɺͥͻ৮ͬͯΈͯͶʂ໘ന͍Αʂ
    Flutterଆ

    View Slide

  24. ࢒Γগ͠ͱͳͬͨiOSDC Japan 2022ɺଘ෼ʹָ͠Έ·͠ΐ͏ʂʂʂ
    Swiftଆ

    View Slide

  25. ٩( 'ω' )و ͓ʔʂ
    Swiftଆ

    View Slide

  26. • ศརͳύοέʔδ͕ଟ਺ग़͍ͯΔͷͰɺࣗ෼ͰωΠςΟϒίʔυΛ
    ॻ͔ͳͯ͘΋ଟ͘ͷػೳΛ࣮ݱͰ͖ΔΑ


    • ͽͬͨΓͷύοέʔδ͕ͳͯ͘΋ɺPlatformChannelsΛ࢖͑͹ɹɹ
    ωΠςΟϒίʔυΛݺͼग़ͤΔΑ
    ٩( 'ω' )و ͓ʔʔʔʂ
    ·ͱΊ

    View Slide

  27. • ͜ͷεϥΠυࢿྉ


    • ͢ͰʹTwitterʹΞοϓ͍ͯ͠Δ͸ͣ


    • จࣈ൛ొஃࢿྉ


    • ޙ೔ձࣾͷςοΫϒϩάͰެ։༧ఆ


    • TimersςοΫϒϩάΛνΣοΫͯ͠Ͷʂ
    ΍Γ੾ͬͨͥʂʂʂʂʂ
    ొஃࢿྉ

    View Slide

  28. • αʔόʔαΠυΤϯδχΞ (PHP, Golang, AWS)


    • AndroidΤϯδχΞ (Kotlin)


    • iOSΤϯδχΞ (Swift)
    TimersͰ͸ݱࡏΤϯδχΞશ৬छ࠾༻தʂ

    ৄ͘͠͸”Timers”Ͱݕࡧ

    View Slide

  29. ͝ਗ਼ௌ


    ͋Γ͕ͱ͏͍͟͝·ͨ͠ʂ

    View Slide