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
86
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
近年の PyCon 情勢から見た PyCon APAC のまとめ
terapyon
0
290
SDカードフォレンジック
su3158
0
380
Amebaにおける Platform Engineeringの実践
kumorn5s
6
900
自分の軸足を見つけろ
tsuemura
2
600
20250413_湘南kaggler会_音声認識で使うのってメルス・・・なんだっけ?
sugupoko
1
400
Spice up your notifications/try!Swift25
noppefoxwolf
2
350
AIエージェントの地上戦 〜開発計画と運用実践 / 2025/04/08 Findy W&Bミートアップ #19
smiyawaki0820
26
8.5k
JPOUG Tech Talk #12 UNDO Tablespace Reintroduction
nori_shinoda
1
120
こんなデータマートは嫌だ。どんな? / waiwai-data-meetup-202504
shuntak
6
1.8k
ソフトウェア開発現代史: "LeanとDevOpsの科学"の「科学」とは何か? - DORA Report 10年の変遷を追って - #DevOpsDaysTokyo
takabow
0
200
改めて学ぶ Trait の使い方 / phpcon odawara 2025
meihei3
1
580
Стильный код: натуральный поиск редких атрибутов по картинке. Юлия Антохина, Data Scientist, Lamoda Tech
lamodatech
0
440
Featured
See All Featured
Rails Girls Zürich Keynote
gr2m
94
13k
Making the Leap to Tech Lead
cromwellryan
133
9.2k
StorybookのUI Testing Handbookを読んだ
zakiyama
29
5.6k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
104
19k
Embracing the Ebb and Flow
colly
85
4.6k
Testing 201, or: Great Expectations
jmmastey
42
7.4k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
47
2.5k
YesSQL, Process and Tooling at Scale
rocio
172
14k
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
The Cult of Friendly URLs
andyhume
78
6.3k
A Tale of Four Properties
chriscoyier
158
23k
Mobile First: as difficult as doing things right
swwweet
223
9.6k
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❤