Upgrade to Pro — share decks privately, control downloads, hide ads and more …

React Native で LDR の
クライアントを作ったというお話

React Native で LDR の
クライアントを作ったというお話

Kosuke Isobe

November 21, 2016
Tweet

More Decks by Kosuke Isobe

Other Decks in Technology

Transcript

  1. 3FBDU/BUJWF "SDIJUFDUVSF 5JUBOJVN /BUJWF"1*T 3$5#SJEHF +BWB4DSJQU$PSF ɹ3FBDUKT :PVS+BWB4DSJQU /BUJWF"1*T ɹ,SPMM#SJEHF

    +BWB4DSJQU$PSF ɹ5JUBOJVN"1*T :PVS+BWB4DSJQU /BUJWF.PEVMFT /BUJWF-JCSBSJFT +BWB4DSJQU-JCSBSJFT "MMPZ
  2. %FWFMPQNFOU$ZDMF 3FBDU/BUJWF ▸ SFBDUOBUJWFSVOJPT ▸ ࠶ಡࠐ͸γϛϡϨʔλͰ㵰 3 ▸ 0CKFDUJWF$Λ͍ͬͨ͡ͱ͖͸ 9DPEFͰ㵰

    3 ▸ $ISPNFPS4BGBSJͰDPOTPMF Λ ݟΔ͜ͱ͕Ͱ͖Δ 5JUBOJVN ▸ UJUBOJVNCVJMEQJPT ▸ -JWF7JFXͱ͍͏ɺ㵰 3ͬΆ͍΋ ͷ΋͋Δ͕एׯෆ҆ఆʢ͋·Γ࢖ͬ ͨ͜ͱ͕ͳ͍ʣɻຖճUJCVJME͠ ͯΔ ▸ DPOTPMF ͸λʔϛφϧͰ
  3. $PEJOH 3FBDU/BUJWF ▸ ͓޷͖ͳ΋ͷΛͲ͏ͧɻݸਓతʹ 8FC4UPSNࢸߴ ▸ &4࢖͑Δɻ'MPX΋࢖͑Δɻ +49ͰίϯϙʔωϯτΛॻ͍͍ͯ ͘ɻ'MVYͱ͔3FEVYͱ͔ ▸

    7JSUVBM%0.͕͢ΜͳΓड͚ೖΕ ΒΕ͍ͯΔͷͳΒҧ࿨ײͳ͍ 5JUBOJVN ▸ "QQDFMFSBUPS4UVEJPʢ͕ͩɺͭΒ ͘ͳͬͯผͷ*%&΍ςΩετΤσΟ λ΁ಀ͍͛ͯ͘ʣ ▸ #BDLCPOFKTϕʔεͷ.7$ͳ "MMPZϑϨʔϜϫʔΫ͕͋ΔɻϏϧ υ࣌ʹॲཧΛϑοΫͰ͖ΔͷͰɺ ࣗ෼ͷ޷͖ͳτϥϯεύΠϥΛ࢖ ͏͜ͱ΋Ͱ͖Δ ▸ લ৮Ε΋ͳ͘5JUBOJVNʙ͕࢝· Δɻ͓·͡ͳ͍ͷΑ͏ʹ
  4. 4UZMF 3FBDU/BUJWF ▸ جຊ$44Ά͍ɻಠಛͳ'MFYCPY͕ ࠷ॳͭΒ͔ͬͨʢࠓ΋ʣ ▸ +49ͷதʹॻ͍͍ͯ͘ɻϑΝΠϧ ୯ҐͰ෼ׂ͢ΔϝϦοτ͕͋·Γ ݟ͔ͭΒͳ͔ͬͨͷͰɺίϯϙʔ ωϯτ୯ҐͰهड़ͨ͠

    5JUBOJVN ▸ $44ͬΆ͍ɻ͋͘·ͰʮΆ͍ʯɻ ಠࣗͷελΠϧཁૉ͕๛෋ ▸ "MMPZ࢖͏ͱ544ʢ5JUBOJVN4UZMF 4IFFUʣΛ࢖͏͜ͱ΋Ͱ͖Δɻί ϯτϩʔϥͱ੾Γ཭ͤΔ ▸ "MMPZ࢖Θͳ͍ͱ+BWB4DSJQUͷத ʹهड़͢Δ
  5. $PNQPOFOU 3FBDU/BUJWF ▸ 3FBDU/BUJWFࣗମ͸جຊతͳ΋ͷ ͔͠ఏڙ͍ͯ͠ͳ͍ ▸ #VUUPOͱ͔ͳ͍ɻ 5PVDIBCMF)JHIMJHIUͱ͔૊Έ߹ ΘͤΔ ▸

    044Ͱ͍ͬͺ͍͋Δɻ/BUJWF -JCSBSZ΋͍ͬͺ͍͋Δ 5JUBOJVN ▸ ͕Μ͹ͬͯ04ʹ௥ैͯ͠Δɻ΄ ΅ἧ͖͍ͬͯͯΔͷͰ͸ ▸ ͳ͍ͷ͸ࣗ෼Ͱ/BUJWF.PEVMFॻ ͍͕ͯΜ͹Δɻ͍͍ͩͨΈΜͳࠔ ΔͷͰɺ୭͔͕ॻ͍͍ͯΔ ▸ 5JUBOJVN4%,ͷมߋʹ௥ै͢Δ ͷେมɻϞνϕʔγϣϯΛอͭͷ ͕ʜ
  6. -JTU 3FBDU/BUJWF ▸ -JTU7JFXඳըૣ͍ ▸ εΫϩʔϧͷҾֻ͔ͬΓ͕ۃখɻ ΄ͱΜͲײ͡ͳ͍ ▸ 5PVDIBCMF)JHIMJHIU͸3PXͷ ਺͕૿͑Δͱਏͦ͏ʢ಺෦͸Ͳ͏

    ͳ͍ͬͯΔ͔·Ͱ͸௥ͬͯͳ͍ʣ ▸ ηύϨʔλΛ7JFXͰ࡞Δͷ͕ ͪΐ͍ඍົ 5JUBOJVN ▸ 5J6*5BCMF7JFX͕஗͍ͷͰ 5J6*-JTU7JFX͕࡞ΒΕͨ ▸ ύϑΥʔϚϯε͸ྑ͍ײ͡ɻ 5J6*5BCMF7JFXʹ׳Ε͍ͯΔͱ ͪΐͬͱπϥΠ͔΋ ▸ 3PXͰ͸ͳ͘ɺ-JTUʹλονΠϕ ϯτΛషΔ҆৺ײɻ3PXʹ΋షΕ Δ͕ɺ਺͕૿͑Δͱॏ͘ͳΔ
  7. /FUXPSLJOH 3FBDU/BUJWF ▸ 'FUDI"1*͕࢖͑Δɻ1SPNJTFͰ ฦ٫͞Εͯ͘Δ
 
 GFUDI bIUUQT` 
 UIFO

    SFTSFTKTPO 
 UIFO KTPO\^ 
 DBUDI FSS\^  5JUBOJVN ▸ 5J/FUXPSL)551$MJFOUͰ͓͜ͳ ͏ɻ9)3)UUQ3FRVFTUͳײ͡
 
 WBSYIS 5J/FUXPSLDSFBUF)551$MJFOU 
 YISPOMPBEGVODUJPO \^
 YISPOFSSPSGVODUJPO \^
 YISPQFO b1045` bIUUQT` 
 YISTFOE 
  8. 5FTUJOH 3FBDU/BUJWF ▸ +FTU ▸ IUUQGBDFCPPLHJUIVCJPKFTU EPDTUVUPSJBMSFBDUOBUJWFIUNM ▸ ͜͜·Ͱ΍Δݩؾ͕ͳ͔ͬͨͷ Ͱɺະ஌

    5JUBOJVN ▸ ͳ͍ ▸ ͔Β࡞ͬͨɻ k0sukey/ti-slag ▸ /PEFKTͰ5JUBOJVN"1*Λٖࣅ తʹৼΔ෣͏ ▸ .PDIBͰಈ͘ ▸ γϛϡϨʔλPS࣮ػ͸ෆཁ
  9. 4VNNBSZ 3FBDU/BUJWF ▸ -FBSOPODF XSJUFBOZXIFSF ▸ 3FBDUKTͷ஌͕ࣝ׆͔ͤΔ ▸ 9DPEFͷ஌͕ࣝඞཁɻΞΠίϯͱ ͔ىಈը໘ม͑ͨΓɻετΞʹσ

    ϓϩΠ͢Δͱ͖΋4DIFNFΛฤू ͢Δඞཁ͕͋Δ 5JUBOJVN ▸ 8SJUFPODF BEBQUBOZXIFSF ▸ 5JUBOJVNͷ͓࡞๏Λ஌Δඞཁ ▸ Կ೥΋ଓ͍͖࣮ͯͨ੷͋Γ ▸ 9DPEFͷ஌ࣝ͸΄΅ඞཁͳ͍ɻ 5JUBOJVNͷੈքͷதͰ׬݁Ͱ͖Δɻ ͕ɺ্هͷ௨Γ͓࡞๏Λ஌Βͳ͍ ͱഁ୼͢Δɻ͙͢ʹΫϥογϡ͢ ΔΞϓϦ͕Ͱ͖͕͋Δ
  10. 4VNNBSZ 3FBDU/BUJWF ▸ 044ͳίϯϙʔωϯτ͕๛෋ ▸ ΞϓϦͷόΠφϦαΠζ͕খ͍͞ ▸ ϦϦʔεϏϧυ͢Δͱιʔείʔ υ͸NBJOKTCVOEMFʹͳΔɻʢ೉ ಡԽ͸͞Ε͍ͯΔ͕ɺ͕Μ͹Ε͹ʣ

    ίʔυ͸ಡΊͯ͠·͏ ▸ 'BDFCPPL͕͍͍ͭͯΔ 5JUBOJVN ▸ ແ͍΋ͷ͸ࣗ෼Ͱ࡞Δ ▸ ΞϓϦͷόΠφϦαΠζ͕େ͖͍ ▸ ϦϦʔεϏϧυ͢Δͱιʔείʔ υ͸όΠφϦίʔυʹม׵͞Εɺ ʢਓ͕ʣಡΉ͜ͱ͸Ͱ͖ͳ͘ͳΔ ▸ ͢͜͠લʹ"YXBZʹങऩ͞Εͨɻ ࠷ۙΑ͘Θ͔ΒΜ
  11. -BEEFS Ͱ͖Δ͜ͱ ▸ ϑΟʔυ ▸ ιʔτϑΟϧλϦϯά ▸ ϑΟʔυ௥Ճ ▸ هࣄͷӾཡ

    ▸ ϐϯ ▸ ϐϯ෇͚ ▸ 4BGBSJͰ։͘ ▸ શ࡟আ ▸ هࣄͷ޿ࠂ཈੍
  12. -BEEFS هࣄͷ޿ࠂ཈੍ ▸ /463-1SPUPDPMΛఆٛͨ͠ ▸ γϛϡϨʔλͰϒϩάͱ͔ͷهࣄΛݟͳ͕Βɺ4BGBSJͷ 8FCΠϯεϖΫλͰ޿ࠂϓϩόΠμͷ63-Λᥔ௵ͨ͠ ▸ هࣄͷಡΈࠐΈ͕ஈҧ͍Ͱૣ͘ͳͬͨ ▸

    3$5#SJEHF.PEVMFͰΦϯΦϑͰ͖ΔΑ͏ʹͯ͋͠Δ ▸ 3$5@&91035@.&5)0%ϚΫϩͰ؆୯ʹ+BWB4DSJQUଆͱ ΍ΓऔΓ͕Ͱ͖Δग़ೖΓޱΛ࡞Δ͜ͱ͕Ͱ͖Δ
  13. 0GGMJOF#VJME 9DPEFͰ4DIFNFΛฤू͠Α͏ ▸ 3FBDU/BUJWF͸جຊϦϞʔτͰίʔυ͕ྲྀ ͠ࠐ·ΕΔɻ࣮ػͰಈ͔͢ͱ͖͸έʔϒϧ͔ 8J'JͰ։ൃػͱͭͳ͕͍ͬͯΔඞཁ͕͋Δ ▸ 9DPEFͷ1SPEVDUˠ4DIFNFˠ&EJU 4DIFNF͔Βɺ3VO$POpHVSBUJPOΛ%FCVH ͔Β3FMFBTFʹ͢Ε͹ΦϑϥΠϯͰಈ͔͢

    ͜ͱ͕Ͱ͖Δɻ3FMFBTFͱ͍͏໊લͰ 4DIFNFΛ࡞͓ͬͯ͘ͱศར ▸ "QQ%FMFHBUFNΛ௚઀ฤू͢Δ΍Γํ͸ݹ ͍ͷͰͪ͜ΒΛ࢖͏ʢWYҎ߱͸ϏϧυͰ ίέΔʣɻͨͩ͠ɺΞϓϦ಺Ͱσόοάϝ χϡʔ͸ग़ͳ͘ͳΔͷͰཁ஫ҙ
  14. 6TFMPDBMJNBHFGJMFJO8FC7JFX 8FC7JFXͰϩʔΧϧը૾Λ࢖͏ ▸ 9DPEFͰը૾Λ௥Ճ͢Δඞཁ͕͋ ΔɻϓϩδΣΫτϑΥϧμʹஔ͍ ͚ͨͩͰ͸Ϗϧυʹؚ·Εͳ͍ ▸ CBTF6SMͰϑΥϧμΛࢦఆ͢Δ DMBTT.Z8FCFYUFOET$PNQPOFOU\
 SFOEFS

    \
 SFUVSO 
 8FC7JFX
 TPVSDF\\
 IUNMbJNHTSDlJNBHFQOHz` 
 CBTF6SMbNZXFC`
 ^^
 
  
 ^