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
Architecture_for_mobile_development.pdf
Search
itome
March 14, 2019
Technology
0
240
Architecture_for_mobile_development.pdf
itome
March 14, 2019
Tweet
Share
More Decks by itome
See All by itome
Android accessibility and automated check tools
itome
1
4.6k
Accessibility in CATS
itome
4
2.3k
Introduce_Owl.pdf
itome
0
83
Introducing Android Accessibility Test with Accessibility Testing Framework
itome
1
620
Introduction of accessibility for mobile development
itome
0
230
Android_Accessibility_Suite.pdf
itome
0
140
Introducing Owl
itome
0
1k
Migrate to Koin
itome
2
300
Use MVI Architecture in Kotlin × Android
itome
1
1.4k
Other Decks in Technology
See All in Technology
アジャイルでの品質の進化 Agile in Motion vol.1/20241118 Hiroyuki Sato
shift_evolve
0
180
TypeScript、上達の瞬間
sadnessojisan
46
13k
The Rise of LLMOps
asei
9
1.7k
Amplify Gen2 Deep Dive / バックエンドの型をいかにしてフロントエンドへ伝えるか #TSKaigi #TSKaigiKansai #AWSAmplifyJP
tacck
PRO
0
390
Incident Response Practices: Waroom's Features and Future Challenges
rrreeeyyy
0
160
Application Development WG Intro at AppDeveloperCon
salaboy
0
200
[CV勉強会@関東 ECCV2024 読み会] オンラインマッピング x トラッキング MapTracker: Tracking with Strided Memory Fusion for Consistent Vector HD Mapping (Chen+, ECCV24)
abemii
0
230
CDCL による厳密解法を採用した MILP ソルバー
imai448
3
170
アジャイルチームがらしさを発揮するための目標づくり / Making the goal and enabling the team
kakehashi
3
150
OS 標準のデザインシステムを超えて - より柔軟な Flutter テーマ管理 | FlutterKaigi 2024
ronnnnn
1
290
Terraform Stacks入門 #HashiTalks
msato
0
360
100 名超が参加した日経グループ横断の競技型 AWS 学習イベント「Nikkei Group AWS GameDay」の紹介/mediajaws202411
nikkei_engineer_recruiting
1
170
Featured
See All Featured
VelocityConf: Rendering Performance Case Studies
addyosmani
325
24k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
665
120k
Statistics for Hackers
jakevdp
796
220k
Fantastic passwords and where to find them - at NoRuKo
philnash
50
2.9k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
93
16k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
126
18k
Fontdeck: Realign not Redesign
paulrobertlloyd
82
5.2k
What’s in a name? Adding method to the madness
productmarketing
PRO
22
3.1k
10 Git Anti Patterns You Should be Aware of
lemiorhan
655
59k
The Art of Programming - Codeland 2020
erikaheidi
52
13k
Build your cross-platform service in a week with App Engine
jlugia
229
18k
The Pragmatic Product Professional
lauravandoore
31
6.3k
Transcript
ϞόΠϧ։ൃͷͨΊͷ ΞʔΩςΫνϟೖ @AbemaTV Hack
2 About me ௩ຊࢤ https://twitter.com/itometeam https://github.com/itome https://medium.com/@itometeam 0.5min
ΞʔΩςΫνϟͬͯͳʹʁ 5min
4 ΞʔΩςΫνϟͬͯͳʹʁ 5min ΞʔΩςΫνϟ(ઃܭ)ʹͨ͘͞Μͷҙຯ͕͋Δ ɾCPUͳͲϋʔυΣΞͷ੍ޚͷํࣜͱͯ͠ͷΞʔΩςΫνϟ ɾωοτϫʔΫͷΞʔΩςΫνϟ ɾιϑτΣΞͷΞʔΩςΫνϟ ɾ…etc ←ࠓ͜͜ʹ͍ͭͯ͠·͢
5 ΞʔΩςΫνϟͬͯͳʹʁ 5min ͦͷ·͑ʹ
6 ΞʔΩςΫνϟͬͯͳʹʁ 5min ͦͦΞʔΩςΫνϟͬͯ Ͳ͏ͯ͠ඞཁͳΜͩΖ͏ʁ
ΞʔΩςΫνϟ͕ਁಁ͢Δલͷ ιϑτΣΞ։ൃ 3min
8 ΞʔΩςΫνϟ͕ਁಁ͢ΔલͷιϑτΣΞ։ൃ 3min ͱͱϓϩάϥϛϯάʹଟ͘ͷϕετɾ ϓϥΫςΟεʢεϜʔζͳ։ൃɾอकɾӡ༻ ͷͨΊʹकΔ͖ϧʔϧʣ͕͋Δ
9 ΞʔΩςΫνϟ͕ਁಁ͢ΔલͷιϑτΣΞ։ൃ 3min ྫ͑ɿ ׂ౷࣏ʢDivide and Conquerʣ ͦͷ··Ͱղܾ͢Δ͜ͱ͕͍͠ʮେ͖ͳʯɺ ͍͔ͭ͘ͷʮখ͞ͳʯʹׂͯ͠ɺݸผʹղܾ͢Δ
10 ΞʔΩςΫνϟ͕ਁಁ͢ΔલͷιϑτΣΞ։ൃ 3min ྫ͑ɿ ಉܕݪཧʢIsomorphism Principleʣ ʮܗʹͩ͜ΘΔʯͱ͍͏ݪཧɺຊ࣭తʹಉ͜͡ͱιʔείʔυͰ ಉ͡Α͏ʹѻ͏͜ͱͰʮҟʯΛཱͪ͘͢͢Δɻ
11 ΞʔΩςΫνϟ͕ਁಁ͢ΔલͷιϑτΣΞ։ൃ 3min ྫ͑ɿ ઢܗݪཧʢLinearity Principleʣ ॲཧͷྲྀΕΛઢʹ͢Δݪଇɻ͋Δػೳ͍͔ͭ͘ͷখ͞ͳػೳΛ ઢతʹॏͶ߹Θ࣮ͤͯݱ͢Δͷ͕Α͍ɻ
12 ΞʔΩςΫνϟ͕ਁಁ͢ΔલͷιϑτΣΞ։ൃ 3min ྫ͑ɿ ୯Ұݪଇ มߋ͢Δཧ༝͕ಉ͡ͷूΊɺมߋ͢Δཧ༝͕ҧ͏ͷ ͚Δݪଇɻ1ͭͷϞδϡʔϧɺΫϥεؔʹมߋ͢Δཧ༝͕ ̎ͭҎ্͍͚͋ͬͯͳ͍ɻ
13 ΞʔΩςΫνϟ͕ਁಁ͢ΔલͷιϑτΣΞ։ൃ 3min ଞʹɿ DRYݪଇ KISSݪଇ ڽूɾ݁߹ݪଇ ։์ɾดݪଇ ݁ՌͷہॴԽ ܁Γฦ͠ͷ࠷খԽ
ϩδοΫͱσʔλͷҰମԽ ରশੑݪଇ ϙϦϞʔϑΟζϜ ใͷӅṭ ΧϓηϧԽ શੑɾॆੑɾϓϦϛςΟϒ ؔ৺ͷ ϙϦγʔͱ࣮ͷ ࢀরͷҰੑ ςετ༰қੑ ୯७ݪཧ ໌ূݪཧ ڻ͖࠷খͷݪଇ ੑ ࢀরಁաੑ ݆ͷݪଇ ϘʔΠεΧτϧʔϧ GOFσβΠϯύλʔϯ σϧϝϧͷ๏ଇ SOLIDݪଇ ҆ఆੑͷݪଇ ֊ݪཧ ґଘੑٯసͷݪଇ ૬ޓӡ༻ੑ ࠶ར༻ ΠϯλʔϑΣ ަੑ ܖʹΑ ޚతϓ Ӫ δϣ
14 ΞʔΩςΫνϟ͕ਁಁ͢ΔલͷιϑτΣΞ։ൃ 3min ୯ҰػೳͷΞϓϦέʔγϣϯɺঢ়ଶͷগͳ͍ΞϓϦέʔγϣϯͰ͋Ε ͜ΕΒͷݪଇʹै͏͜ͱͰมߋʹڧ͍ΫϦʔϯͳίʔυ͕ॻ͚Δ
15 ΞʔΩςΫνϟ͕ਁಁ͢ΔલͷιϑτΣΞ։ൃ 3min ͔࣌͠͠ྲྀΕɻɻɻ
16 ΞʔΩςΫνϟ͕ਁಁ͢ΔલͷιϑτΣΞ։ൃ 3min ΞϓϦέʔγϣϯΑΓଟػೳʹ ΞϓϦέʔγϣϯͷঢ়ଶΑΓෳࡶʹ ɾϝοηʔδػೳ ɾ௨ػೳ ɾࣸਅɺಈըࡱӨ ɾܾࡁػೳ ɾϝσΟΞͷ࠶ੜ
ɾݸਓؒૹۚ ɾը૾ิਖ਼ ɾϩάΠϯ͍ͯ͠Δʁ ɾܾࡁใొ͞Ε͍ͯΔʁ ɾ௨ڐՄ͍ͯ͠Δʁ ɾ֎෦αʔϏε࿈ܞ͍ͯ͠Δʁ
17 ΞʔΩςΫνϟ͕ਁಁ͢ΔલͷιϑτΣΞ։ൃ 3min ։ൃͷෳࡶԽʹΑ͍ͬͯΖΜͳ͕ग़ͯ͘Δ ɾͨΓతͳ࣮ͰϕετɾϓϥΫςΟε͔Β֎Εͯ͠·͏͜ͱ͕ଟ͍ ɾνʔϜ։ൃͰɺϝϯόʔͷٕज़ྗʹΑͬͯίʔυͷ࣭ʹ͕ࠩग़Δ ɾٕज़ྗʹ͕ࠩͳͯ͘ɺϓϩδΣΫτશମͰॻ͖ํ͕౷ҰͰ͖ͳ͍
18 ΞʔΩςΫνϟ͕ਁಁ͢ΔલͷιϑτΣΞ։ൃ 3min ϓϩδΣΫτશମͰઃܭΛ౷Ұ͠Α͏ʂ ͞Βʹͦͷઃܭʹै͏͚ͩͰɺϕετϓϥΫςΟεͳ։ൃ ͕Ͱ͖ΔΑ͏ʹϧʔϧΛܾΊΑ͏ʂ MVCɺFluxͳͲͷΞʔΩςΫνϟ͕ొ
19 ΞʔΩςΫνϟͬͯͳʹʁ 5min ؓٳ
20 ΞʔΩςΫνϟͬͯͳʹʁ 5min ΞʔΩςΫνϟͱ طଘͷϕετɾϓϥΫςΟεʹଇͬͨɺ ϓϩδΣΫτશମͷ࣮ύλʔϯͷ͜ͱ
21 ΞʔΩςΫνϟͬͯͳʹʁ 5min ౷Ұ͞ΕͨΞʔΩςΫνϟΛಋೖ͢Δ͜ͱͰ ɾΞʔΩςΫνϟͷϧʔϧʹैͬͯ։ൃΛ͢Εɺ ɹطଘͷϕετɾϓϥΫςΟεΛҙࣝ͠ͳͯ͘ʢ͋Δ͍Βͳͯ͘ʣ ɹมߋʹڧ͍ΫϦʔϯͳίʔυΛॻ͚ΔΑ͏ʹͳΔ ɾ։ൃνʔϜͷ୭͕ॻ͍ͨίʔυͰɺ ɹଞͷਓ͕؆୯ʹಡΊΔɺ·ͨमਖ਼ΛͰ͖ΔΑ͏ʹͳΔ
దͳΞʔΩςΫνϟબఆͷίπ 3min
23 దͳΞʔΩςΫνϟબఆͷίπ 3min ɾͲͷΞʔΩςΫνϟΛબͿ͔ʹਖ਼ղɾෆਖ਼ղͳ͍ ɾجຊతʹͲΜͳΞʔΩςΫνϟͰɺ ɹͲΜͳΞϓϦέʔγϣϯ։ൃ͕Ͱ͖Δɻ
24 దͳΞʔΩςΫνϟબఆͷίπ 3min ΞʔΩςΫνϟΛߟ͑Δͱ͖ʹߟྀ͢Δ͜ͱ ɾΞϓϦέʔγϣϯͷෳࡶ͞ ɾ։ൃνʔϜͷਓɾٕज़ྗ ɾσϑΝΫτελϯμʔυͳ࣮
25 దͳΞʔΩςΫνϟબఆͷίπ 3min ΞʔΩςΫνϟΛߟ͑Δͱ͖ʹߟྀ͢Δ͜ͱ ɾΞϓϦέʔγϣϯͷෳࡶ͞ ɾ։ൃνʔϜͷਓɾٕज़ྗ ɾσϑΝΫτελϯμʔυͳ࣮
26 దͳΞʔΩςΫνϟબఆͷίπ 3min ɾΞϓϦέʔγϣϯͷෳࡶ͞ γϯϓϧͳΞϓϦ։ൃͰ͋Εɺίʔυ͕ʹͳΓ͍͢Flux ͳͲͷΞʔΩςΫνϟΑΓɺMVCMVVMͷ΄͏͕ૣ͘։ൃ͕Ͱ͖Δ ҰํɺFluxReduxɺMVIͷΑ͏ͳΞʔΩςΫνϟίʔυͷ੍͕ ڧ͍ͨΊɺେنͳ։ൃͰഁͮ͠Β͍ ͨͩ͠ɺίʔυৗʹෳࡶԽ͍ͯ͘͠ͷͳͷͰɺݟۃΊ͕ඞཁ
27 దͳΞʔΩςΫνϟબఆͷίπ 3min ΞʔΩςΫνϟΛߟ͑Δͱ͖ʹߟྀ͢Δ͜ͱ ɾΞϓϦέʔγϣϯͷෳࡶ͞ ɾ։ൃνʔϜͷਓɾٕज़ྗ ɾσϑΝΫτελϯμʔυͳ࣮
28 దͳΞʔΩςΫνϟબఆͷίπ 3min ɾ։ൃνʔϜͷਓɾٕज़ྗ ։ൃϝϯόʔ͕ଟ͍͚ΕɺΞʔΩςΫνϟʹΑΔ੍͕ڧ͍ํ͕Α͍ ΞʔΩςΫνϟͷ֓೦ࣗମ͕͍͠߹ɺϝϯόʔશһ͕ͦΕΛशಘ͢Δ ίετ։ൃͷʹؚ·ΕΔɻ ։ൃϝϯόʔͷେ෦͕׳Ε͍ͯΔΞʔΩςΫνϟ͕͋ΕɺͦΕΛ ·ͣݕ౼͢Δ
29 దͳΞʔΩςΫνϟબఆͷίπ 3min ΞʔΩςΫνϟΛߟ͑Δͱ͖ʹߟྀ͢Δ͜ͱ ɾΞϓϦέʔγϣϯͷෳࡶ͞ ɾ։ൃνʔϜͷਓɾٕज़ྗ ɾσϑΝΫτελϯμʔυͳ࣮
30 దͳΞʔΩςΫνϟબఆͷίπ 3min ɾσϑΝΫτελϯμʔυͳ࣮ Ͱ͖Δ͚ͩελϯμʔυͳΞʔΩςΫνϟΛબΜͩํ͕ɺϥΠϒϥϦ͕ ॆ࣮͍ͯͨ͠ΓɺυΩϡϝϯτStack OverflowͷճͳͲͷࣝʹ ΞΫηε͍ͨ͢͠ΊΑ͍ AndroidͰ͋ΕMVVM͕ެࣜʹαϙʔτ͞Ε͍ͯΔɻiOSʹެࣜͷ ࣮ͳ͍͕ɺClean
ArchitectureFluxʹΑΔ࣮ྫ͕ଟ͍
31 దͳΞʔΩςΫνϟબఆͷίπ 3min Ҏ্ͷΑ͏ͳߟྀ͖͢ΛΫϦΞͰ͖͍ͯΕɺ جຊతʹԿΛબΜͰͳ͍
32 దͳΞʔΩςΫνϟબఆͷίπ 3min ͨͩ͠ɺෳͷઃܭΛࠞͥͳ͍Α͏ʹ͢Δ A͞Μ B͞Μ Flux͕͖ͳͷͰɺࣗͷϩάΠϯը໘ FluxΛ࠾༻͠·͢ʂ MVCʹ׳Ε͍ͯΔͷͰɺͷ୲͍ͯ͠Δ ϓϩϑΟʔϧը໘MVCΛͱʹઃܭ͠·͢ʂ
33 దͳΞʔΩςΫνϟબఆͷίπ 3min ͨͩ͠ɺෳͷઃܭΛࠞͥͳ͍Α͏ʹ͢Δ A͞Μ B͞Μ B͞Μͷίʔυ͕ಡΊͳ͍ɻɻɻ A͞Μͷίʔυ͕ಡΊͳ͍ɻɻɻ C͞Μ A͞Μͷ୲ՕॴͱB͞Μͷ୲Օॴʹ
ಉ͡Α͏ͳमਖ਼Λ͍ͨ͠ͷʹ ઃܭ͕શ͘ҧ͍ͬͯ͠ɻɻɻ
͍Ζ͍ΖͳΞʔΩςΫνϟͷհ 6min
35 ͍Ζ͍ΖͳΞʔΩςΫνϟͷհ 6min ɾMVC ɾMVVM ɾClean Architecture ɾFlux ɾMVI ࠓհ͢ΔΞʔΩςΫνϟ
36 ͍Ζ͍ΖͳΞʔΩςΫνϟͷհ 6min ɾMVC ɾMVVM ɾClean Architecture ɾFlux ɾMVI ࠓհ͢ΔΞʔΩςΫνϟ
37 ͍Ζ͍ΖͳΞʔΩςΫνϟͷհ 6min ɾMVC Model View Controller ΞϓϦέʔγϣϯͷϩδοΫΛ୲͢Δ ը໘ͷඳըΛ୲͢Δ Model
- ViewͷؒʹཱͬͯͦΕͧΕͷೖग़ྗΛ நԽ͢Δ ex) View͔Βड͚औͬͨΫϦοΫΠϕϯτΛ ɹʮσʔλΛऔಘ͍ͨ͠ʯͱ͍͏ϦΫΤετͱͯ͠ ɹ ModelʹૹΔ
38 ͍Ζ͍ΖͳΞʔΩςΫνϟͷհ 6min ɾMVC ϝϦοτ σϝϦοτ ModelʹϩδοΫͷॲཧΛͤΔ ͜ͱͰɺView͕ංେԽͮ͠Β͘ͳΔ Controller͕ؒʹཱͭ͜ͱʹΑͬͯ ModelͱView͕ૄ݁߹ʹͳΔ
֤෦ΛͲ͏࣮͢Δ͔݁ہ ͦΕͧΕͷ࣮ऀʹҕͶΒΕ͍ͯΔ Ͳ͜ʹॻ͚͍͍͔ܾΊΒΕ͍ͯͳ͍ ͜ͱ͕ଟ͍
39 ͍Ζ͍ΖͳΞʔΩςΫνϟͷհ 6min ɾMVC ɾMVVM ɾClean Architecture ɾFlux ɾMVI ࠓհ͢ΔΞʔΩςΫνϟ
40 ͍Ζ͍ΖͳΞʔΩςΫνϟͷհ 6min ɾMVVM ModelɾView ViewModel MVCͱಉ͡ Viewͷঢ়ଶཧɺߋ৽Λߦ͏ Viewͷঢ়ଶͱViewModelͷঢ়ଶৗʹ ಈዲ͞Ε͍ͯͯɺViewModelͷߋ৽͙͢ʹ
Viewʹө͞ΕɺΫϦοΫͳͲͷViewͷΠϕϯτ ViewModelܦ༝ͰModelʹ͑ΒΕΔ
41 ͍Ζ͍ΖͳΞʔΩςΫνϟͷհ 6min ɾMVVM https://qiita.com/rmakiyama/items/779cf6407f70b40e4ee7 ΑΓ
42 ͍Ζ͍ΖͳΞʔΩςΫνϟͷհ 6min ɾMVVM ϝϦοτ σϝϦοτ ViewModelͷঢ়ଶΛߋ৽͢Δ͚ͩͰ ࣗಈతʹView͕ߋ৽͞ΕΔͨΊɺ Viewͷঢ়ଶཧ͕Θ͔Γ͍͢ ViewModel
- Viewͷঢ়ଶΛSync ͤ͞ΔΈ͕ඞཁ (RxʹΑΔঢ়ଶมߋ௨ͳͲ) ViewModel͕ංେ͍͢͠
43 ͍Ζ͍ΖͳΞʔΩςΫνϟͷհ 6min ɾMVC ɾMVVM ɾClean Architecture ɾFlux ɾMVI ࠓհ͢ΔΞʔΩςΫνϟ
44 ͍Ζ͍ΖͳΞʔΩςΫνϟͷհ 6min ɾClean Architecture https://blog.cleancoder.com/uncle-bob/2012/08/13/the-clean-architecture.html ΑΓ
45 ͍Ζ͍ΖͳΞʔΩςΫνϟͷհ 6min ɾClean Architecture MVCͳͲͷΞʔΩςΫνϟΛ ϨΠϠʔ͝ͱͷΛ໌֬Խͯ͠ ࠶ઃܭͨ͠ͷ σʔλͷྲྀΕৗʹ ʮ֎ˠˠ֎ʯͱͳΔΑ͏ʹ
ઃܭ͞Ε͓ͯΓɺUseCase͕ σʔλͷྲྀΕͷؒʹཱͬͯ ϩδοΫΛׂ͢Δ
46 ͍Ζ͍ΖͳΞʔΩςΫνϟͷհ 6min ɾClean Architecture ϝϦοτ σϝϦοτ ֤ϨΠϠʔͷ͕໌֬ͳͨΊɺ ԿΛͲ͜ʹॻ͔͕࣮͘ऀʹΑͬͯ มΘΔ͜ͱ͕গͳ͍
DDD(υϝΠϯۦಈઃܭ)Λͱʹ ͍ͯ͠ΔͨΊɺClean Architecture Ͱྑ͍ίʔυΛॻ͘ʹDDDͷࣝ ͕ඞཁʹͳΔ UseCase͕ॲཧΛࡉ͔͘ ׂ͢ΔͨΊɺϩδοΫͷ࠶ར༻ੑ͕ ߴ·Δ
47 ͍Ζ͍ΖͳΞʔΩςΫνϟͷհ 6min ɾMVC ɾMVVM ɾClean Architecture ɾFlux ɾMVI ࠓհ͢ΔΞʔΩςΫνϟ
48 ͍Ζ͍ΖͳΞʔΩςΫνϟͷհ 6min ɾFlux https://facebook.github.io/flux/ ΑΓ
49 ͍Ζ͍ΖͳΞʔΩςΫνϟͷհ 6min ɾFlux ୯ํσʔλϑϩʔͷදతͳ ΞʔΩςΫνϟ ΞϓϦέʔγϣϯͷঢ়ଶStoreͷΈʹ Αͬͯཧ͞ΕɺͦΕҎ֎Storeͷঢ়ଶΛ ߋ৽͢ΔͨΊͷϞδϡʔϧ ঢ়ଶͷߋ৽ඞͣ
View → Action → Dispatcher → Store ͷॱʹσʔλ͕ྲྀΕΔ͜ͱͰߦΘΕΔ
50 ͍Ζ͍ΖͳΞʔΩςΫνϟͷհ 6min ɾFlux ϝϦοτ σϝϦοτ ঢ়ଶ͕Storeʹू͞ΕΔͨΊ ཧ͕͍͢͠ ಉظతͳঢ়ଶߋ৽Λجຊʹ ͍ͯ͠ΔͨΊɺ௨৴ͳͲͷඇಉظ
ॲཧͱͷ࿈ܞʹ͕ඞཁ ΞʔΩςΫνϟϨϕϧͰςετ༰қੑ ͕ߟ͑ΒΕ͍ͯΔ ঢ়ଶͷߋ৽͕Actionͱ݁ͼͭͨ͘Ί ͲͷΑ͏ͳঢ়ଶߋ৽͕͋Δ͔Λ Ұཡ͍͢͠
51 ͍Ζ͍ΖͳΞʔΩςΫνϟͷհ 6min ɾMVC ɾMVVM ɾClean Architecture ɾFlux ɾMVI ࠓհ͢ΔΞʔΩςΫνϟ
52 ͍Ζ͍ΖͳΞʔΩςΫνϟͷհ 6min ɾMVI
53 ͍Ζ͍ΖͳΞʔΩςΫνϟͷհ 6min ɾMVI Fluxͱಉ༷ʹ୯ํσʔλϑϩʔͷ ΞʔΩςΫνϟ Intent, Action, Result, Stateͱ͍͏
σʔλͱɺಁաతͳؔͷΈͰ࣮ ͢Δ
54 ͍Ζ͍ΖͳΞʔΩςΫνϟͷհ 6min ɾMVI ϝϦοτ σϝϦοτ ঢ়ଶߋ৽ͷϩδοΫͷࢀরಁաੑ ͕୲อ͞Ε͍ͯΔͨΊɺςετ͕ ॻ͖͍͢ FluxΑΓ֤Ϟδϡʔϧͷׂ͕
ࡉԽ͞Ε͍ͯΔͨΊɺ ࣮ऀʹΑΔίʔυͷϒϨ͕গͳ͍ ϘΠϥʔϓϨʔτ͕ଟ͘ɺ؆୯ͳ࣮Λ ͢Δ͚ͩͰଟ͘ͷίʔυΛॻ͘ඞཁ͕ ͋Δ
·ͱΊ 2min
56 ·ͱΊ 2min ΞʔΩςΫνϟʹۜͷؙͳ͍ దͳΞʔΩςΫνϟʹଇͬͯ։ൃΛߦ͏͜ͱͰɺ ϓϩάϥϛϯάͷϕετϓϥΫςΟεΛϓϩδΣΫτશମͰकΔ͜ͱ͕Ͱ͖Δ ΞʔΩςΫνϟͷઃܭطଘͷΞʔΩςΫνϟͷબʹ ϕετϓϥΫςΟεΛΔ͜ͱ͕େ
57 ·ͱΊ 2min ͋Γ͕ͱ͏͍͟͝·ͨ͠ @AbemaTV Hack https://twitter.com/itometeam https://github.com/itome https://medium.com/@itometeam