Slide 1

Slide 1 text

Daichi Furiya A Deep Dive Into Flutter Community #FlutterKaigi Nov 16-18, 2022

Slide 2

Slide 2 text

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

Slide 3

Slide 3 text

Agenda • History of Flutter • Apps made with Flutter • Community(-led) Growth

Slide 4

Slide 4 text

History of Flutter

Slide 5

Slide 5 text

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

Slide 6

Slide 6 text

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 ͷొ৔ σόοά΍ύϑΥʔϚϯεͷܭଌπʔϧ

Slide 7

Slide 7 text

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 ͰΞϓϦ಺՝ۚͷػೳΛఏڙ։࢝

Slide 8

Slide 8 text

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 ͷϓϨϏϡʔΛެ։

Slide 9

Slide 9 text

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 ʹͳΔ

Slide 10

Slide 10 text

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 ͷ௥Ճ

Slide 11

Slide 11 text

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 ͷొ৔

Slide 12

Slide 12 text

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 ΁ͷҠߦ։࢝

Slide 13

Slide 13 text

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 ͷൃද

Slide 14

Slide 14 text

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 ৽͍͠ϦϑΝϨϯεΞϓϦͷެ։

Slide 15

Slide 15 text

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


Slide 16

Slide 16 text

Impeller • ৽͍͠άϥϑΟοΫΤϯδϯͷ ʮImpellerʯ 
 
 Skia ͷύϑΥʔϚϯε໰୊Λղܾ͢ΔͨΊʹݱࡏάϥϑΟοΫΤϯδϯͷॻ͖ ׵͕͑ߦΘΕ͍ͯΔɻͦΕ͸ҎԼ͕ߦΘΕղܾ͢Δ΋ͷ → γΣʔμʔίϯύΠϧΛΞϓϦϏϧυ࣌ʹΦϑϥΠϯͰ࣮ߦ → ΞχϝʔγϣϯΛΩϟϓνϟ͠ɺσΟεΫʹӬଓԽ → Metal ΍ Vulkan ͳͲͷϞμϯ API ʹରԠ → ฒߦॲཧΛޮՌతʹར༻

Slide 17

Slide 17 text

Try Impeller FLTEnableImpeller < / key> $ flutter run -- enable-impeller iOS: Info.plist Android: AndroidManifest.xml https://github.com/ fl utter/ fl utter/wiki/Impeller Master channel

Slide 18

Slide 18 text

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

Slide 19

Slide 19 text

Apps made with Flutter 500k+ apps created 2m+ developers 25k+ Flutter & Dart packages 1k+ Every day, new apps

Slide 20

Slide 20 text

Flutter apps in production - Japan

Slide 21

Slide 21 text

Flutter apps in production - Worldwide

Slide 22

Slide 22 text

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

Slide 23

Slide 23 text

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

Slide 24

Slide 24 text

ੵۃతʹϓϩμΫτʹ Flutter Λ࠾༻͢Δ • Kotlin/Swift ʹൺ΂Δͱ Flutter Λ࠾༻͢Δ͜ͱ͸ ϦεΫͷ͋ΔߦಈʹͳΔ → ΞϓϦͷಈ࡞҆ఆੑ → Flutter ͷকདྷੑ

Slide 25

Slide 25 text

ੵۃతʹϓϩμΫτʹ Flutter Λ࠾༻͢Δ • ͦͷϦεΫͷ͋ΔߦಈͷϦλʔϯΛߟ͑Δ → ։ൃ޻਺ͷ࡟ݮ → Flutter ࣗମͷൃల ὎ ϦεΫͷܰݮ

Slide 26

Slide 26 text

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

Slide 27

Slide 27 text

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

Slide 28

Slide 28 text

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

Slide 29

Slide 29 text

ଞͷٕज़৘ใ΋ΩϟονΞοϓ͢Δ • ReactɺSwiftUIɺJetpack Compose पลͷٕज़Λ ΩϟονΞοϓ͠ɺͦΕΒͷྑ͍ͱ͜ΖΛ Flutter ʹऔΓೖΕͨΓڭ͑ͨΓͱྑ͍૬ޓ࡞༻ΛੜΉ → ΞʔΩςΫνϟΛߟ͑Δ࣌ʹ React ΤϯδχΞʹڭ͑ͯ΋Β͏

Slide 30

Slide 30 text

OSS ͷ։ൃΛੵۃతʹ͢Δ • Flutter ͰόάΛൃݟͨ͠৔߹ʹ Issue ཱͯͨΓɺOSS Λ࡞Δ͜ͱͰੈͷதͷ։ൃ޻਺࡟ݮʹߩݙͯ͠ΈΔ → ։ൃ޻਺ͷ࡟ݮ → ΞϓϦͷಈ࡞҆ఆੑ → ॳֶऀͷड͚ೖΕ΍͢͞

Slide 31

Slide 31 text

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

Slide 32

Slide 32 text

wasabeef_jp wasabeef Thank you