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
23
Flutterビギナーのための Widget完全攻略
watanave
April 24, 2024
Tweet
Share
More Decks by watanave
See All by watanave
Figma Dev Modeで変わる!Flutterの開発体験
watanave
0
3.8k
Flutter実践開発に書かなかったこと
watanave
0
18
決めず、語らずのリーダーシップ
watanave
0
440
複数プロジェクトを横断するゆめみテックリードの戦略
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
週次リリースを実現するための グローバルアプリ開発
tera_ny
1
110
モバイルアプリにおける自動テストの導入戦略
ostk0069
0
110
これでLambdaが不要に?!Step FunctionsのJSONata対応について
iwatatomoya
2
3.7k
PHPUnitしか使ってこなかった 一般PHPerがPestに乗り換えた実録
mashirou1234
0
300
各クラウドサービスにおける.NETの対応と見解
ymd65536
0
150
Effective Signals in Angular 19+: Rules and Helpers
manfredsteyer
PRO
0
110
Androidアプリのモジュール分割における:x:commonを考える
okuzawats
1
170
【re:Growth 2024】 Aurora DSQL をちゃんと話します!
maroon1st
0
790
SymfonyCon Vienna 2025: Twig, still relevant in 2025?
fabpot
3
1.2k
menu基盤チームによるGoogle Cloudの活用事例~Application Integration, Cloud Tasks編~
yoshifumi_ishikura
0
110
Webエンジニア主体のモバイルチームの 生産性を高く保つためにやったこと
igreenwood
0
340
テストケースの名前はどうつけるべきか?
orgachem
PRO
0
150
Featured
See All Featured
Being A Developer After 40
akosma
87
590k
Designing on Purpose - Digital PM Summit 2013
jponch
116
7k
Designing for humans not robots
tammielis
250
25k
Building Better People: How to give real-time feedback that sticks.
wjessup
366
19k
Making Projects Easy
brettharned
116
6k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
59k
Put a Button on it: Removing Barriers to Going Fast.
kastner
59
3.6k
The Invisible Side of Design
smashingmag
298
50k
The Pragmatic Product Professional
lauravandoore
32
6.3k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
665
120k
Code Review Best Practice
trishagee
65
17k
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࣮ફ։ൃ