発表資料 @ Rails Developers Meetup 2018 Day 3 Extreme
https://techplay.jp/event/679666
ご意見、ご感想、議論は https://twitter.com/taiki__t までお願いします!
ΦϒδΣΫτࢦઃܭ࣮ફΨΠυ ͜Ε͚࣮ͩફ͠ͱ͜͏ΨΠυby @taiki_ _t ԙ: Rails Developers Meetup 2018-7-14
View Slide
ͰɺͩΕʁ
ଞ໊
༁ऀͰ͢[email protected]@UΑ͔ͬͨΒ ώϣϩʔ͓ͳ͠Ό͢ʂཬSC (SBQI2-5PLZP ओ࠵
࠷ۙͷ׆ಈΞϓϦ࡞ͬͯ·͢3FBDU/BUJWF 3BJMT (SBQI2-
ϩʔΧϧ൪ɾ$.ͷΑ͏ͳใڞ༗खஈΛશһͷखʹɻ୭͕ۙ͘ͷਓʹใΛ͑ΒΕΔɺ୭͕ۙ͘ͷใΛಘΒΕΔɻ͜Ε·Ͱࢿຊ͕ͳ͚ΕͰ͖ͳ͔ͬͨใ֦ࢄखஈΛશһͷखʹղ์ɻ$PODFQUΞϓϦհ
ौ୩۠ஸLNݍ✅ߘʹҐஔใ͕ࣗಈͰͭ͘✅Ӿཡ͢ΔਓډॴºൣғͰߘΛߜΕΔߘ͢Δ͚ͩͰۙ͘ͷਓʹڭ͑ΒΕΔ ։͚ͩ͘Ͱͦͷͷใ͕ΈΕΔ1SPEVDU✅ࣸਅΛࡱͬͯߘΞϓϦհ
·͋৭ʑ͍͠
ײͩ͋͘͠ʢJ04ʣ
࣮ફͱ
࠷খݶͷίετͰ࠷େݶมߋʹڧ͍ίʔυΛॻ͘ݶΒΕͨ࣌ؒͱ Ϧιʔεͷதલఏඪ
lࠓʹͰձ͕ࣾ࢈ͯ͠͠·͏ͱ͍͏ঢ়گͰ͋ΕɺཌʹɺͦͷίʔυʹͲΕ͚ͩͷίετ͕͔͔Δ͔Λؾʹ͍ͯ͠Δ߹Ͱ͋Γ·ͤΜɻ༩͑ΒΕͨ࣌ؒͰ࠷ળΛਚ͔͘͢͠ͳ͍ͷͰ͢ɻzൈਮ ΦϒδΣΫτࢦઃܭ࣮ફΨΠυʙ3VCZͰΘ͔ΔਐԽ͚ͭͮ͠ΔॊೈͳΞϓϦέʔγϣϯͷҭͯํ 4BOEJ.FU[ɺ∁ࢁହج
lઃܭʹ݄͔͔ΓɺརӹΛੜΈग़͢Α͏ʹͳΔ·Ͱʹ͔͔ΔΑ͏Ͱ͋Εɺ͓ͦΒͦ͘ͷઃܭʹݟ߹͏΄ͲͷՁ͋Γ·ͤΜɻzൈਮ ΦϒδΣΫτࢦઃܭ࣮ફΨΠυʙ3VCZͰΘ͔ΔਐԽ͚ͭͮ͠ΔॊೈͳΞϓϦέʔγϣϯͷҭͯํ 4BOEJ.FU[ɺ∁ࢁହج
ݱ࣮
✔ݶΒΕͨ࣌ؒ✔ݶΒΕͨϦιʔε✔มԽ͢Δཁٻ✔༧ଌͰ͖ͳ͍ະདྷ
ͷதͰ
lݱ࣌ɺͦͯ͠ະདྷʹ͓͍ͯɺҰ؏ͯ͠අ༻ରޮՌͷ༏ΕͨߏΛߟ͑Δඞཁ͕͋Γ·͢ɻzൈਮ ΦϒδΣΫτࢦઃܭ࣮ફΨΠυʙ3VCZͰΘ͔ΔਐԽ͚ͭͮ͠ΔॊೈͳΞϓϦέʔγϣϯͷҭͯํ 4BOEJ.FU[ɺ∁ࢁହج
ੜ͖ൈ͘ʜ
ઃܭ
l࣮༻తͳઃܭͱɺະདྷΛਪଌ͢ΔͷͰͳ͘ɺະདྷΛड͚ೖΕΔͨΊͷબࢶΛอޢ͢ΔͷͳͷͰ͢ɻzൈਮ ΦϒδΣΫτࢦઃܭ࣮ફΨΠυʙ3VCZͰΘ͔ΔਐԽ͚ͭͮ͠ΔॊೈͳΞϓϦέʔγϣϯͷҭͯํ 4BOEJ.FU[ɺ∁ࢁହج
࠷খݶͷίετͰ࠷େݶมߋʹڧ͍
ͦ͜Ͱ
536&ݪଇΦϒδΣΫτࢦઃܭ࣮ફΨΠυ ͜Ε͚࣮ͩફ͠ͱ͜͏ΨΠυᶃ
ݟ௨͕͠ྑ͍ʢ5SBOTQBSFOUʣɿมߋ͢Δίʔυʹ͓͍ͯɺͦͷίʔυʹґଘ͢Δผͷॴͷίʔυʹ͓͍ͯɺมߋ͕ͨΒ͢Өڹ͕໌നͰ͋Δར༻ੑ͕ߴ͍ʢ6TBCMFʣɿͲΜͳมߋͰ͋ͬͯɺ͔͔Δίετมߋ͕ͨΒ͢རӹʹ;͞Θ͍͠߹ཧతʢ3FBTPOBCMFʣɿ৽͍͠ڥɺ༧ظ͍ͯ͠ͳ͔ͬͨڥͰ࠶ར༻Ͱ͖Δൣతʢ&YFNQMBSZʣɿίʔυʹมߋΛՃ͑Δਓ͕ɺ্هͷ࣭ΛࣗવͱอͭΑ͏ͳίʔυʹͳ͍ͬͯΔൈਮ ΦϒδΣΫτࢦઃܭ࣮ફΨΠυʙ3VCZͰΘ͔ΔਐԽ͚ͭͮ͠ΔॊೈͳΞϓϦέʔγϣϯͷҭͯํ 4BOEJ.FU[ɺ∁ࢁହج
ݟ௨͕͠ྑ͘ɺ߹ཧతͰɺར༻ੑ͕ߴ͘ɺൣతʢͦΕͧΕͷӳ୯ޠͷ಄จࣈΛͱͬͯ536&ʣͳίʔυ͍·ݱࡏͷχʔζΛຬ͚ͨͩ͢Ͱͳ͘ɺকདྷతͳχʔζΛຬͨ͢Α͏ʹมߋΛՃ͑Δ͜ͱͰ͖·͢ɻൈਮ ΦϒδΣΫτࢦઃܭ࣮ફΨΠυʙ3VCZͰΘ͔ΔਐԽ͚ͭͮ͠ΔॊೈͳΞϓϦέʔγϣϯͷҭͯํ 4BOEJ.FU[ɺ∁ࢁହج
ൈਮ ΦϒδΣΫτࢦઃܭ࣮ફΨΠυʙ3VCZͰΘ͔ΔਐԽ͚ͭͮ͠ΔॊೈͳΞϓϦέʔγϣϯͷҭͯํ 4BOEJ.FU[ɺ∁ࢁହج536&ͳίʔυΛॻͨ͘Ίͷ࠷ॳͷҰาɺͦΕͧΕͷΫϥε͕ɺ໌֬ʹఆٛ͞Εͨ୯ҰͷΛ࣋ͭΑ͏పఈ͢Δ͜ͱͰ͢ɻ
୯ҰΦϒδΣΫτࢦઃܭ࣮ફΨΠυ ͜Ε͚࣮ͩફ͠ͱ͜͏ΨΠυᶄ536&ͳίʔυͷͨΊʹ
Ϋϥε
ϝιου
୯ҰΛ৺͕͚Α͏
ͰͰ͖ͳ͍ͱ͖͋ΔΑͶ
ίϝϯτΦϒδΣΫτࢦઃܭ࣮ફΨΠυ ͜Ε͚࣮ͩફ͠ͱ͜͏ΨΠυᶅ
536&ݪଇ͔Β ΕΔ࣌ ίϝϯτͰิ͏
ݟ௨͕͠ྑ͘ͳ͍ʢ҉ͷ͕ࣝ͋Δʣͱ͖ͦΕΛॻ͘֎෦ίϯϙʔωϯτͷಈ͖ͱ͔https://github.com/facebook/react-native/blob/e9e20e6c8335f27af8469cd23cb7ba079b0422f9/local-cli/generator/templates.js#L49
߹ཧత͡Όͳ͍ͱ͖ྫӡ༻ͨ͠Βരൃ͢Δ͡ΌΜɺΈ͍ͨͳίʔυͳͲྫԠٸॲஔ
ར༻ੑ͕͍ͱ͖࠶ར༻ੑ͕ͯ͘ྑ͍ཧ༝Λॻ͘ɻྫݕূ͕ऴΘͬͨΒ͙͢ফ͢ίʔυ
ൣత͡Όͳ͍ͱ͖ɿਅࣅ͠ͳ͍ͰͶɺͱཧͲ͏͔Λॻ͘ɻ༁͜͜ʹ͜ͷίʔυ͕͋Δͷ͋ΔछͷϋοΫɻ50%0ΠϯλʔϑΣʔεʹՃ͢ΔIUUQTHJUIVCDPNGBDFCPPLSFBDUOBUJWFCMPCFGCGFBCGDEEDCD3FBDU"OESPJETSDNBJOKBWBDPNGBDFCPPLSFBDUCSJEHFCSJEHFQSP
ৗʹ536&Λҙࣝ͢Δ
૯ྗઓͰ มߋʹڧ͍ίʔυΛ࡞͍ͬͯ͜͏
536&ݪଇΦϒδΣΫτࢦઃܭ࣮ફΨΠυ ͜Ε͚࣮ͩફ͠ͱ͜͏ΨΠυ·ͱΊ୯Ұৗʹҙࣝ৺͕͚Ͱ͖ͳ͍ͱ͖
൪֎ฤ΄͔ͷث
ίϐϖίϐϖ࣌ʹڧྗͳثͩ
ίϐϖͰ͖ͳ͍΄Ͳ ͍ίʔυෳࡶͳίʔυॻ͔ͳ͍ίϝϯτઈର͠Α͏͍͍ͤͥճ͙Β͍·ͰɻճҎ߱நԽΓ͚Λ͠Α͏
༧ݴ͠ͳ͍
lϓϩάϥϚʔೳྗऀͰͳ͍ͷͰɺಛఆͷະདྷΛ༧ଌͨ͠ઃܭɺ͍͍ࣦͨͯഊʹऴΘΓ·͢ɻzൈਮ ΦϒδΣΫτࢦઃܭ࣮ફΨΠυʙ3VCZͰΘ͔ΔਐԽ͚ͭͮ͠ΔॊೈͳΞϓϦέʔγϣϯͷҭͯํ 4BOEJ.FU[ɺ∁ࢁହج
ྫɿநԽͯ͠ ϙϦϞʔϑΟοΫؔ࿈ ࡞ͬͨΓͯ͠Θͳ͔ͬͨɾ͑ͳ͍͜ͱ͕Θ͔ͬͨΒࢮ
EVQMJDBUJPOJTGBSDIFBQFSUIBOUIFXSPOHBCTUSBDUJPOIUUQTXXXTBOEJNFU[DPNCMPHUIFXSPOHBCTUSBDUJPO
QSFGFSEVQMJDBUJPOPWFSUIFXSPOHBCTUSBDUJPOIUUQTXXXTBOEJNFU[DPNCMPHUIFXSPOHBCTUSBDUJPO
νʔϜͷ ߹ҙ
ίʔυͷ߹ཧੑϓϩμΫτͷϑΣʔζνʔϜʹΑͬͯมΘΔͷͰΑͦ͘͏
ٞͷ ʢڞ௨ݴޠʣ͕ཉ͍͠
ྑ͍ຊ͕͋Δ
?V?
͋Ε͍ͨ͜͠Ε͍ͨ͠ ͬͱ͍ͨͬ͠ͱͬͱ͍ͨ͠ 5)&#-6&)&"354ເ
ݶΒΕͨ࣌ؒͷͳ͔Ͱ आΓͷͷ࣌ؒͷͳ͔Ͱ ຊͷເΛݟΔΜͩ 5)&#-6&)&"354ເ
͍͖ͬͯ
ΦϒδΣΫτࢦઃܭ࣮ફΨΠυ ͜Ε͚࣮ͩફ͠ͱ͜͏ΨΠυby @taiki_ _t ԙ: Rails Developers Meetup 2018-7-145)"/,:06