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
22
Flutterビギナーのための Widget完全攻略
watanave
April 24, 2024
Tweet
Share
More Decks by watanave
See All by watanave
Figma Dev Modeで変わる!Flutterの開発体験
watanave
0
74
Flutter実践開発に書かなかったこと
watanave
0
14
決めず、語らずのリーダーシップ
watanave
0
430
複数プロジェクトを横断するゆめみテックリードの戦略
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
ActiveSupport::Notifications supporting instrumentation of Rails apps with OpenTelemetry
ymtdzzz
1
230
OnlineTestConf: Test Automation Friend or Foe
maaretp
0
110
Contemporary Test Cases
maaretp
0
130
CSC509 Lecture 12
javiergs
PRO
0
160
3rd party scriptでもReactを使いたい! Preact + Reactのハイブリッド開発
righttouch
PRO
1
600
TypeScriptでライブラリとの依存を限定的にする方法
tutinoko
2
660
3 Effective Rules for Using Signals in Angular
manfredsteyer
PRO
1
100
Amazon Bedrock Agentsを用いてアプリ開発してみた!
har1101
0
330
詳細解説! ArrayListの仕組みと実装
yujisoftware
0
580
ローコードSaaSのUXを向上させるためのTypeScript
taro28
1
610
Compose 1.7のTextFieldはPOBox Plusで日本語変換できない
tomoya0x00
0
190
Click-free releases & the making of a CLI app
oheyadam
2
110
Featured
See All Featured
Designing for Performance
lara
604
68k
How to train your dragon (web standard)
notwaldorf
88
5.7k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
44
2.2k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
16
2.1k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
28
2k
Making the Leap to Tech Lead
cromwellryan
133
8.9k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
47
2.1k
Speed Design
sergeychernyshev
24
610
Stop Working from a Prison Cell
hatefulcrawdad
267
20k
5 minutes of I Can Smell Your CMS
philhawksworth
202
19k
A Modern Web Designer's Workflow
chriscoyier
693
190k
The Straight Up "How To Draw Better" Workshop
denniskardys
232
140k
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࣮ફ։ൃ