Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
© DMM.com !LHNZTIJO 'MVUUFS.FFUVQ5PLZP #-P$
Slide 2
Slide 2 text
© DMM.com w LHNZTIJOఝٶ ͗͘Έ w "OESPJEΤϯδχΞ w %..DPNϥϘ$50ࣨॴଐ w ݄͔Β ࣗݾհ
Slide 3
Slide 3 text
© DMM.com BHFOEB
Slide 4
Slide 4 text
© DMM.com w #-P$ͱ w #-P$ͷΨΠυϥΠϯ w #-P$ͱ6* w #-P$ͷྫ w 'MVUUFSͰͷ͍ํ w ·ͱΊ BHFOEB
Slide 5
Slide 5 text
© DMM.com #-P$ͱ
Slide 6
Slide 6 text
© DMM.com #-P$ͱ Business Logic Component
Slide 7
Slide 7 text
© DMM.com #-P$ͱ ͕ࣗͬͨͷ(PPHMF*0ͰͷԼهͷηογϣϯ Build reactive mobile apps with Flutter IUUQTXXXZPVUVCFDPNXBUDI W34H#&Q0*
Slide 8
Slide 8 text
© DMM.com #-P$ͱ ࣮ࡍ݄ʹ%BSU$POGͷ ԼهͷηογϣϯͰൃද͞Ε͍ͯΔ Flutter / AngularDart – Code sharing, better together IUUQTXXXZPVUVCFDPNXBUDI W1-)MOX)H1&
Slide 9
Slide 9 text
© DMM.com #-P$ͱ ϏδωεϩδοΫΛ UIϓϥοτϑΥʔϜ͔Β ͢ΔͨΊͷ ઃܭύλʔϯͷҰͭ ҰݴͰݴ͏ͱ Ͱ͋Δ
Slide 10
Slide 10 text
© DMM.com #-P$ͷϞνϕʔγϣϯ 6* .PEFM *OGSB ͜͏͍͏ঢ়ଶΛ .PEFM .PEFM .PEFM
Slide 11
Slide 11 text
© DMM.com #-P$ͷϞνϕʔγϣϯ 6* .PEFM *OGSB ͜͏͍ͨ͠ 91MBUGPSN"EBQUFS
Slide 12
Slide 12 text
© DMM.com #-P$ͷΨΠυϥΠϯ
Slide 13
Slide 13 text
© DMM.com #-P$ͷΨΠυϥΠϯ JOQVUTBOEPVUQVUTBSFTJNQMF4USFBNT4JOLTPOMZ %FQFOEFODJFTNVTUCFJOKFDUBCMFBOEQMBUGPSN BHOPTUJD /PQMBUGPSNCSBODIJOHBMMPXFE *NQMFNFOUBUJPODBOCFXIBUFWFSZPVXBOUJGZPV GPMMPXUIFQSFWJPVTSVMFT " #VUNBZ*TVHHFTUSFBDUJWFQSPHSBNNJOH
Slide 14
Slide 14 text
© DMM.com #-P$ͷΨΠυϥΠϯ JOQVU4JOLɺPVUQVU4USFBNͰ࣮͢Δ ґଘΦϒδΣΫτ֎͔ΒೖՄೳͰɺϓϥοτ ϑΥʔϜʹґଘ͠ͳ͍ͷͰ͋Δ͜ͱ ϓϥοτϑΥʔϜͷذμϝ dΛकͬͯΕɺ࣮ͳΜͰ͍͍Α ͨͩ͠ɺ3FBDUJWF1SPHSBNNJOHͰΉͷ͕͓͢͢ΊͩΑ
Slide 15
Slide 15 text
© DMM.com #-P$ͱ6*ͷܨ͗
Slide 16
Slide 16 text
© DMM.com #-P$ͱ6*ͷܨ͗ &BDIDPNQMFYFOPVHIDPNQPOFOUIBTB DPSSFTQPOEJOH#-P$ $PNQPOFOUTTIPVMETFOEJOQVUTBTJTz $PNQPOFOUTTIPVMETIPXPVUQVUTBTDMPTFBT QPTTJCMFUPBTJTz "MMCSBODIJOHTIPVMECFCBTFEPOTJNQMF#-P$ CPPMFBOPVUQVUT
Slide 17
Slide 17 text
© DMM.com #-P$ͷΨΠυϥΠϯ ͦΕͧΕͷzेʹෳࡶͳzίϯϙʔωϯτʹ#-P$ ͕Ұͭ͋Δʢzेʹෳࡶͳzͷ߹͍֤ࣗͰஅʣ JOQVUʹૹΔσʔλBTJTͰ PVUQVUʹྲྀ͢ετϦʔϜͰ͖Δ͚ͩlBTJTzͰ ͯ͢ͷذ#-P$ʹΑΔ#PPMFBOͳΞτϓοτ ʹج͖ͮ͘Ͱ͋Δ
Slide 18
Slide 18 text
© DMM.com #-P$ͷྫ
Slide 19
Slide 19 text
© DMM.com #-P$ͷྫ class CartBLoC { Sink addition; Stream itemCount; Stream totalCost; Stream> items; }
Slide 20
Slide 20 text
© DMM.com #-P$ͷྫ class CartBLoC { Sink addition; Stream itemCount; Stream totalCost; Stream> items; } 1SPEVDU͕Ճ͞ΕΔͱ
Slide 21
Slide 21 text
© DMM.com #-P$ͷྫ class CartBLoC { Sink addition; Stream itemCount; Stream totalCost; Stream> items; } ͦΕͧΕͷ4USFBN͔Β݁Ռ͕ྲྀΕΔ
Slide 22
Slide 22 text
© DMM.com 'MVUUFSͰͷ͍ํ
Slide 23
Slide 23 text
© DMM.com JOQVUͷܨ͛ํ TextField( onChanged: bloc.sink.add, decoration: InputDecoration( border: OutlineInputBorder(), ɹɹɹ hintText: “hint"), )
Slide 24
Slide 24 text
© DMM.com JOQVUͷܨ͛ํ TextField( onChanged: bloc.sink.add, decoration: InputDecoration( border: OutlineInputBorder(), ɹɹɹ hintText: “hint"), ) ΠϕϯτͱTJOLBEEΛόΠϯυ͢Δ͚ͩ
Slide 25
Slide 25 text
© DMM.com PVUQVUΛ6*ʹͭͳ͛Δํ๏ StreamBuilder( stream: bloc.stream, builder: (context, snapshot) => Container( child: Text(snapshot?.data ?? ""), ), )
Slide 26
Slide 26 text
© DMM.com PVUQVUΛ6*ʹͭͳ͛Δํ๏ StreamBuilder( stream: bloc.stream, builder: (context, snapshot) => Container( child: Text(snapshot?.data ?? ""), ), ) 4USFBN#VJMEFS͏͚ͩ
Slide 27
Slide 27 text
© DMM.com ·ͱΊ
Slide 28
Slide 28 text
© DMM.com w #-P$6*ͱ.PEFMͱ*OGSBΛ͚Δ͜ͱͱɺΫϩε ϓϥοτϑΥʔϜͷίʔυγΣΞΛϞνϕʔγϣϯ ʹੜ·Εͨ w कΔ͖ΨΠυϥΠϯ͕͋Δ w 'MVUUFSͰ w JOQVUΛૹΔͱ͜ΖͰTJOLBEEΛόΠϯυ͢Δ w PVUQVUΛTVCTDSJCF͢Δʹ4USFBN#VJMEFSΛ͏ ·ͱΊ