Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Flutterビギナーのための Widget完全攻略
Search
watanave
April 24, 2024
Programming
0
28
Flutterビギナーのための Widget完全攻略
watanave
April 24, 2024
Tweet
Share
More Decks by watanave
See All by watanave
Figma Dev Modeで変わる!Flutterの開発体験
watanave
0
3.9k
Flutter実践開発に書かなかったこと
watanave
0
23
決めず、語らずのリーダーシップ
watanave
0
450
複数プロジェクトを横断するゆめみテックリードの戦略
watanave
0
120
Androidエンジニア目線のKMM / iOSエンジニア目線のKMM
watanave
0
340
Why does Activity die soon?
watanave
0
340
Anko試食会
watanave
0
2.4k
Other Decks in Programming
See All in Programming
BEエンジニアがFEの業務をできるようになるまでにやったこと
yoshida_ryushin
0
260
Lookerは可視化だけじゃない。UIコンポーネントもあるんだ!
ymd65536
1
140
時計仕掛けのCompose
mkeeda
1
190
Amazon Nova Reelの可能性
hideg
0
250
Moscow Python Meetup №97. Константин Крестников (Техлид команды GigaChain (SberDevices)). GigaChain: Новые инструменты для разработки агентов на примере агента техподдержки
moscowdjango
PRO
0
100
ecspresso, ecschedule, lambroll を PipeCDプラグインとして動かしてみた (プロトタイプ) / Running ecspresso, ecschedule, and lambroll as PipeCD Plugins (prototype)
tkikuc
2
2.3k
ASP.NET Core の OpenAPIサポート
h455h1
0
160
React 19でお手軽にCSS-in-JSを自作する
yukukotani
5
600
AHC041解説
terryu16
0
540
AWS re:Invent 2024個人的まとめ
satoshi256kbyte
0
150
ゼロからの、レトロゲームエンジンの作り方
tokujiros
3
1.2k
Java Webフレームワークの現状 / java web framework at burikaigi
kishida
9
2k
Featured
See All Featured
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
160
15k
Done Done
chrislema
182
16k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
7
600
How GitHub (no longer) Works
holman
312
140k
Learning to Love Humans: Emotional Interface Design
aarron
274
40k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
192
16k
How to Think Like a Performance Engineer
csswizardry
22
1.3k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
280
13k
Git: the NoSQL Database
bkeepers
PRO
427
64k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Navigating Team Friction
lara
183
15k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
132
33k
Transcript
FlutterϏΪφʔͷͨΊͷ Widgetશ߈ུ 2024/04/24 Yohta Watanave
w ෦ཅଠʢΑʔͨΜʣ w גࣜձࣾΏΊΈٕज़୲औక w ஶॻ'MVUUFS࣮ફ։ൃ w !ZPIUB@XBUBOBWF Who am
I
w 'MVUUFSͬͯφχʁ w ڥߏஙͷཁ w 8JEHFUલฤ w 8JEHFUޙฤ ΞδΣϯμ
Flutterͬͯφχʁ
w ϚϧνϓϥοτϑΥʔϜϑϨʔϜϫʔΫ w ։ൃݴޠ%BSU w ։ൃऀମݧ͕ྑ͍ w ҆ఆ͍ͯ͠Δ Flutterͬͯφχʁ
wϚϧνϓϥοτϑΥʔϜϑϨʔϜϫʔΫ w ։ൃݴޠ%BSU w ։ൃऀମݧ͕ྑ͍ w ҆ఆ͍ͯ͠Δ Flutterͬͯφχʁ
w ϚϧνϓϥοτϑΥʔϜϑϨʔϜϫʔΫ w։ൃݴޠ%BSU w ։ൃऀମݧ͕ྑ͍ w ҆ఆ͍ͯ͠Δ Flutterͬͯφχʁ
None
None
None
None
w ϚϧνϓϥοτϑΥʔϜϑϨʔϜϫʔΫ w ։ൃݴޠ%BSU w։ൃऀମݧ͕ྑ͍ w ҆ఆ͍ͯ͠Δ Flutterͬͯφχʁ
None
None
w ϚϧνϓϥοτϑΥʔϜϑϨʔϜϫʔΫ w ։ൃݴޠ%BSU w ։ൃऀମݧ͕ྑ͍ w҆ఆ͍ͯ͠Δ Flutterͬͯφχʁ
ϚϧνϓϥοτϑΥʔϜͰ ਏ͍ࢥ͍Λͨ͠ํ͍·ͤΜ͔ʁ
w ϚϧνϓϥοτϑΥʔϜٕज़ൟӫͱਰୀͷ܁Γฦ͠ w ͜͜৽͍͠Έͷͷ͕ݱΕͨ w 'MVUUFSͦͷதͷҰͭ ϚϧνϓϥοτϑΥʔϜͷྺ࢙
ैདྷ͔Β͋ΔϚϧνϓϥοτϑΥʔϜ J1IPOF "OESPJE ࢲ͕࣮ͨͪ͢Δ ϑϨʔϜʔϫʔΫͷίʔυ #VUUPOCVUUPOOFX#VUUPO CVUUPO5FYUl0,z
ैདྷ͔Β͋ΔϚϧνϓϥοτϑΥʔϜ J1IPOF "OESPJE ࢲ͕࣮ͨͪ͢Δ ϑϨʔϜʔϫʔΫͷίʔυ #VUUPOCVUUPOOFX#VUUPO CVUUPO5FYUl0,z
ैདྷ͔Β͋ΔϚϧνϓϥοτϑΥʔϜ J1IPOF "OESPJE ࢲ͕࣮ͨͪ͢Δ ϑϨʔϜʔϫʔΫͷίʔυ #VUUPOCVUUPOOFX#VUUPO CVUUPO5FYUl0,z MFUCVUUPO6*#VUUPO
CVUUPOTFU5JUMF l0,zʜ WBMCVUUPO#VUUPO DPOUFYU CVUUPOUJUMF l0,z ϓϥοτϑΥʔϜ ಠࣗͷίʔυ
ैདྷ͔Β͋ΔϚϧνϓϥοτϑΥʔϜ J1IPOF "OESPJE ࢲ͕࣮ͨͪ͢Δ ϑϨʔϜʔϫʔΫͷίʔυ #VUUPOCVUUPOOFX#VUUPO CVUUPO5FYUl0,z ϓϥοτϑΥʔϜ ಠࣗͷϘλϯ6*
ैདྷ͔Β͋ΔϚϧνϓϥοτϑΥʔϜ J1IPOF "OESPJE ࢲ͕࣮ͨͪ͢Δ ϑϨʔϜʔϫʔΫͷίʔυ #VUUPOCVUUPOOFX#VUUPO CVUUPO5FYUl0,z
ैདྷ͔Β͋ΔϚϧνϓϥοτϑΥʔϜ J1IPOF "OESPJE ࢲ͕࣮ͨͪ͢Δ ϑϨʔϜʔϫʔΫͷίʔυ #VUUPOCVUUPOOFX#VUUPO CVUUPO5FYUl0,z ϑϨʔϜʔϫʔΫ ͷڞ௨ίʔυ
ैདྷ͔Β͋ΔϚϧνϓϥοτϑΥʔϜ J1IPOF "OESPJE ࢲ͕࣮ͨͪ͢Δ ϑϨʔϜʔϫʔΫͷίʔυ #VUUPOCVUUPOOFX#VUUPO CVUUPO5FYUl0,z ϑϨʔϜʔϫʔΫ ͷڞ௨ίʔυ
IUUQTEPDT fl VUUFSEFWSFTPVSDFTBSDIJUFDUVSBMPWFSWJFX
w ैདྷ·Ͱͱ໌Β͔ʹΈ͕ҧ͏ w ҎલͱൺʹͳΒͳ͍΄Ͳ҆ఆͯ͠ʮී௨ʹಈ͘ʯ ݱͷϚϧνϓϥοτϑΥʔϜ
w ϚϧνϓϥοτϑΥʔϜϑϨʔϜϫʔΫ w ։ൃݴޠ%BSU w ։ൃऀମݧ͕ྑ͍ w ҆ఆ͍ͯ͠Δ Flutterͬͯφχʁ
w 'MVUUFSͬͯφχʁ wڥߏஙͷཁ w 8JEHFUલฤ w 8JEHFUޙฤ ΞδΣϯμ
ڥߏஙͷཁ
w 'MVUUFS4%,ͷΠϯετʔϧ w J04։ൃڥ w "OESPJE։ൃڥ Flutterͷڥߏங
Flutterͷڥߏங
w *%&ͷઃఆ w 7JTVBM4UVEJP$PEF w "OESPJE4UVEJP w *OUFMMJ+*%&" Flutterͷڥߏங
w '7. 'MVUUFSͷόʔδϣϯཧπʔϧ Flutterͷڥߏங
w 'MVUUFSͬͯφχʁ w ڥߏஙͷཁ w8JEHFUલฤ w 8JEHFUޙฤ ΞδΣϯμ
w ϑϨʔϜϫʔΫͷத৺ͱͳΔΫϥε w 'MVUUFSΞϓϦ8JEHFUͷΈ߹ΘͤͰ࣮ Ωϗϯ8JEHFU
Widgetͷ֊ߏ
Widgetͷ֊ߏ
Widgetͷ֊ߏ
Widgetͷ֊ߏ
Widgetͷ֊ߏ
Widgetͷ֊ߏ ᵋ$POUBJOFS ᵋ$FOUFS ᵋ5FYU
Widgetͷ֊ߏ
Widgetͷ֊ߏ ᵋ$PMVNO ᵓ5FYU ᵓ5FYU ᵋ5FYU
Widgetͷ֊ߏ ᵋ$PMVNO ᵓ5FYU ᵓ5FYU ᵋ5FYU
Ωϗϯ8JEHFU
Ωϗϯ8JEHFU ᵋ$FOUFS ᵋ3PX ᵓ*DPO ᵓ$POUBJOFS
ᴹ ᵋ*DPO ᵋ*DPO
Ωϗϯ8JEHFU ᵋ$FOUFS ᵋ3PX ᵓ*DPO ᵓ$POUBJOFS
ᴹ ᵋ*DPO ᵋ*DPO
Ωϗϯ8JEHFU ᵋ$FOUFS ᵋ3PX ᵓ*DPO ᵓ$POUBJOFS
ᴹ ᵋ*DPO ᵋ*DPO
Ωϗϯ8JEHFU ᵋ$FOUFS ᵋ3PX ᵓ*DPO ᵓ$POUBJOFS
ᴹ ᵋ*DPO ᵋ*DPO
Ωϗϯ8JEHFU ᵋ$FOUFS ᵋ3PX ᵓ*DPO ᵓ$POUBJOFS
ᴹ ᵋ*DPO ᵋ*DPO
Ωϗϯ8JEHFU
w 8JEHFUͷࢠؔɺ֊ߏͰ6*Λදݱ Ωϗϯ8JEHFU
ಠࣗͷ8JEHFUΫϥε࣮
Ωϗϯ8JEHFU w 8JEHFUΫϥεΛ࣮ͯ͠ΈΔ
Ωϗϯ8JEHFU w 8JEHFUΫϥεΛܧঝ͢Δ
Ωϗϯ8JEHFU w ίϯετϥΫλʢṖͷҾ,FZʣ
Ωϗϯ8JEHFU w #VJMEϝιουΛ࣮͢Δ
Ωϗϯ8JEHFU w ṖͷҾ#VJME$POUFYU
Ωϗϯ8JEHFU w ࣮ߦ݁ՌʢίʔυҰ෦লུʣ
Ωϗϯ8JEHFU w ࣮ߦ݁ՌʢίʔυҰ෦লུʣ
w ಠࣗ8JEHFUΫϥε࣮·ͱΊ w 8JEHFUΫϥεΛܧঝ w #VJMEϝιουͰ8JEHFUͷ֊Λੜ w ,FZɺ#VJME$POUFYUṖͷ·· Ωϗϯ8JEHFU
Ωϗϯ8JEHFU w ੩తͳΞϓϦ͔͠࡞Εͳ͍
ಈతͳը໘ߋ৽
w ಈతͳը໘ߋ৽Ͳ͏͢Εʜʁ ಈతͳը໘ߋ৽
ಈతͳը໘ߋ৽
ಈతͳը໘ߋ৽ ᵋ$PMVNO ᵓ*DPO#VUUPO ᵋ5FYU
ಈతͳը໘ߋ৽ ⁞
ಈతͳը໘ߋ৽
ಈతͳը໘ߋ৽
ಈతͳը໘ߋ৽
ಈతͳը໘ߋ৽
ಈతͳը໘ߋ৽
ಈతͳը໘ߋ৽
TFU4UBUFΛݺͼग़͢ ಈతͳը໘ߋ৽
TFU4UBUFΛݺͼग़͢ CVJMEϝιου͕ݺΕΔ ͪΐͬͱ෮श
TFU4UBUFΛݺͼग़͢ CVJMEϝιου͕ݺΕΔ ࢠ8JEHFUͷΠϯελϯε͕࠶ੜ ͪΐͬͱ෮श
w ಈతͳը໘ߋ৽·ͱΊ w 4UBUFGVM8JEHFUΛܧঝ͢Δ w TFU4UBUFϝιουͰɺঢ়ଶΛߋ৽͢Δ w #VJMEϝιου͕࠶ͼݺΕɺ8JEHFUΛ࠶ߏங͢Δ Ωϗϯ8JEHFU
w 'MVUUFSΞϓϦ8JEHFUͷ֊ߏ w ࣗͰը໘ߋ৽Ͱ͖ͳ͍4UBUFMFTT8JEHFU w ࣗͰը໘ߋ৽Ͱ͖Δ4UBUFGVM8JEHFU Ωϗϯ8JEHFU
w 'MVUUFSͬͯφχʁ w ڥߏஙͷཁ w 8JEHFUલฤ w8JEHFUޙฤ ΞδΣϯμ
͍ͬͨΜ$.Ͱ͢
None
None
None
None
ΏΊΈΦʔϓϯϋϯυϒοΫ ΦʔϓϯϋϯυϒοΫ 'MVUUFSͱ 'MVUUFSΤϯδχΞ࠾༻ ͓ࣄͷ͝૬ஊ
w 'MVUUFSͬͯφχʁ w ڥߏஙͷཁ w 8JEHFUલฤ w8JEHFUޙฤ ΞδΣϯμ
WidgetΛΑΓཧղ͢Δ
WidgetΛΑΓཧղ͢Δ
WidgetΛΑΓཧղ͢Δ ϘλϯΛλοϓ͢Δͱ ΧϯτΞοϓ͢Δը໘
WidgetΛΑΓཧղ͢Δ ϘλϯΛλοϓ͢Δͱ ΧϯτΞοϓ͢Δը໘
WidgetΛΑΓཧղ͢Δ λοϓ͢Δͱ ΧϯτΞοϓ͢ΔϘλϯ
$PVOUFS4DSFFO ᵋ$PMVNO ᵓ&MFWBUFE#VUUPO ᴹᵋ5FYU ᵋ$PVOUFS#VUUPO ᵋ&MFWBUFE#VUUPO ɹᵋ5FYU 4UBUFGVM8JEHFU
$PVOUFS4DSFFO ᵋ$PMVNO ᵓ&MFWBUFE#VUUPO ᴹᵋ5FYU ᵋ$PVOUFS#VUUPO ᵋ&MFWBUFE#VUUPO ɹᵋ5FYU
$PVOUFS4DSFFO ᵋ$PMVNO ᵓ&MFWBUFE#VUUPO ᴹᵋ5FYU ᵋ$PVOUFS#VUUPO ᵋ&MFWBUFE#VUUPO ɹᵋ5FYU 4UBUFGVM8JEHFU
WidgetΛΑΓཧղ͢Δ $PVOUFS4DSFFO ᵋ$PMVNO ᵓ&MFWBUFE#VUUPO ᴹᵋ5FYU ᵋ$PVOUFS#VUUPO ᵋ&MFWBUFE#VUUPO ɹᵋ5FYU
DPVOU DPVOU
WidgetΛΑΓཧղ͢Δ $PVOUFS4DSFFO ᵋ$PMVNO ᵓ&MFWBUFE#VUUPO ᴹᵋ5FYU ᵋ$PVOUFS#VUUPO ᵋ&MFWBUFE#VUUPO ɹᵋ5FYU
TFU4UBUF \ DPVOU ^ TFU4UBUF \ DPVOU ^
None
WidgetΛΑΓཧղ͢Δ $PVOUFS4DSFFO ᵋ$PMVNO ᵓ&MFWBUFE#VUUPO ᴹᵋ5FYU ᵋ$PVOUFS#VUUPO ᵋ&MFWBUFE#VUUPO ɹᵋ5FYU
TFU4UBUF \ DPVOU ^
WidgetΛΑΓཧղ͢Δ $PVOUFS4DSFFO ᵋ$PMVNO ᵓ&MFWBUFE#VUUPO ᴹᵋ5FYU ᵋ$PVOUFS#VUUPO ᵋ&MFWBUFE#VUUPO ɹᵋ5FYU
CVJMEϝιου͕ݺΕΔ
WidgetΛΑΓཧղ͢Δ $PVOUFS4DSFFO ᵋ$PMVNO ᵓ&MFWBUFE#VUUPO ᴹᵋ5FYU ᵋ$PVOUFS#VUUPO ᵋ&MFWBUFE#VUUPO ɹᵋ5FYU
WidgetΛΑΓཧղ͢Δ $PVOUFS4DSFFO ᵋ$PMVNO ᵓ&MFWBUFE#VUUPO ᴹᵋ5FYU ᵋ$PVOUFS#VUUPO ᵋ&MFWBUFE#VUUPO ɹᵋ5FYU
DPVOU
CounterButton0ʹΔͷ͔ʁ
None
Βͳ͍ʂ ͳ͊ͥʁͳ͊ͥʁ
WidgetΛΑΓཧղ͢Δ ϩάΛೖΕͯΈΔ ⁞
WidgetΛΑΓཧղ͢Δ ίϯιʔϧʹ
w 8JEHFUͷίϯετϥΫλݺΕ͍ͯΔ w $PVOUFS#VUUPO8JEHFUͷΠϯελϯε࠶ੜ w ΞϓϦىಈ࣌Ҏ߱ADSFBUF4UBUFA͕ݺΕ͍ͯͳ͍ w8JEHFUΑΓ4UBUFͷϥΠϑαΠΫϧ͕͍ʂ WidgetΛΑΓཧղ͢Δ
WidgetΛΑΓཧղ͢Δ Χϯτ4UBUF͕อ࣋ 4UBUF͕࠶ੜ͞Εͳ͍ͳΒ ΧϯτͷมΘΒͳ͍
͔͜͜Β Flutter෦ͷ͓
සൟʹΠϯελϯε࡞ΒΕΔ ͍ࣺͯ
WidgetΛΑΓཧղ͢Δ $PVOUFS4DSFFO 8JEHFU
WidgetΛΑΓཧղ͢Δ $PVOUFS4DSFFO $PVOUFS4DSFFO
8JEHFU &MFNFOU DSFBUF&MFNFOU
WidgetΛΑΓཧղ͢Δ $PVOUFS4DSFFO $PVOUFS4DSFFO
8JEHFU &MFNFOU 4UBUF࣋ͬͯΔ
WidgetΛΑΓཧղ͢Δ $PVOUFS4DSFFO $PVOUFS4DSFFO
8JEHFU &MFNFOU CVJME 4UBUF࣋ͬͯΔ
WidgetΛΑΓཧղ͢Δ $PVOUFS4DSFFO ᵋ$PMVNO ᵓ&MFWBUFE#VUUPO ᴹᵋ5FYU ᵋ$PVOUFS#VUUPO $PVOUFS4DSFFO
8JEHFU &MFNFOU 4UBUF࣋ͬͯΔ
WidgetΛΑΓཧղ͢Δ $PVOUFS4DSFFO ᵋ$PMVNO ᵓ&MFWBUFE#VUUPO ᴹᵋ5FYU ᵋ$PVOUFS#VUUPO $PVOUFS4DSFFO
ᵋ$PMVNO ᵓ&MFWBUFE#VUUPO ᴹᵋ5FYU ᵋ$PVOUFS#VUUPO 8JEHFU &MFNFOU DSFBUF&MFNFOU 4UBUF࣋ͬͯΔ 4UBUF࣋ͬͯΔ
WidgetΛΑΓཧղ͢Δ $PVOUFS4DSFFO ᵋ$PMVNO ᵓ&MFWBUFE#VUUPO ᴹᵋ5FYU ᵋ$PVOUFS#VUUPO $PVOUFS4DSFFO
ᵋ$PMVNO ᵓ&MFWBUFE#VUUPO ᴹᵋ5FYU ᵋ$PVOUFS#VUUPO 8JEHFU &MFNFOU TFU4UBUF 4UBUF࣋ͬͯΔ 4UBUF࣋ͬͯΔ
WidgetΛΑΓཧղ͢Δ $PVOUFS4DSFFO ᵋ$PMVNO ᵓ&MFWBUFE#VUUPO ᴹᵋ5FYU ᵋ$PVOUFS#VUUPO $PVOUFS4DSFFO
ᵋ$PMVNO ᵓ&MFWBUFE#VUUPO ᴹᵋ5FYU ᵋ$PVOUFS#VUUPO 8JEHFU &MFNFOU CVJME 4UBUF࣋ͬͯΔ 4UBUF࣋ͬͯΔ
WidgetΛΑΓཧղ͢Δ $PVOUFS4DSFFO ᵋ$PMVNO ᵓ&MFWBUFE#VUUPO ᴹᵋ5FYU ᵋ$PVOUFS#VUUPO $PVOUFS4DSFFO
ᵋ$PMVNO ᵓ&MFWBUFE#VUUPO ᴹᵋ5FYU ᵋ$PVOUFS#VUUPO 8JEHFU &MFNFOU CVJME 4UBUF࣋ͬͯΔ 4UBUF࣋ͬͯΔ ɹ ᵋ$PMVNO ᵓ&MFWBUFE#VUUPO ᴹᵋ5FYU ᵋ$PVOUFS#VUUPO
WidgetΛΑΓཧղ͢Δ $PVOUFS4DSFFO ᵋ$PMVNO ᵓ&MFWBUFE#VUUPO ᴹᵋ5FYU ᵋ$PVOUFS#VUUPO 8JEHFU
&MFNFOU 4UBUF࣋ͬͯΔ 4UBUF࣋ͬͯΔ 👀 $PVOUFS4DSFFO ᵋ$PMVNO ᵓ&MFWBUFE#VUUPO ᴹᵋ5FYU ᵋ$PVOUFS#VUUPO ɹ ᵋ$PMVNO ᵓ&MFWBUFE#VUUPO ᴹᵋ5FYU ᵋ$PVOUFS#VUUPO
WidgetΛΑΓཧղ͢Δ $PVOUFS4DSFFO ᵋ$PMVNO ᵓ&MFWBUFE#VUUPO ᴹᵋ5FYU ᵋ$PVOUFS#VUUPO 8JEHFU
&MFNFOU 4UBUF࣋ͬͯΔ 4UBUF࣋ͬͯΔ 👀 $MBTTʁ ,FZʁ $PVOUFS4DSFFO ᵋ$PMVNO ᵓ&MFWBUFE#VUUPO ᴹᵋ5FYU ᵋ$PVOUFS#VUUPO ɹ ᵋ$PMVNO ᵓ&MFWBUFE#VUUPO ᴹᵋ5FYU ᵋ$PVOUFS#VUUPO
WidgetΛΑΓཧղ͢Δ $PVOUFS4DSFFO ᵋ$PMVNO ᵓ&MFWBUFE#VUUPO ᴹᵋ5FYU ᵋ$PVOUFS#VUUPO 8JEHFU
&MFNFOU 4UBUF࣋ͬͯΔ 4UBUF࣋ͬͯΔ 👀 &MFNFOU ࠶ར༻Ͱ͖ΔΘʂ $PVOUFS4DSFFO ᵋ$PMVNO ᵓ&MFWBUFE#VUUPO ᴹᵋ5FYU ᵋ$PVOUFS#VUUPO ɹ ᵋ$PMVNO ᵓ&MFWBUFE#VUUPO ᴹᵋ5FYU ᵋ$PVOUFS#VUUPO
WidgetΛΑΓཧղ͢Δ $PVOUFS4DSFFO ᵋ$PMVNO ᵓ&MFWBUFE#VUUPO ᴹᵋ5FYU ᵋ$PVOUFS#VUUPO $PVOUFS4DSFFO
ᵋ$PMVNO ᵓ&MFWBUFE#VUUPO ᴹᵋ5FYU ᵋ$PVOUFS#VUUPO 8JEHFU &MFNFOU 4UBUF࣋ͬͯΔ 4UBUF࣋ͬͯΔ DSFBUF&MFNFOU 🙅
WidgetΛΑΓཧղ͢Δ $PVOUFS4DSFFO ᵋ$PMVNO ᵓ&MFWBUFE#VUUPO ᴹᵋ5FYU ᵋ$PVOUFS#VUUPO $PVOUFS4DSFFO
ᵋ$PMVNO ᵓ&MFWBUFE#VUUPO ᴹᵋ5FYU ᵋ$PVOUFS#VUUPO 8JEHFU &MFNFOU 4UBUF࣋ͬͯΔ 4UBUF࣋ͬͯΔ ಉ͡4UBUF Πϯελϯε
WidgetΛΑΓཧղ͢Δ 8JEHFU &MFNFOU ΞϓϦͷઃܭਤ ͍ࣺͯͷܰྔΦϒδΣΫτ ίϛ͍ͬͨ͜ͱΛͬͯ͘ΕΔཪํ͞Μ
w 8JEHFUίϯετϥΫλͷ,FZ&MFNFOU࠶ར༻ͷஅࡐྉ WidgetΛΑΓཧղ͢Δ
w#VJME$POUFYUͷਖ਼ମ&MFNFOU WidgetΛΑΓཧղ͢Δ
w#VJME$POUFYUͷਖ਼ମ&MFNFOU WidgetΛΑΓཧղ͢Δ
w#VJME$POUFYUͷਖ਼ମ&MFNFOU WidgetΛΑΓཧղ͢Δ
w 4UBUFGVM8JEHFUͷঢ়ଶ͕ҡ࣋͞ΕΔ༷ࢠΛ֬ೝ w 'MVUUFS෦ͰߦΘΕ͍ͯΔ͜ͱΛղઆ w ,FZ&MFNFOU࠶ར༻ͷஅࡐྉ w #VJME$POUFYU&MFNFOU WidgetΛΑΓཧղ͢Δ
ࠓͷৼΓฦΓ
w'MVUUFSͬͯφχʁʢ'MVUUFS࣮ફ։ൃୈষʣ w ϚϧνϓϥοτϑΥʔϜ w ։ൃݴޠ%BSU w ։ൃऀମݧ͕ྑ͍ w ҆ఆ͍ͯ͠Δ ࠓͷৼΓฦΓ
wڥߏஙʢ'MVUUFS࣮ફ։ൃୈষʣ w Πϯετʔϧखॱͷશମ૾ w ϙϐϡϥʔͳ*%& w 'MVUUFSͷόʔδϣϯཧπʔϧʢ'7.ʣ ࠓͷৼΓฦΓ
w8JEHFUલฤʢ'MVUUFS࣮ફ։ൃୈষʣ w 'MVUUFSΞϓϦ8JEHFUͷ֊ߏ w ࣗͰը໘ߋ৽Ͱ͖ͳ͍4UBUFMFTT8JEHFU w ࣗͰը໘ߋ৽Ͱ͖Δ4UBUFGVM8JEHFU ࠓͷৼΓฦΓ
w8JEHFUޙฤʢ'MVUUFS࣮ફ։ൃୈষʣ w 4UBUFGVM8JEHFUͷঢ়ଶ͕ҡ࣋͞ΕΔ༷ࢠΛ֬ೝ w 'MVUUFS෦ͰߦΘΕ͍ͯΔ͜ͱΛղઆ w ,FZ&MFNFOU࠶ར༻ͷஅࡐྉ w #VJME$POUFYU&MFNFOU ࠓͷৼΓฦΓ
w ୈষ%BSUͷݴޠ༷ w ୈষΞϓϦͷຊޠରԠɺΞηοτཧɺڥม w ୈষঢ়ଶཧͱ3JWFSQPE w ୈষߴͰอकੑͷߴ͍ΞϓϦΛ։ൃ͢ΔͨΊͷίπ w ʜBOENPSF‼
Flutter࣮ફ։ൃ