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
React Native で LDR の クライアントを作ったというお話
Search
Kosuke Isobe
November 21, 2016
Technology
0
85
React Native で LDR の クライアントを作ったというお話
Kosuke Isobe
November 21, 2016
Tweet
Share
More Decks by Kosuke Isobe
See All by Kosuke Isobe
Mocha testing in Titanium(en)
k0sukey
1
130
Mocha testing in Titanium(ja)
k0sukey
0
160
Titanium もくもく会 #11
k0sukey
0
210
Titanium もくもく会 #10
k0sukey
0
2.3k
Titanium もくもく会 #5
k0sukey
0
1.9k
Other Decks in Technology
See All in Technology
Amazon Q Developerの無料利用枠を使い倒してHello worldを表示させよう!
nrinetcom
PRO
2
120
AWSではじめる Web APIテスト実践ガイド / A practical guide to testing Web APIs on AWS
yokawasa
8
720
システム・ML活用を広げるdbtのデータモデリング / Expanding System & ML Use with dbt Modeling
i125
1
330
【内製開発Summit 2025】イオンスマートテクノロジーの内製化組織の作り方/In-house-development-summit-AST
aeonpeople
2
700
RayでPHPのデバッグをちょっと快適にする
muno92
PRO
0
190
OPENLOGI Company Profile
hr01
0
60k
AWSを活用したIoTにおけるセキュリティ対策のご紹介
kwskyk
0
390
Amazon Aurora のバージョンアップ手法について
smt7174
2
150
Snowflakeの開発・運用コストをApache Icebergで効率化しよう!~機能と活用例のご紹介~
sagara
1
470
コンピュータビジョンの社会実装について考えていたらゲームを作っていた話
takmin
1
610
クラウド関連のインシデントケースを収集して見えてきたもの
lhazy
8
1.3k
偏光画像処理ライブラリを作った話
elerac
1
170
Featured
See All Featured
Git: the NoSQL Database
bkeepers
PRO
427
65k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
45
9.4k
Rebuilding a faster, lazier Slack
samanthasiow
80
8.9k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Building a Scalable Design System with Sketch
lauravandoore
461
33k
Typedesign – Prime Four
hannesfritz
40
2.5k
Stop Working from a Prison Cell
hatefulcrawdad
267
20k
How to train your dragon (web standard)
notwaldorf
91
5.9k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
114
50k
Six Lessons from altMBA
skipperchong
27
3.6k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
27
1.9k
Code Reviewing Like a Champion
maltzj
521
39k
Transcript
੩Ԭ+BWB4DSJQUษڧձ @k0sukey 3FBDU/BUJWFͰ-%3ͷ ΫϥΠΞϯτΛ࡞ͬͨͱ͍͏͓
ͳͥ-%3
ͳͥ-JWF%XBOHP3FBEFS ▸ Ѫ༻͍ͯ͠Δ"FSP3FBEFSͷߋ৽͕ࢭ·ͬͯ͠·ͬͨʢେ͖ͳը໘ʹରԠ͠ ͍ͯͳ͍ͷͰҾ͖৳͞Εͯ͠·͏ʣɻͱͯ൵͍͠ ▸ ͜Ε͕ͳ͍ͱύζυϥͱ͔Ϟϯετͷใऩू͕Ͱ͖ͳ͍ɻͱͯக໋త ▸ ࠔͬͨ ▸ ͍Ζ͍Ζ͖ͯ͘Δͱ-%3ΫϥΠΞϯτ࡞ͬͯ༡ΜͰΔ
▸ ͪΐͬͱલʹ&MFDUSPOͰ-%3ΫϥΠΞϯτ࡞ͬͨ ▸ /8KTͰ࡞ͬͨ ▸ -%3Λ͍ΖΜͳϓϥοτϑΥʔϜͰಈ͔͢ͷ͕͖ ҎԼͷͰͰ͖͍ͯ·͢
ͦͷલʹʜ
3FBDU/BUJWFͱ 5JUBOJVNͷ ؆୯ͳൺֱ J04ͷΈ
1SFNJTF ·͓͖͑ ▸ ͍ͭ5JUBOJVNΛ͓ͬͯΓ·ͯ͠ ▸ ͲͪΒͷٕज़͕༏Ε͍ͯΔͱ͔ͷͰͳ͍Ͱ͢ ▸ Ξϓϩʔν΄΅ಉ͡Ͱ͢͠Ͷʜ
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
%FWFMPQNFOU$ZDMF 3FBDU/BUJWF ▸ SFBDUOBUJWFSVOJPT ▸ ࠶ಡࠐγϛϡϨʔλͰ㵰 3 ▸ 0CKFDUJWF$Λ͍ͬͨ͡ͱ͖ 9DPEFͰ㵰
3 ▸ $ISPNFPS4BGBSJͰDPOTPMF Λ ݟΔ͜ͱ͕Ͱ͖Δ 5JUBOJVN ▸ UJUBOJVNCVJMEQJPT ▸ -JWF7JFXͱ͍͏ɺ㵰 3ͬΆ͍ ͷ͋Δ͕एׯෆ҆ఆʢ͋·Γͬ ͨ͜ͱ͕ͳ͍ʣɻຖճUJCVJME͠ ͯΔ ▸ DPOTPMF λʔϛφϧͰ
$PEJOH 3FBDU/BUJWF ▸ ͓͖ͳͷΛͲ͏ͧɻݸਓతʹ 8FC4UPSNࢸߴ ▸ &4͑Δɻ'MPX͑Δɻ +49ͰίϯϙʔωϯτΛॻ͍͍ͯ ͘ɻ'MVYͱ͔3FEVYͱ͔ ▸
7JSUVBM%0.͕͢ΜͳΓड͚ೖΕ ΒΕ͍ͯΔͷͳΒҧײͳ͍ 5JUBOJVN ▸ "QQDFMFSBUPS4UVEJPʢ͕ͩɺͭΒ ͘ͳͬͯผͷ*%&ςΩετΤσΟ λಀ͍͛ͯ͘ʣ ▸ #BDLCPOFKTϕʔεͷ.7$ͳ "MMPZϑϨʔϜϫʔΫ͕͋ΔɻϏϧ υ࣌ʹॲཧΛϑοΫͰ͖ΔͷͰɺ ࣗͷ͖ͳτϥϯεύΠϥΛ ͏͜ͱͰ͖Δ ▸ લ৮Εͳ͘5JUBOJVNʙ͕࢝· Δɻ͓·͡ͳ͍ͷΑ͏ʹ
4UZMF 3FBDU/BUJWF ▸ جຊ$44Ά͍ɻಠಛͳ'MFYCPY͕ ࠷ॳͭΒ͔ͬͨʢࠓʣ ▸ +49ͷதʹॻ͍͍ͯ͘ɻϑΝΠϧ ୯ҐͰׂ͢ΔϝϦοτ͕͋·Γ ݟ͔ͭΒͳ͔ͬͨͷͰɺίϯϙʔ ωϯτ୯ҐͰهड़ͨ͠
5JUBOJVN ▸ $44ͬΆ͍ɻ͋͘·ͰʮΆ͍ʯɻ ಠࣗͷελΠϧཁૉ͕๛ ▸ "MMPZ͏ͱ544ʢ5JUBOJVN4UZMF 4IFFUʣΛ͏͜ͱͰ͖Δɻί ϯτϩʔϥͱΓͤΔ ▸ "MMPZΘͳ͍ͱ+BWB4DSJQUͷத ʹهड़͢Δ
$PNQPOFOU 3FBDU/BUJWF ▸ 3FBDU/BUJWFࣗମجຊతͳͷ ͔͠ఏڙ͍ͯ͠ͳ͍ ▸ #VUUPOͱ͔ͳ͍ɻ 5PVDIBCMF)JHIMJHIUͱ͔Έ߹ ΘͤΔ ▸
044Ͱ͍ͬͺ͍͋Δɻ/BUJWF -JCSBSZ͍ͬͺ͍͋Δ 5JUBOJVN ▸ ͕Μͬͯ04ʹैͯ͠Δɻ΄ ΅ἧ͖͍ͬͯͯΔͷͰ ▸ ͳ͍ͷࣗͰ/BUJWF.PEVMFॻ ͍͕ͯΜΔɻ͍͍ͩͨΈΜͳࠔ ΔͷͰɺ୭͔͕ॻ͍͍ͯΔ ▸ 5JUBOJVN4%,ͷมߋʹै͢Δ ͷେมɻϞνϕʔγϣϯΛอͭͷ ͕ʜ
-JTU 3FBDU/BUJWF ▸ -JTU7JFXඳըૣ͍ ▸ εΫϩʔϧͷҾֻ͔ͬΓ͕ۃখɻ ΄ͱΜͲײ͡ͳ͍ ▸ 5PVDIBCMF)JHIMJHIU3PXͷ ͕૿͑Δͱਏͦ͏ʢ෦Ͳ͏
ͳ͍ͬͯΔ͔·Ͱͬͯͳ͍ʣ ▸ ηύϨʔλΛ7JFXͰ࡞Δͷ͕ ͪΐ͍ඍົ 5JUBOJVN ▸ 5J6*5BCMF7JFX͕͍ͷͰ 5J6*-JTU7JFX͕࡞ΒΕͨ ▸ ύϑΥʔϚϯεྑ͍ײ͡ɻ 5J6*5BCMF7JFXʹ׳Ε͍ͯΔͱ ͪΐͬͱπϥΠ͔ ▸ 3PXͰͳ͘ɺ-JTUʹλονΠϕ ϯτΛషΔ҆৺ײɻ3PXʹషΕ Δ͕ɺ͕૿͑Δͱॏ͘ͳΔ
/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
5FTUJOH 3FBDU/BUJWF ▸ +FTU ▸ IUUQGBDFCPPLHJUIVCJPKFTU EPDTUVUPSJBMSFBDUOBUJWFIUNM ▸ ͜͜·ͰΔݩؾ͕ͳ͔ͬͨͷ Ͱɺະ
5JUBOJVN ▸ ͳ͍ ▸ ͔Β࡞ͬͨɻ k0sukey/ti-slag ▸ /PEFKTͰ5JUBOJVN"1*Λٖࣅ తʹৼΔ͏ ▸ .PDIBͰಈ͘ ▸ γϛϡϨʔλPS࣮ػෆཁ
4VNNBSZ 3FBDU/BUJWF ▸ -FBSOPODF XSJUFBOZXIFSF ▸ 3FBDUKTͷ͕ࣝ׆͔ͤΔ ▸ 9DPEFͷ͕ࣝඞཁɻΞΠίϯͱ ͔ىಈը໘ม͑ͨΓɻετΞʹσ
ϓϩΠ͢Δͱ͖4DIFNFΛฤू ͢Δඞཁ͕͋Δ 5JUBOJVN ▸ 8SJUFPODF BEBQUBOZXIFSF ▸ 5JUBOJVNͷ͓࡞๏ΛΔඞཁ ▸ Կଓ͍͖࣮ͯͨ͋Γ ▸ 9DPEFͷࣝ΄΅ඞཁͳ͍ɻ 5JUBOJVNͷੈքͷதͰ݁Ͱ͖Δɻ ͕ɺ্هͷ௨Γ͓࡞๏ΛΒͳ͍ ͱഁ͢Δɻ͙͢ʹΫϥογϡ͢ ΔΞϓϦ͕Ͱ͖͕͋Δ
4VNNBSZ 3FBDU/BUJWF ▸ 044ͳίϯϙʔωϯτ͕๛ ▸ ΞϓϦͷόΠφϦαΠζ͕খ͍͞ ▸ ϦϦʔεϏϧυ͢Δͱιʔείʔ υNBJOKTCVOEMFʹͳΔɻʢ ಡԽ͞Ε͍ͯΔ͕ɺ͕ΜΕʣ
ίʔυಡΊͯ͠·͏ ▸ 'BDFCPPL͕͍͍ͭͯΔ 5JUBOJVN ▸ ແ͍ͷࣗͰ࡞Δ ▸ ΞϓϦͷόΠφϦαΠζ͕େ͖͍ ▸ ϦϦʔεϏϧυ͢Δͱιʔείʔ υόΠφϦίʔυʹม͞Εɺ ʢਓ͕ʣಡΉ͜ͱͰ͖ͳ͘ͳΔ ▸ ͢͜͠લʹ"YXBZʹങऩ͞Εͨɻ ࠷ۙΑ͘Θ͔ΒΜ
-BEEFS appsto.re/jp/y95fgb.i
-BEEFS Ͱ͖Δ͜ͱ ▸ ϑΟʔυ ▸ ιʔτϑΟϧλϦϯά ▸ ϑΟʔυՃ ▸ هࣄͷӾཡ
▸ ϐϯ ▸ ϐϯ͚ ▸ 4BGBSJͰ։͘ ▸ શআ ▸ هࣄͷࠂ੍
ϑΟʔυͷ Ұཡ -BEEFS
ϑΟʔυͷ Ӿཡ -BEEFS
ΞϓϦͷ ઃఆ -BEEFS
-BEEFS هࣄͷࠂ੍ ▸ /463-1SPUPDPMΛఆٛͨ͠ ▸ γϛϡϨʔλͰϒϩάͱ͔ͷهࣄΛݟͳ͕Βɺ4BGBSJͷ 8FCΠϯεϖΫλͰࠂϓϩόΠμͷ63-Λᥔ௵ͨ͠ ▸ هࣄͷಡΈࠐΈ͕ஈҧ͍Ͱૣ͘ͳͬͨ ▸
3$5#SJEHF.PEVMFͰΦϯΦϑͰ͖ΔΑ͏ʹͯ͋͠Δ ▸ 3$5@&91035@.&5)0%ϚΫϩͰ؆୯ʹ+BWB4DSJQUଆͱ ΓऔΓ͕Ͱ͖Δग़ೖΓޱΛ࡞Δ͜ͱ͕Ͱ͖Δ
-BEEFS Ͱ͖ͳ͍͜ͱ ▸ ͔ͬ͜Α͍σβΠϯ ▸ ϑΟʔυͷআͳͲͷཧܥ ▸ ϑΥϧμɾϨʔςΟϯάදࣔ ▸ ϔουϥΠϯϞʔυͱ͔
ɹɹɹɹɹɹɹɹɹɹࡉ͔͍ૢ࡞ΣϒαʔϏεͰͲ͏ͧ
-BEEFS ࠓޙ ▸ ετΞʹެ։४උத ▸ ݸਓͷ"QQMF%FWFMPQFS1SPHSBN͍࣋ͬͯͳ͔ͬͨ ▸ "QQ5SBOTQPSU4FDVSJUZ͕৹ࠪରʹͳΔલʹͳΜͱ͔ Γࠐ·͍ͤͨ ▸
"OESPJE൛Βͳ͍ ▸ ͓ࣄҎ֎Ͱ"OESPJE৮Βͳ͍ͷͰʜ ▸ ΫϩεϓϥοτϑΥʔϜยखؒͰͰ͖ͳ͍
3FBDU/BUJWFͰ ։ൃ͢Δͱ͖ͷ5JQT
6*&YQMPSFS ίϯϙʔωϯτͷݟͨΛ֬ೝ͠Α͏ ▸ GBDFCPPLSFBDUOBUJWFUSFF NBTUFS&YBNQMFT6*&YQMPSFSʹ͋ ΔɻϏϧυͯࣗ͠ͷʹೖΕͯ ͓͚͍ͭͰ֬ೝͰ͖Δ ▸ ݟ໊ͨҎ֎ʹίϯϙʔωϯτͷ͍ ํಈ͖֬ೝͰ͖ΔͷͰͱͯศ
ར ▸ %PDTݹ͍ͱ͖͕͋ΔͷͰʜ
%FCVH+43FNPUFMZ 4BGBSJͷ։ൃϝχϡʔΛ͓͏ ▸ ͳ͔ͥΘ͔Βͳ͍͕%FCVH+4 3FNPUFMZΛ͍ͬͯΔͱΞϓϦ͕ Ϋϥογϡ͠·ͬͨ͘ɻະͩʹṖ ▸ 4BGBSJͷ։ൃϝχϡʔʹ͋ΔJ04 γϛϡϨʔλͷ+4$POUFYUTͷ8FC ΠϯεϖΫλ͕ྑ͍
▸ ࣗಈతʹදࣔʹνΣοΫ͓͚ͯ͠ 㵰 3ͯ͠࠶දࣔͯ͘͠ΕΔ
0GGMJOF#VJME 9DPEFͰ4DIFNFΛฤू͠Α͏ ▸ 3FBDU/BUJWFجຊϦϞʔτͰίʔυ͕ྲྀ ͠ࠐ·ΕΔɻ࣮ػͰಈ͔͢ͱ͖έʔϒϧ͔ 8J'JͰ։ൃػͱͭͳ͕͍ͬͯΔඞཁ͕͋Δ ▸ 9DPEFͷ1SPEVDUˠ4DIFNFˠ&EJU 4DIFNF͔Βɺ3VO$POpHVSBUJPOΛ%FCVH ͔Β3FMFBTFʹ͢ΕΦϑϥΠϯͰಈ͔͢
͜ͱ͕Ͱ͖Δɻ3FMFBTFͱ͍͏໊લͰ 4DIFNFΛ࡞͓ͬͯ͘ͱศར ▸ "QQ%FMFHBUFNΛฤू͢ΔΓํݹ ͍ͷͰͪ͜ΒΛ͏ʢWYҎ߱ϏϧυͰ ίέΔʣɻͨͩ͠ɺΞϓϦͰσόοάϝ χϡʔग़ͳ͘ͳΔͷͰཁҙ
6TFMPDBMJNBHFGJMFJO8FC7JFX 8FC7JFXͰϩʔΧϧը૾Λ͏ ▸ 9DPEFͰը૾ΛՃ͢Δඞཁ͕͋ ΔɻϓϩδΣΫτϑΥϧμʹஔ͍ ͚ͨͩͰϏϧυʹؚ·Εͳ͍ ▸ CBTF6SMͰϑΥϧμΛࢦఆ͢Δ DMBTT.Z8FCFYUFOET$PNQPOFOU\ SFOEFS
\ SFUVSO 8FC7JFX TPVSDF\\ IUNMbJNHTSDlJNBHFQOHz` CBTF6SMbNZXFC` ^^ ^
/BUJWF-JCSBSZ +BWB4DSJQU͚ͩͰͰ͖ͳ͍ࣄՄೳʹ ▸ XJYSFBDUOBUJWFOBWJHBUJPOը໘ཧ ͱ͔λϒͱ͔υϩϫʔͱ͔໘ͳͱ͜Ζ ͕ͻͱ·ͱΊͰɻͱΓ͍͋͑ͣͭ͜Λೖ Εͱ͚ɺͲ͏ʹ͔ͳΔײ ▸ PCMBEPSSFBDUOBUJWFWFDUPSJDPOTΞ ΠίϯϑΥϯτΛίϯϙʔωϯτͱͯ͠
ѻ͑ΔɻݟͨͷମࡋΛ͋Δఔ͑Β ΕΔ ▸ KPFGFSSBSPSFBDUOBUJWFDPPLJFT $PPLJFΛ࡞ͬͨΓফͨ͠Γͱɺૢ࡞ Ͱ͖Δɻ'PSLͯ͠$PPLJFΛӬଓԽͰ͖ ΔΑ͏ʹͨ͠
3FBDU/BUJWFΛ બ͢ΔϝϦοτ
.FSJU 3FBDU/BUJWFΛબ͢ΔϝϦοτ ▸ +BWB4DSJQUͰΞϓϦ͕࡞ΕΔʢେࣄʣ ▸ 3FBDUKTͷԸܙ ▸ σʔλόΠϯσΟϯάͱ͔ ▸ ϥϐουϓϩτλΠϐϯά
▸ ͙͢ʹಈ͘ͷ͕࡞ΕΔͷ͔ͬͯͳΓେ͖͍ͷͰ ▸ ίϛϡχςΟ͕׆ൃ
͓͠·͍ 5IBOLZPV❤