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

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
  2. About me Daichi Furiya (߱໼ େ஍) Google Developers Expert CyberAgent,

    Inc. @wasabeef_jp wasabeef
  3. Agenda • History of Flutter • Apps made with Flutter

    • Community(-led) Growth
  4. History of Flutter

  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
  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 ͷొ৔ σόοά΍ύϑΥʔϚϯεͷܭଌπʔϧ
  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 ͰΞϓϦ಺՝ۚͷػೳΛఏڙ։࢝
  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 ͷϓϨϏϡʔΛެ։
  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 ʹͳΔ
  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 ͷ௥Ճ
  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 ͷొ৔
  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 ΁ͷҠߦ։࢝
  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 ͷൃද
  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 ৽͍͠ϦϑΝϨϯεΞϓϦͷެ։
  15. Impeller • iOS ͷඳըύϑΥʔϚϯε໰୊ʢShader compilation jankʣ 
 
 ݱߦͷ Skia

    Ͱ͸ΞϓϦॳճىಈ࣌ʹγΣʔμʔίϯύΠϧ͕ߦΘΕɺॳճى ಈ࣌͸਺ेϑϨʔϜͷܽམ͢Δ͜ͱ͕͋Δ͕ɺͦΕҎ߱͸Ωϟογϡ͞Ε׈Β ͔ͳΞχϝʔγϣϯʹͳΔɻ 
 
 ͔͠͠ɺAndroid ͸ͦΕ͕Մೳ͕ͩ iOS ͷ৔߹͸ΞϓϦΛ࠷ॳ͔Β։ͨ͘ͼʹ ߦΘΕͯ͠·͏ɻʢΩϟογϡϑΝΠϧΛຒΊࠐΉ͜ͱ΋Ͱ͖Δ͕ʣ 

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

    γΣʔμʔίϯύΠϧΛΞϓϦϏϧυ࣌ʹΦϑϥΠϯͰ࣮ߦ → ΞχϝʔγϣϯΛΩϟϓνϟ͠ɺσΟεΫʹӬଓԽ → Metal ΍ Vulkan ͳͲͷϞμϯ API ʹରԠ → ฒߦॲཧΛޮՌతʹར༻
  17. Try Impeller <key>FLTEnableImpeller < / key> <true /> <meta-data 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
  18. Wonderous https:// fl utter.gskinner.com/wonderous/

  19. Apps made with Flutter 500k+ apps created 2m+ developers 25k+

    Flutter & Dart packages 1k+ Every day, new apps
  20. Flutter apps in production - Japan

  21. Flutter apps in production - Worldwide

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

  23. গ਺೿ͷٕज़෼໺Λൃలͤ͞ΔͨΊʹ͸.. • ੵۃతʹϓϩμΫτʹ Flutter Λ࠾༻͢Δ • ϒϩά΍ษڧձͳͲͰ৘ใΛൃ৴͠஌ݟΛڞ༗͢Δ • ଞͷٕज़৘ใ΋ΩϟονΞοϓ͢Δ •

    OSS ͷ։ൃΛੵۃతʹ͢Δ
  24. ੵۃతʹϓϩμΫτʹ Flutter Λ࠾༻͢Δ • Kotlin/Swift ʹൺ΂Δͱ Flutter Λ࠾༻͢Δ͜ͱ͸ ϦεΫͷ͋ΔߦಈʹͳΔ →

    ΞϓϦͷಈ࡞҆ఆੑ → Flutter ͷকདྷੑ
  25. ੵۃతʹϓϩμΫτʹ Flutter Λ࠾༻͢Δ • ͦͷϦεΫͷ͋ΔߦಈͷϦλʔϯΛߟ͑Δ → ։ൃ޻਺ͷ࡟ݮ → Flutter ࣗମͷൃల

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

  27. ϒϩά΍ษڧձͳͲͰ৘ใΛൃ৴͠஌ݟΛڞ༗͢Δ • ίϛϡχςΟ͕ൃల͢Δ͜ͱͰ։ൃޮ཰ͷ޲্΍࠾ ༻೉қ౓͕௿ݮ͢Δ → ஫໨౓ͷҡ࣋ → αϯϓϧίʔυͷ୳͠΍͢͞ → ॳֶऀͷड͚ೖΕ΍͢͞

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

    ὎ ॳֶऀ͕ܟԕ
  29. ଞͷٕज़৘ใ΋ΩϟονΞοϓ͢Δ • ReactɺSwiftUIɺJetpack Compose पลͷٕज़Λ ΩϟονΞοϓ͠ɺͦΕΒͷྑ͍ͱ͜ΖΛ Flutter ʹऔΓೖΕͨΓڭ͑ͨΓͱྑ͍૬ޓ࡞༻ΛੜΉ → ΞʔΩςΫνϟΛߟ͑Δ࣌ʹ

    React ΤϯδχΞʹڭ͑ͯ΋Β͏
  30. OSS ͷ։ൃΛੵۃతʹ͢Δ • Flutter ͰόάΛൃݟͨ͠৔߹ʹ Issue ཱͯͨΓɺOSS Λ࡞Δ͜ͱͰੈͷதͷ։ൃ޻਺࡟ݮʹߩݙͯ͠ΈΔ → ։ൃ޻਺ͷ࡟ݮ

    → ΞϓϦͷಈ࡞҆ఆੑ → ॳֶऀͷड͚ೖΕ΍͢͞
  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
  32. wasabeef_jp wasabeef Thank you