Upgrade to Pro — share decks privately, control downloads, hide ads and more …

FlutterKaigi 2022 Keynote

FlutterKaigi 2022 Keynote

Daichi Furiya (Wasabeef)

November 16, 2022
Tweet

More Decks by Daichi Furiya (Wasabeef)

Other Decks in Programming

Transcript

  1. Daichi Furiya
    A Deep Dive Into


    Flutter Community
    #FlutterKaigi


    Nov 16-18, 2022

    View Slide

  2. About me
    Daichi Furiya (߱໼ େ஍)
    Google Developers Expert
    CyberAgent, Inc.
    @wasabeef_jp wasabeef

    View Slide

  3. Agenda
    • History of Flutter


    • Apps made with Flutter


    • Community(-led) Growth

    View Slide

  4. History of Flutter

    View Slide

  5. History of Flutter
    1.0
    2018/12
    0.1
    2018/03
    2017 2022
    2018/12 Flutter 1.0 ϦϦʔε


    • Flutter ͷओͳಛ௃͸ඒ͍͠ΞϓϦΛΫϩεϓϥοτϑΥʔϜͰ࡞੒ՄೳͰ͋Γɺඳը͕ૣ͘ɺ։ൃੜ࢈ੑ
    Λ޲্ͤ͞ɺϥΠηϯεΛΦʔϓϯʹ͢Δ͜ͱɻ


    • ػೳ໘Ͱ͸ Add to App ΍ Platform Views ͳͲΛαϙʔτ͠ɺطଘͷΞϓϦΛஈ֊తʹ Flutter ʹม׵͍ͯ͠
    ͨ͘ΊͷػೳΛ௥Ճͨ͠ɻ


    • Project Hummingbird ͱ͍͏໊শͰ Flutter Web ࣮૷࣮ݧΛ։࢝ͨ͜͠ͱΛൃදͨ͠ɻ
    https://developers.googleblog.com/2018/12/
    fl
    utter-10-googles-portable-ui-toolkit.html

    View Slide

  6. History of Flutter
    1.0
    2018/12
    0.1
    2018/03
    2017 2022
    1.2
    2019/02
    https://medium.com/@csells_18027


    https://medium.com/@timsneath
    2019/02 Flutter 1.2 ϦϦʔε


    • Dart DevTools ͷొ৔


    σόοά΍ύϑΥʔϚϯεͷܭଌπʔϧ

    View Slide

  7. History of Flutter
    1.0
    2018/12
    0.1
    2018/03
    2017 2022
    1.2
    2019/02
    https://medium.com/@csells_18027


    https://medium.com/@timsneath
    1.5
    2019/05
    2019/05 Flutter 1.5 ϦϦʔε


    • In-App Purchase plugin ͰΞϓϦ಺՝ۚͷػೳΛఏڙ։࢝

    View Slide

  8. History of Flutter
    1.0
    2018/12
    0.1
    2018/03
    2017 2022
    1.2
    2019/02
    https://medium.com/@csells_18027


    https://medium.com/@timsneath
    1.5
    2019/05
    1.12
    2019/12
    2019/12 Flutter 1.12 ϦϦʔε


    • iOS 13 Dark mode ͷαϙʔτ


    • macOS σεΫτοϓͷαϙʔτ͕ΞϧϑΝ൛΁Ҡߦ


    • Dart 2.7 Ͱ Null Safety ͷϓϨϏϡʔΛެ։

    View Slide

  9. History of Flutter
    1.0 2.0


    2018/12
    0.1
    2018/03 2021/03
    2017 2022
    1.2
    2019/02
    https://medium.com/@csells_18027


    https://medium.com/@timsneath
    1.5
    2019/05
    1.12
    2019/12
    2021/03 Flutter 2.0 ϦϦʔε


    • Windows, macOS, Linux ͕҆ఆԽ


    • Flutter Web ͷ Production Ready ͱͳΔ


    • Dart 2.12 ΛؚΉ Null Safety ͷରԠͱϚΠάϨʔγϣϯ
    πʔϧͷఏڙ


    • Dart 2.12 Ͱ FFI ͕ Stable ʹͳΔ

    View Slide

  10. History of Flutter
    1.0 2.0


    2018/12
    0.1
    2018/03 2021/03
    2017 2022
    1.2
    2019/02 2021/05
    2.2
    https://medium.com/@csells_18027


    https://medium.com/@timsneath
    1.5
    2019/05
    1.12
    2019/12
    2021/05 Flutter 2.2 ϦϦʔε


    • Null Safety ͷσϑΥϧτԽ


    • FlutterFlow ͷൃදʢϒϥ΢β্Ͱ UI ߏஙʣ


    • iOS γΣʔμʔίϯύΠϧͷվળ


    • Dart 2.13 Ͱ type aliases ͷ௥Ճ

    View Slide

  11. History of Flutter
    1.0 2.0


    2018/12
    0.1
    2018/03 2021/03
    2017 2022
    1.2
    2019/02 2021/05
    2.2 2.8
    2021/12
    https://medium.com/@csells_18027


    https://medium.com/@timsneath
    1.5
    2019/05
    1.12
    2019/12
    2021/12 Flutter 2.8 ϦϦʔε


    • Android Pro
    fi
    le ͷ࿈ܞ


    • ύϑΥʔϚϯεͷվળ


    • WebView ͷվળ


    • FlutterFire ͕҆ఆԽ


    • ήʔϜΤϯδϯ Flame 1.0 ͷొ৔

    View Slide

  12. History of Flutter
    1.0 2.0


    2018/12
    0.1
    2018/03 2021/03
    2017 2022
    1.2
    2019/02 2021/05
    2.2 2.8
    2021/12
    https://medium.com/@csells_18027


    https://medium.com/@timsneath
    2.10
    2022/01
    1.5
    2019/05
    1.12
    2019/12
    2022/01 Flutter 2.10 ϦϦʔε


    • Windows αϙʔτͷ҆ఆԽ


    • ύϑΥʔϚϯε޲্


    • Material 3 ΁ͷҠߦ։࢝

    View Slide

  13. History of Flutter
    1.0 2.0


    2018/12
    0.1
    2018/03 2021/03
    3.0


    2022/05
    2017 2022
    1.2
    2019/02 2021/05
    2.2 2.8
    2021/12
    https://medium.com/@csells_18027


    https://medium.com/@timsneath
    2.10
    2022/01
    1.5
    2019/05
    1.12
    2019/12
    2022/05 Flutter 3.0 ϦϦʔε


    • macOS ͱ Linux αϙʔτͷ҆ఆԽ


    • Foldable Phone ͷαϙʔτ


    • iOSͷՄมϦϑϨογϡϨʔτʹରԠ


    • ύϑΥʔϚϯεͷ޲্


    • iOS ޲͚ Impeller ʢάϥϑΟοΫΤϯδϯʣͷ࣮ݧతҊ
    ϓϨϏϡʔఏڙΛ։࢝


    • Casual Game Toolkit ͷൃද

    View Slide

  14. History of Flutter
    1.0 2.0


    2018/12
    0.1
    2018/03 2021/03
    3.0


    2022/05
    3.3


    2022/08
    2017 2022
    1.2
    2019/02 2021/05
    2.2 2.8
    2021/12
    https://medium.com/@csells_18027


    https://medium.com/@timsneath
    2.10
    2022/01
    1.5
    2019/05
    1.12
    2019/12
    2022/08 Flutter 3.3 ϦϦʔε


    • iOS ޲͚ Impeller ʢάϥϑΟοΫΤϯδϯʣͷվળ


    • Wonderous ৽͍͠ϦϑΝϨϯεΞϓϦͷެ։

    View Slide

  15. Impeller
    • iOS ͷඳըύϑΥʔϚϯε໰୊ʢShader compilation jankʣ


    ݱߦͷ Skia Ͱ͸ΞϓϦॳճىಈ࣌ʹγΣʔμʔίϯύΠϧ͕ߦΘΕɺॳճى
    ಈ࣌͸਺ेϑϨʔϜͷܽམ͢Δ͜ͱ͕͋Δ͕ɺͦΕҎ߱͸Ωϟογϡ͞Ε׈Β
    ͔ͳΞχϝʔγϣϯʹͳΔɻ


    ͔͠͠ɺAndroid ͸ͦΕ͕Մೳ͕ͩ iOS ͷ৔߹͸ΞϓϦΛ࠷ॳ͔Β։ͨ͘ͼʹ
    ߦΘΕͯ͠·͏ɻʢΩϟογϡϑΝΠϧΛຒΊࠐΉ͜ͱ΋Ͱ͖Δ͕ʣ

    View Slide

  16. Impeller
    • ৽͍͠άϥϑΟοΫΤϯδϯͷ ʮImpellerʯ


    Skia ͷύϑΥʔϚϯε໰୊Λղܾ͢ΔͨΊʹݱࡏάϥϑΟοΫΤϯδϯͷॻ͖
    ׵͕͑ߦΘΕ͍ͯΔɻͦΕ͸ҎԼ͕ߦΘΕղܾ͢Δ΋ͷ


    → γΣʔμʔίϯύΠϧΛΞϓϦϏϧυ࣌ʹΦϑϥΠϯͰ࣮ߦ


    → ΞχϝʔγϣϯΛΩϟϓνϟ͠ɺσΟεΫʹӬଓԽ


    → Metal ΍ Vulkan ͳͲͷϞμϯ API ʹରԠ


    → ฒߦॲཧΛޮՌతʹར༻

    View Slide

  17. Try Impeller
    FLTEnableImpeller
    < /
    key>


    />


    android:name="io.flutter.embedding.android.EnableImpeller"


    android:value="true"
    />
    $ flutter run
    --
    enable-impeller
    iOS: Info.plist
    Android: AndroidManifest.xml
    https://github.com/
    fl
    utter/
    fl
    utter/wiki/Impeller
    Master channel

    View Slide

  18. Wonderous
    https://
    fl
    utter.gskinner.com/wonderous/

    View Slide

  19. Apps made with Flutter
    500k+


    apps created
    2m+


    developers
    25k+


    Flutter & Dart


    packages
    1k+


    Every day, new apps

    View Slide

  20. Flutter apps in production - Japan

    View Slide

  21. Flutter apps in production - Worldwide

    View Slide

  22. Growth
    গ਺೿ͷٕज़෼໺Λൃలͤ͞ΔͨΊʹ͸..

    View Slide

  23. গ਺೿ͷٕज़෼໺Λൃలͤ͞ΔͨΊʹ͸..
    • ੵۃతʹϓϩμΫτʹ Flutter Λ࠾༻͢Δ


    • ϒϩά΍ษڧձͳͲͰ৘ใΛൃ৴͠஌ݟΛڞ༗͢Δ


    • ଞͷٕज़৘ใ΋ΩϟονΞοϓ͢Δ


    • OSS ͷ։ൃΛੵۃతʹ͢Δ

    View Slide

  24. ੵۃతʹϓϩμΫτʹ Flutter Λ࠾༻͢Δ
    • Kotlin/Swift ʹൺ΂Δͱ Flutter Λ࠾༻͢Δ͜ͱ͸


    ϦεΫͷ͋ΔߦಈʹͳΔ


    → ΞϓϦͷಈ࡞҆ఆੑ


    → Flutter ͷকདྷੑ


    View Slide

  25. ੵۃతʹϓϩμΫτʹ Flutter Λ࠾༻͢Δ
    • ͦͷϦεΫͷ͋ΔߦಈͷϦλʔϯΛߟ͑Δ


    → ։ൃ޻਺ͷ࡟ݮ


    → Flutter ࣗମͷൃల


    ὎ ϦεΫͷܰݮ

    View Slide

  26. Flutter ͷൃలͱϦεΫͷܰݮ
    Stabilization
    Growth
    Flutter ͷൃల͕ Flutter ͷ҆ఆʹܨ͕Δ

    View Slide

  27. ϒϩά΍ษڧձͳͲͰ৘ใΛൃ৴͠஌ݟΛڞ༗͢Δ
    • ίϛϡχςΟ͕ൃల͢Δ͜ͱͰ։ൃޮ཰ͷ޲্΍࠾
    ༻೉қ౓͕௿ݮ͢Δ


    → ஫໨౓ͷҡ࣋


    → αϯϓϧίʔυͷ୳͠΍͢͞


    → ॳֶऀͷड͚ೖΕ΍͢͞

    View Slide

  28. ίϛϡχςΟͷൃలΛ્֐͢Δߦಈͱ͸..
    • ϒϩά΍ Qiita ͳͲʹ౤ߘ͞Εͨ಺༰ʹରͯ͠ڧ͍
    ݴ༿Ͱશ൱ఆͷҙݟΛͿ͚ͭΔ


    → ΞʔΩςΫνϟ౳ͷશ൱ఆ


    ὎ ϒϩά਺ͷݮগ


    ὎ ॳֶऀ͕ܟԕ

    View Slide

  29. ଞͷٕज़৘ใ΋ΩϟονΞοϓ͢Δ
    • ReactɺSwiftUIɺJetpack Compose पลͷٕज़Λ
    ΩϟονΞοϓ͠ɺͦΕΒͷྑ͍ͱ͜ΖΛ Flutter
    ʹऔΓೖΕͨΓڭ͑ͨΓͱྑ͍૬ޓ࡞༻ΛੜΉ


    → ΞʔΩςΫνϟΛߟ͑Δ࣌ʹ


    React ΤϯδχΞʹڭ͑ͯ΋Β͏

    View Slide

  30. OSS ͷ։ൃΛੵۃతʹ͢Δ
    • Flutter ͰόάΛൃݟͨ͠৔߹ʹ Issue ཱͯͨΓɺOSS
    Λ࡞Δ͜ͱͰੈͷதͷ։ൃ޻਺࡟ݮʹߩݙͯ͠ΈΔ


    → ։ൃ޻਺ͷ࡟ݮ


    → ΞϓϦͷಈ࡞҆ఆੑ


    → ॳֶऀͷड͚ೖΕ΍͢͞

    View Slide

  31. A community open to everyone
    r/FlutterDev


    https://discord.com/invite/N7Yshp4
    Google Developers Online


    https://t.co/qXZdmipQpt
    FlutterDev


    https://www.reddit.com/r/FlutterDev/
    Flutter Community


    https://
    fl
    uttercommunity.slack.com/
    Flutter


    https://twitter.com/i/communities/1472249315724771329

    View Slide

  32. wasabeef_jp
    wasabeef
    Thank you

    View Slide