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
91
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
140
Mocha testing in Titanium(ja)
k0sukey
0
170
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
kotlin-lsp の開発開始に触発されて、Emacs で Kotlin 開発に挑戦した記録 / kotlin‑lsp as a Catalyst: My Journey to Kotlin Development in Emacs
nabeo
2
220
abema-trace-sampling-observability-cost-optimization
tetsuya28
0
440
Open Table Format (OTF) が必要になった背景とその機能 (2025.10.28)
simosako
3
600
可観測性は開発環境から、開発環境にもオブザーバビリティ導入のススメ
layerx
PRO
4
2.6k
オブザーバビリティと育てた ID管理・認証認可基盤の歩み / The Journey of an ID Management, Authentication, and Authorization Platform Nurtured with Observability
kaminashi
2
1.6k
20251027_findyさん_音声エージェントLT
almondo_event
2
530
データとAIで明らかになる、私たちの課題 ~Snowflake MCP,Salesforce MCPに触れて~ / Data and AI Insights
kaonavi
0
230
東京大学「Agile-X」のFPGA AIデザインハッカソンを制したソニーのAI最適化
sony
0
180
パフォーマンスチューニングのために普段からできること/Performance Tuning: Daily Practices
fujiwara3
2
180
dbtとAIエージェントを組み合わせて見えたデータ調査の新しい形
10xinc
7
1.7k
Retrospectiveを振り返ろう
nakasho
0
150
ゼロコード計装導入後のカスタム計装でさらに可観測性を高めよう
sansantech
PRO
1
640
Featured
See All Featured
Automating Front-end Workflow
addyosmani
1371
200k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
5.7k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
9
940
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
16k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
15k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
Testing 201, or: Great Expectations
jmmastey
46
7.7k
Site-Speed That Sticks
csswizardry
13
940
The Language of Interfaces
destraynor
162
25k
Principles of Awesome APIs and How to Build Them.
keavy
127
17k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
23
1.5k
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❤