設計パターンをMVVMからFluxに変更し、開発速度を向上させた話です。
ٕज़తෛ࠴͖߹͏d։ൃΛ͍͔ʹ্ͤ͞Δ͔dגࣜձࣾλΠϛʔѨٱַࢤ
View Slide
ࠓͷྲྀΕٕज़తෛ࠴ͱٕज़తෛ࠴ͱͦͷ݁Ռੜ͡ΔλΠϛʔͰͲͷΑ͏ʹରԠ͔ͨ͠։ൃͷվળෆ۩߹Λى͜͞ͳ͍ͨΊʹ·ͱΊ
ٕज़తෛ࠴ͱΟΩϖσΟΞٕज़తෛ࠴ʢӳ5FDIOJDBMEFCUʣͱɺߦ͖ͨΓͬͨΓͳιϑτΣΞΞʔΩςΫνϟͱɺ༨༟ͷͳ͍ιϑτΣΞ։ൃ͕Ҿ͖ى݁͜͢Ռͷ͜ͱΛࢦ͢৽͍͠ൺᄻͰ͋Δɻʮઃܭ্ͷෛ࠴ EFTJHOEFCUʯͱݴ͏ɻ
ٕज़తෛ࠴ͱΥʔυɾΧχϯΨϜ4IJQQJOHpSTUUJNFDPEFJTMJLFHPJOHJOUPEFCUʢ࠷ॳͷίʔυΛग़ՙ͢Δ͜ͱɺआۚΛ͠ʹߦ͘ͷͱಉ͡Ͱ͋Δɻʣ
ٕज़తෛ࠴ͱͭ·Γʜෛ࠴ɺ༨༟ͷͳ͍։ൃʹΑͬͯੜΈग़͞ΕΔͷͰ͋ΓɺαʔϏεΛ։ൃ্͍ͯ͘͠Ͱආ͚Δ͜ͱग़དྷͳ͍ɻ
ٕज़తෛ࠴ͱͦͷ΄͔ʹ༷ʑͳݪҼ͕͋Δͦͷ࣌ͦͷ࣌Ͱͷ։ൃνʔϜɾڥͷมԽݴޠ༷ɾ։ൃڥͷΞοϓσʔτϝϯόʔͷεΩϧ্ঢʢʹΑΓաڈͷίʔυ͕ෛ࠴ʹײ͡ΔʣͳͲʜ
ٕज़తෛ࠴ͱٕज़తෛ࠴ʹΑͬͯੜ͡Δ։ൃͷԼෆ۩߹͕ൃੜ͘͢͠ͳΔ
λΠϛʔͰٕज़తෛ࠴ʹΑΓʮ։ൃ͕Լ͢Δʯʮෆ۩߹͕ൃੜ͘͢͠ͳΔʯͱݴ͏ʹͲ͏ରԠͨ͠ͷ͔ɻ
ʮ։ൃͷԼʯͱ͍͏ઃܭΛݟ͢͜ͱͰվળͨ͠ .77.͔Β'MVYҠߦ·ͨ͠ɻ
ʮ։ൃͷԼʯͱ͍͏۩ମతʹͲ͏͍͏͕ى͍ͬͯͨ͜ͷ͔ΑΓྑ͍6*69Λٻ͢ΔͨΊɺࡉ͔͍ɾܧଓతͳ7JFXͷվળ͕ߦΘΕ͍ͯΔɻ͔͠͠ɺσβΠϯ্ࠣࡉͳมߋͩͱͯ͠ઃܭͷ߹্ɺमਖ਼ʹ૾Ҏ্ͷ͕ൃੜ͢Δ͜ͱ͕ଟʑ͋ͬͨ
ʮ։ൃͷԼʯͱ͍͏มߋલมߋޙσβΠϯมߋ͞Ε͍ͯΔ͕ɺϏδωεϩδοΫԿมΘ͍ͬͯͳ͍ɻσβΠϯ্ͷมߋՕॴ मਖ਼ཧ༝Λهೖ͢ΔλΠϛϯά͕มΘͬͨ ʮۀ࣌ؒʯͱʮٳܜ࣌ؒʯΛೖྗ͢Δը໘͕ผʑʹͳͬͨϩδοΫʜʮۀ։࢝࣌ؒɾऴྃ࣌ؒɺٳܜ࣌ؒɺमਖ਼ཧ༝Λೖྗ͢Δʯͱݴ͏ߦҝมΘΒͳ͍
ʮ։ൃͷԼʯͱ͍͏.77.࣌̍ը໘ʹ͖ͭɺͭͷ7JFX.PEFMΛ࣋ͭͱݴ͏ํͰ։ൃ͍ͯͨ͠
ʮ։ൃͷԼʯͱ͍͏.77.࣌ͷͭΒΈᶃ֤ը໘͝ͱʹϩδοΫΛ͍࣋ͬͯΔͨΊɺͭͷը໘ͰߦΘΕ͍ͯͨॲཧ͕σβΠϯͷมߋʹΑΓଞͷը໘ͰߦΘΕΔΑ͏ʹͳΔͱɺϩδοΫ·Ͱमਖ਼ΛՃ͑Δඞཁ͕ग़ͯ͘Δɻʢ7JFXͷมߋͳͷʹɺϩδοΫΛमਖ਼͠ͳ͍ͱ͍͚ͳ͍ͷਏ͍ ʣྫٳܜ࣌ؒͷೖྗ͕ผͷը໘ͰߦΘΕΔΑ͏ʹͳͬͨ
ʮ։ൃͷԼʯͱ͍͏.77.࣌ͷͭΒΈᶄෳͷը໘ʹ·͕ͨͬͯॲཧ͕ߦΘΕͨ࣌ɺը໘ؒͷͷड͚͕͠ਏ͍
ʮ։ൃͷԼʯͱ͍͏'MVY֤࣌ػೳ͝ͱʹϩδοΫΛཧ͢ΔΑ͏ʹͳͬͨը໘ׂ͕͞ΕΑ͏͕ϩδοΫͷमਖ਼ෆཁ ڞ௨ͷ4UPSFΛͭอ࣋͢Δ͚ͩͰࡁΉͷͰɺෳͷը໘ʹ·͕ͨͬͨॲཧ؆୯
ʮෆ۩߹Λ͙ʯͨΊʹߦ͍ͬͯΔ͜ͱదͳ୯ҐͰϞδϡʔϧׂΛߦ͍ͬͯΔखಈͰ2"͠ʹ͍͘ॴʹςετΛపఈ
ʮෆ۩߹Λ͙ʯͨΊʹߦ͍ͬͯΔ͜ͱᶃదͳ୯ҐͰϞδϡʔϧׂΛߦ͏ॲཧDMBTTͰด͡ΔΑ͏ʹదͳ୯ҐʹDMBTTΛΓ͚Δ֤ػೳΛ'SBNFXPSLʹΓ͚Δ
ʮෆ۩߹Λ͙ʯͨΊʹߦ͍ͬͯΔ͜ͱᶄखಈͰ2"͠ʹ͍͘ՕॴʹςετΛॻ͘શͯΛςετͰ୲อͰ͖͍ͯΔΘ͚Ͱͳ͍खಈͰͷ2"͕ࠔͳՕॴΛத৺ʹςετΛॻ͍͍ͯΔʢىಈपΓɺཁૉͷpMUFSTPSUɺ֤छঢ়ଶʣܕ͋Δछͷςετςετ͕͋Δͱ͍͑ɺಡΈ͍͢ίʔυৗʹҙࣝ
·ͱΊᶃదͳઃܭύλʔϯΛ࠾༻͢Δ͜ͱͰ։ൃΛ্͢Δ͜ͱ͕Ͱ͖ͨᶄదͳ୯ҐͰϞδϡʔϧׂΛ͢Δ͜ͱͰෆ۩߹Λ͍Ͱ͍ΔᶅखಈͰ2"͠ʹ͍͘ॴɺపఈతʹςετΛॻ͘
ऴΘΓʹʜٕज़తͳෛ࠴͕θϩʹͳΔ͜ͱͳ͍ͱࢥ͍·͢ɻʮෛ࠴ʯʹෛ࠴ΛॏͶΔ͜ͱͤͣɺ͜·ΊͳϦϑΝΫλϦϯάΛ͍ͯ͘͜͠ͱ͕ԿΑΓେͳͷͰͳ͍Ͱ͠ΐ͏͔ɻ