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
37
Flutterビギナーのための Widget完全攻略
watanave
April 24, 2024
Tweet
Share
More Decks by watanave
See All by watanave
Figma Dev Modeで変わる!Flutterの開発体験
watanave
0
4.5k
Flutter実践開発に書かなかったこと
watanave
0
67
決めず、語らずのリーダーシップ
watanave
0
510
複数プロジェクトを横断するゆめみテックリードの戦略
watanave
0
130
Androidエンジニア目線のKMM / iOSエンジニア目線のKMM
watanave
0
360
Why does Activity die soon?
watanave
0
350
Anko試食会
watanave
0
2.4k
Other Decks in Programming
See All in Programming
CSC509 Lecture 06
javiergs
PRO
0
260
NixOS + Kubernetesで構築する自宅サーバーのすべて
ichi_h3
0
180
育てるアーキテクチャ:戦い抜くPythonマイクロサービスの設計と進化戦略
fujidomoe
1
170
私はどうやって技術力を上げたのか
yusukebe
43
18k
Back to the Future: Let me tell you about the ACP protocol
terhechte
0
140
Catch Up: Go Style Guide Update
andpad
0
210
Railsだからできる 例外業務に禍根を残さない 設定設計パターン
ei_ei_eiichi
0
390
After go func(): Goroutines Through a Beginner’s Eye
97vaibhav
0
250
技術的負債の正体を知って向き合う / Facing Technical Debt
irof
0
120
株式会社 Sun terras カンパニーデック
sunterras
0
260
Devvox Belgium - Agentic AI Patterns
kdubois
1
100
What's new in Spring Modulith?
olivergierke
1
120
Featured
See All Featured
Building a Modern Day E-commerce SEO Strategy
aleyda
43
7.7k
Stop Working from a Prison Cell
hatefulcrawdad
271
21k
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
The Pragmatic Product Professional
lauravandoore
36
6.9k
Gamification - CAS2011
davidbonilla
81
5.5k
Music & Morning Musume
bryan
46
6.8k
Fireside Chat
paigeccino
40
3.7k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
358
30k
Code Review Best Practice
trishagee
72
19k
[RailsConf 2023] Rails as a piece of cake
palkan
57
5.9k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
29
2.6k
Designing for humans not robots
tammielis
254
26k
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࣮ફ։ൃ