ϨϏϡʔධՁ4.7ͷൿີby punchdrunker
View Slide
ࣗݾհ→ Android > iOS > Rails→ DroidKaigiͱ͔shibuya.apkӡӦ
ΈͯͶͷϨϏϡʔධՁ→ App Store 4.6→ Google Play 4.7
͜͜1Ҏ্ͣͬͱ4.5Ҏ্
ΈͯͶΛͬͯ͘Ε͍ͯΔਓୡ→ ͓͞Μɺ͓͞Μ→ ͓͍ͪ͡ΌΜɺ͓͋ͪΌΜ→ ੰͷΈͳ͞Μ→ ࣗͨͪ։ൃϝϯόʔPO͕Ұ൪ͷϔϏʔϢʔβʔ
༷ΛܾΊΔਓ͕طଘͷ༷ʹҰ൪ৄ͍͠
ͳʹͱ͋ΕCSରԠ→ ରԠϝϯόʔ 5໊ (ؚ݉Ή)→ γϑτΛΜͰຖରԠ→ ෆ۩߹ใࠂͷϨϏϡʔͳͲඞͣฦ৴→ ͍߹Θ͕ͤଟ͍ͷϔϧϓʹه→ ͕গͳ͔ͬͨͱͯ͠ෆ۩߹ͷ༰ʹΑͬͯ༏ઌతʹରԠ
ग़དྷ͕ͨ࣌ೲظ
ྑ͍αʔϏεCSॆ࣮͍ͯ͠Δ
Θ͔Βͳ͍͜ͱͲΜͲΜฉ͜͏→ ϥΠϒϥϦͷதͰΫϥογϡ→ issueυΩϡϝϯτΛ֬ೝ→ ݟ͔ͭΒͳ͚Εฉ͘→ Կ͔͠ΒͷԠઈରΒ͑Δ→ υΩϡϝϯτʹෆඋ͕͋Εߋ৽ͯ͠Β͑Δ
࠷ۙ͋ͬͨRealmͷΫϥογϡ→ realmϑΝΠϧͷϩʔυ࣌ʹΫϥογϡ→ ಉ͡Τϥʔͷissueൃݟ→ ΊͬͪΌεϨου৳ͼͯΔ→ ݁ہͲ͏ͳͬͨͷ͔Α͘Θ͔ΒΜ
3Ͱղܾͨ͠
ରԠํ→ յΕͯ͠·ͬͨΒϦΧόʔͰ͖ͳ͍→ ԿͰյΕͨͷ͔ௐΔͷແཧͦ͏→ ྫ֎ัଊͯ͠DB࡞Γ͔͢͠ͳ͍͍realmΩϟογϡΘΓʹ͍ͬͯͨͷͰɺΩϟογϡΛ࡞Γ͢͜ͱʹ
Crash free rate→ ఆظతʹνΣοΫ→ ຖिͷ։ൃఆྫ→ ϦϦʔεޙ99.9%Ҏ্Λҡ࣋͢ΔΑ͏ʹ৺ֻ͚͍ͯΔ͕ɺ࠷ۙҊ݅ͷϦϦʔεʹԡ͞Εͯௐؾຯɻɻɻ
MDCରԠ࣮Material DesignରԠશવͬͯͳͯ͘ɺϘλϯʹripple effect͕͋Δ͘Β͍ɻϫέ͋ͬͯFABແ͍Ͱ͢ɻ
Mitene'sDeveloperExperience
Developer Experience (DX)৭ʑͳจ຺ͰΘΕΔݴ༿Ͱ͕͢ɺࠓͷจ຺Ͱ։ൃۀΛ ମݧͱͯ͠ଊ͑ɺࣗͨͪͷੜ࢈ੑΛվળ͢ΔͨΊͷج४ ͱ͓ͯ͠͠͠·͢ɻ
ྑ͍ UX
ར༻ମݧʹ಄Ͱ͖ͯɺؾ͕͚͍ͭͭͦͷΞϓϦΛ͍ͬͯΔ
ྑ͍ DX
࣌ؒΛΕͯ։ൃʹ಄Ͱ͖Δ
ѱ͍ DXͷྫ→ ϝϞϦ͕4GB͔͠ੵΊͳ͍→ ίϛοτ͢Δͷʹ্࢘ͷϋϯί͕ඞཁ→ ͍ͭෆ۩߹Λग़ͯ͠͠·ͬͨͷ͔Θ͔Βͳ͍→ ͪΐͬͱ৭Λม͍͚͑ͨͩͳͷʹɺͲ͜Λ͍͡Εྑ͍ͷ͔ෆ໌
ྑ͍ DXͷྫ→ ͖ͳOSɺεϖοΫΛબΔ→ GithubͰؾܰʹϨϏϡʔґཔɺमਖ਼ରԠ͕Ͱ͖Δ→ ίϛοτ୯ҐͰςετ͕͍ࣦͭഊ͔ͨ͠ѲͰ͖Δ→ ؾܰʹػೳՃͰ͖Δ
͖͞΄ͲͷRealmͷྫ։ൃπʔϧͷUXͱݴ͑Δ→ OSSͳͷͰ෦͕Θ͔Δ→ υΩϡϝϯτ͕ॆ࣮→ issuePR͕׆ൃͳͷͰώϯτΛݟ͚͍ͭ͢→ ͍߹ΘͤͷԠ͕ͯ͘త֬
վળͨ͠DX
DangerಋೖlintͷࢦఠϑΝΠϧͷमਖ਼࿙ΕͳͲΛGithubͷPR্Ͱࢦఠͯ͘͠ΕΔbot(ruby)→ ͜ͷstring͏ͬͯͳ͍Α→ ͜ͷϑΝΠϧमਖ਼͞Εͯͳ͍͚Ͳେৎ?→ ςετՃ͞Εͯͳ͍͚Ͳେৎ?→ ࠩେ͖͗ͯ͢ϨϏϡʔͰ͖ͳ͍Α
ݴޠϥΠϒϥϦͷΞοϓσʔτӨڹൣғΛߜΓ͍͢ͷͰɺۀҕୗ࢝͠Ί͍ͯΔ→ SwiftͷCodableͱ͔ɺKotlin KTXͱ͔γϡοͱ͍͍ͨ→ ࠷৽ͷػೳ͕͑Δͱ ςϯγϣϯ্͕Δ→ GCM2.0͔ΒFCMͷΞοϓσʔτͱ͔5·ͨ͗ͷϥΠϒϥϦߋ৽ ؾ͕໓ೖΔ
MVVMಋೖ→ େ͖ͳػೳՃͷલʹઃܭΛݟͨ͠→ Ͳ͜ʹͲΜͳΫϥεΛஔ͚ྑ͍͔໎Θͳ͘ͳͬͨ→ ςετ͕ॻ͖͘͢ͳͬͨ
πʔϧڥͷݟ͠→ ཧΧϯόϯ͔ΒTrello Ҡߦ→ Android Studiuo ʹUbuntu͕࠷ͰίεύΑ͔ͬͨ→ Ruby Mine ࠷ߴ→ Circle CI 2.0ରԠͰςετര
ΧϯϑΝϨϯεࢀՃ→ ৽͍ࣝ͠ɺग़ձ͍
ΧϯϑΝϨϯεࢀՃ→ ৽͍ࣝ͠ɺग़ձ͍→ ࣮ફͨ͘͠ͳΔ
ΧϯϑΝϨϯεࢀՃ→ ৽͍ࣝ͠ɺग़ձ͍→ ࣮ફͨ͘͠ͳΔ→ ؤுͬͯຊ൪ೖ͢Δ
ΧϯϑΝϨϯεࢀՃ→ ৽͍ࣝ͠ɺग़ձ͍→ ࣮ફͨ͘͠ͳΔ→ ؤுͬͯຊ൪ೖ͢Δ→ ·ͨߦ͔ͤͯΒ͑Δ
ΧϯϑΝϨϯεࢀՃ→ ৽͍ࣝ͠ɺग़ձ͍→ ࣮ફͨ͘͠ͳΔ→ ؤுͬͯຊ൪ೖ͢Δ→ ·ͨߦ͔ͤͯΒ͑Δ→ ϚΠϧ͕ஷ·Δ✈
࣮ࡍʹ͋ͬͨѱ͍DX
͜ͷਓ໘͔ͩΒͳʙɺϨϏϡʔͷࢦఠ࠷খݶʹ͠Α͏
HRTͷݪଇ (Team GeakΑΓ)ΊͪΌͪ͘ΌॏཁͳͷʹηϯγςΟϒͳͷͰվળ͢Δͷɺ৺ཧతʹ͔ͳΓେมɻ→ Humility: ݠڏ→ Respect: ଚܟ→ Trust: ৴པ
։ൃڥͩͱ͋Μ·Γྑ͍σʔλͳ͍͔Βຊ൪ͰΖ͏
։ൃڥվળਖ਼ݴͬͯɺվળ్্ɻՈͷࣸਅಈըΛѻ͏αʔϏεͳͷͰɺσόοά༻ͷը૾ͱ͔͚ͩͩͱ࣮ࡍͷར༻ΠϝʔδΛҙࣝ͠ͳ͕Β࡞Εͳ͍ɻ
Ұॹʹ՝ղܾͯ͘͠ΕΔਓΛืू͍ͯ͠·͢
FIN