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 / Alternative な開発ツールの採択について
Search
Naoya Ito
June 09, 2015
Technology
23
9.9k
React Native / Alternative な開発ツールの採択について
#nikkeidenshiban_Sansan の勉強会での発表資料です
Naoya Ito
June 09, 2015
Tweet
Share
More Decks by Naoya Ito
See All by Naoya Ito
Functional TypeScript
naoya
15
6k
TypeScript 関数型スタイルでバックエンド開発のリアル
naoya
69
33k
シェルの履歴とイクンリメンタル検索を使う
naoya
8
3.1k
20230227-engineer-type-talk.pdf
naoya
88
74k
関数型プログラミングと型システムのメンタルモデル
naoya
61
100k
TypeScript による GraphQL バックエンド開発
naoya
28
34k
フロントエンドのパラダイムを参考にバックエンド開発を再考する / TypeScript による GraphQL バックエンド開発
naoya
67
24k
「問題から目を背けず取り組む」 一休の開発チームが6年間で学んだこと
naoya
144
59k
一休の現在と、ここまでの道のり
naoya
90
41k
Other Decks in Technology
See All in Technology
より良い開発者体験を実現するために~開発初心者が感じた生成AIの可能性~
masakiokuda
0
230
Global Azure2025(GitHub Copilot ハンズオン)
tomokusaba
0
230
ガバクラのAWS長期継続割引 ~次の4/1に慌てないために~
hamijay_cloud
1
580
Oracle Base Database Service 技術詳細
oracle4engineer
PRO
7
63k
2025-04-24 "Manga AI Understanding & Localization" Furukawa Arata (CyberAgent, Inc)
ornew
2
330
10分で学ぶ、RAGの仕組みと実践
supermarimobros
0
800
Conquering PDFs: document understanding beyond plain text
inesmontani
PRO
2
460
Notion x ポストモーテムで広げる組織の学び / Notion x Postmortem
isaoshimizu
1
150
OPENLOGI Company Profile for engineer
hr01
1
26k
コードや知識を組み込む / Incorporating Codes and Knowledge
ks91
PRO
0
160
エンジニアリングで組織のアウトカムを最速で最大化する!
ham0215
1
280
Microsoft の SSE の現在地
skmkzyk
0
280
Featured
See All Featured
Building Better People: How to give real-time feedback that sticks.
wjessup
367
19k
Embracing the Ebb and Flow
colly
85
4.7k
RailsConf 2023
tenderlove
30
1.1k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
16k
Measuring & Analyzing Core Web Vitals
bluesmoon
7
410
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
47
5.4k
Raft: Consensus for Rubyists
vanstee
137
6.9k
Designing for Performance
lara
608
69k
Code Review Best Practice
trishagee
67
18k
Side Projects
sachag
453
42k
Docker and Python
trallard
44
3.4k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
45
7.2k
Transcript
3FBDU/BUJWF "MUFSOBUJWFͳ։ൃπʔϧͷ࠾ ʹ͍ͭͯ /BPZB*UP ܦిࢠ൛Y4BOTBOJ04"OESPJEΞϓϦ։ൃऀษڧձ7PM
3FBDU/BUJWF
3FBDU/BUJWF • +BWB4DSJQU – ϥϯλΠϜͰ+4㱺/BUJWF6*ΛϒϦοδ – "QQMJDBUJPOTSVOOFBSGVMMTQFFE • 3FBDUͱಉ͡࡞๏ – -FBSO0ODF 8SJUF"OZXIFSF •
044
var Playground = React.createClass({ getInitialState: function() {
return { text: "" }; }, _onChangeText: function(text) { this.setState({ text: text }); }, render: function() { return ( <View style={styles.container}> <Text style={styles.welcome}> {this.state.text} </Text> <TextInput style={styles.textInput} onChangeText={this._onChangeText} /> </View> ); } }); setState() JSX
ΤσΟλ͖ͳͷ Ͱ $NE 3ͰϦϩʔυ ίϯιʔϧ Ϗϧυ9DPEF
Na#ve App (Cocoa Touch, UIKit ...) React Na#ve Library JavaScript
Engine (JavaSc#ptCore) React JS React Na#ve JS Library Your Applica#on hDp://www.slideshare.net/ModusJesus/intro-‐to-‐react-‐na#ve +4ΛϥϯλΠϜͰಈ͔͠ ωΠςΟϒίʔυΛϒ Ϧοδ
• ݟͨ/BUJWF – Ͱ͖͕͋Γ·ͣ·ͣ/BUJWFʹḮ৭ͳ͍ͷʹ • ʮ/BUJWFʹ͍ۙʯ – +4Λஞ࣮࣍ߦͯ͠ΔͷͰ/BUJWFͱಉ͡ʹͳ Βͳ͍ –
ࡢࠓͷͷੑೳ্͋ΓؾʹͳΒͳ͍Ϩϕϧ • ։ൃͷײ৮ – 0CKFDUJWF$4XJGUͷͦΕͱେ͖͘ҟͳΔ ωΠςΟϒͬΆ͘ͳ͍
3FBDUͷύϥμΠϜ State <View> <Text>{this.state.text}</Text> <TextInput onChangeText={...}
/> <View> ... </View> </View> setState() • ΞϓϦέʔγϣϯͷঢ়ଶΛ4UBUFͰཧ • 7JFXίϯϙʔωϯτࢦͰࢠπϦʔ • 4UBUF͕มߋ͞ΕΔͱ7JFXͷඞཁՕॴ͕ࣗಈߋ৽
3FBDU/BUJWF • 3FBDU – ୯७Ͱֶशίετͷ͍ΞʔΩςΫνϟ – ظతͳอकੑ ่Εʹ͍͘ઃܭ Λ୲อ • ΞϓϦέʔγϣϯ7JFXͷNVUBCJMJUZ ঢ়ଶ
ΛͲ͏ѻ͏͖͔ʹରͯ͠ղΛఏࣔ • 3FBDU/BUJWF – 3FBDUͱಉ͡ΓํͰΞϓϦΛ࡞ΕΔ • 㱺্هϝϦοτΛڗडͰ͖Δ
࣮ࡍͷ༻ײ • 8FCͷ3FBDUΛ৮ͬͨ͜ͱ͕͋Ε͙͢ॻ͚Δ – 3FBDUͷઃܭ࡞๏'MVY·Ͱ͙࣮͢ફͰ͖Δ – -FBSO0ODFҏୡ͡Όͳ͍͔ • ։ൃͷײ৮ͱͯ͠ɺ8FCͬΆ͍ –
/PEFKT OQNΤίγεςϜ – $NE3ͰϦϩʔυͱ͔ – 'MFYCPYBOE4UZMJOH • ϒϦοδͳͷͰ6*ʹଟগบ͕͋Δ – 3FBDU͕༻ҙͨ͠ίϯϙʔωϯτ
ͱ͜ΖͰŋŋŋ ͜ͷΞʔΩςΫνϟͲͬ ͔Ͱݟͨ͜ͱͳ͍Ͱ͔͢
8SJUF0ODF "EBQU"OZXIFSF 5JUBOJVN4%, 5JUBOJVN.PCJMFͱݺ Ε͍ͯͨ
hDps://speakerdeck.com/masuidrive/yuan-‐mou-‐evuanzierisutoga-‐jian-‐rureactna#ve
None
3FBDU/BUJWFͷτϨʔυΦϑ • ྨࣅͷΞʔΩςΫνϟ๊͕͑Δͷͱಉ༷ͷ ՝ – ͬͺΓͳʔ • +4ͰϒϦοδ͍ͯ͠Δ͜ͱʹΑΔܽ વ͋Δ
– ωΠςΟϒΛݺͳ͍ – '8PO'8ͷδϨϯϚ
ϦϦʔεલ͍͢͝Λ૾ ͚ͯͨ͠Ͳɺ࣮ࡍग़ͨͷ ʮ͏Μɺ·͋ݱ࣮తʹͦ͏ ͩΑͶʯతͳ *5ۀք͋Δ͋Δ
'BDFCPPLʹෳͷ'8 • 3FBDU/BUJWF – 'BDFCPPL(SPVQ • $PNQPOFOU,JU – /FXT'FFEFUD –
0CKFDUJWF$ – 3FBDU*OTQJSFE • "TZOD%JTQMBZ,JU – 'BDFCPPLQBQFS – GQT6*69 3FCVJMEGNFQ ࢀর ʮ3FBDU/BUJWF͕Ϟ όΠϧ։ൃͷܾఆ൛ʯ ͱ͍͏ελϯεͰͳ ͦ͞͏
"MUFSOBUJWFͳ։ൃπʔϧ • $PSEPWB چ1IPOF(BQ – 8FCΞϓϦΛωΠςΟϒͰแΉ – ͍ΘΏΔʮϋΠϒϦουΞϓϦʯ •
5JUBOJVN.PCJMF • 3FBDU/BUJWF • 9BNBSJO – /&5ςΫϊϩδʔͰ/BUJWF"QQ • $ BTZODBXBJU -*/2 .77. • ͋·Γৄ͘͠ͳ͍Ͱ͢ • 3VCZ.PUJPO – 3VCZˠ--7.ͰωΠςΟϒʹ – ϒϦοδϥούͰͳ͍ϐϡΞωΠςΟϒ – $PDPB1PETͳͲແཧͳ͑͘Δ ΄͔ʹ͍Ζ͍Ζ ͋Δ
ࡢࠓͷঢ়گ • ࠒͷύϑΥʔϚϯεతͳ͋ ·ΓݟΒΕͳ͍ – ੑೳ্͕ͨ͠ – ࣮͕ख़͖ͯͨ͠ • ϑϨʔϜϫʔΫPOϑϨʔϜϫʔΫʹΔ ͔൱͔
έʔεελσΟ • 'BCMJDࣾ͞Μͷ'SJM – ঁੑ͚ϑϦϚΞϓϦ • ۀظʹ։ൃॏࢹͰ 5JUBOJVN – ωΠςΟϒͷܦݧ͕͋ͬͨػಈੑ
ॏࢹͰ5JUBOJVNʹ • ˠΤϯδχΞ࠾༻ˠωΠ ςΟϒͰϦϓϨΠε – ։ൃϲ݄
hDps://speakerdeck.com/ninjinkun/zhong-‐gui-‐mo-‐ioskai-‐fa-‐tokodorebiyu
தͷਓᐌ͘ • ʮ5JUBOJVNσβΠφʔ͕+4࿔ͬͯσβ ΠϯมߋͰ͖ͨͷͰɺϑϦϧΈ͍ͨͳϏδϡΞ ϧσβΠϯॏࢹͷϓϩμΫτʹϑΟοτͯ͠ Δଆ໘͋ͬͨɺͱ͍͏͋Γ·͢ʯ • ʮ্ཱͪ͛ظ͔ΒσβΠϯॏࢹͰߦ͚ͨͷ 5JUBOJVNͷ͓͔͛͋ͬͨΑ͏Ͱ͢ʯ
έʔεελσΟ • ;BJN͞Μ – ՈܭΞϓϦ • ઐՈͰͳ͍ۀऀ͕5JUBOJVNͰ։ൃ – ʮ+4ͳΒͳΜͱ͔ॻ͚ͨʯΒ͍͠ –
ݱߦόʔδϣϯ5JUBOJVN – ສϢʔβʔ"QQ4UPSF෦Ґ • ωΠςΟϒԽ – J04ŋŋŋ4XJGUͰ࠶։ൃத – "OESPJEŋŋŋ͕Μ͕ͬͨ࣌ͷ 5JUBOJVNͰ࣭Λ֬อͰ͖ͣωΠςΟϒ Խ 3FCVJMEGNFQ ࢀর
தͷਓᐌ͘ • 5JUBOJVNͰ࡞ͬͨ"OEPSJE൛Α͘Ϋϥο γϡͯ͠େมͩͬͨ – Ϋϥογϡ͕ݪҼͰϨϏϡʔ͕ • ωΠςΟϒ൛ʹͯ͠ϨϏϡʔվળ – ʮམͪͳ͘ͳͬͨʯʮ͘ͳͬͨʯʮݟ͕ͨྑ͘
ͳͬͨʯ – ͨͩ͠ଞͷࢪࡦҰॹʹ࣮ࢪͨ͠ͷͰ্͕͕ͬ ͨͷ࡞Γ͕͠શͯͱ͍͏Θ͚Ͱͳ͍ͱͷ͜ͱ
ߟ • ಛΛΑ͘׆͔ͨ͠έʔε – Ϧʔϯతͳ؍͔Β • ͘࡞ͬͯϑΟʔυόοΫΛूΊΔ • ͘͢վम • σβΠϯͷࢼߦࡨޡ
• ҰํͰቕͬͨΓŋŋŋ ʮϓϩͷϓϩάϥϚ͚ʯͱ͍͏ ΑΓʮαʔϏε͕࡞Γ͍ͨαʔ Ϗεࢦͷਓ͚ʯͱ͍͏πʔϧ ͷಛੑΛ͏·͘׆͔ͨ͠
• ͦΕͧΕͷ4%,ʹͦΕͧΕಛ • ಛΛ׆͔ͯ͠։ൃʹΈࠐΊ༗ޮ – ྫઐ͕ࣝগͳͯ͘ࡁΉ㱺ۀظʹ • ຊ֨తʹΔͱ૬Ԡͷίετ –
ྫ • ݁ہωΠςΟϒͷ͕ࣝඞཁʹ • ϥΠϒϥϦ͕͑ͳ͍㱺ϒϦοδ։ൃ • ϑϨʔϜϫʔΫ࣮ͷཧղ • ϨΠϠ͕ॏͳͬͯͯσόοάͮ͠Β͍ಛघͳσόοΨ • ωΠςΟϒฒΈͷ࡞ΓࠐΈʹωΠςΟϒΑΓ͕͔͔࣌ؒΔ
తίετ ྫֶशίετਂ͍ඞཁػձ ϓϩμΫτ࣭νʔϜ։ൃ ੜ࢈ੑͳͲ ˞ಛఆͷ࣮ʹ͍ͭͯϞσϧԽͨ͠ͷͰͳ͘ ͋͘·Ͱߟ͑ํͷϑϨʔϜϫʔΫͰ͢ ͋Δఔͷ࣭ΛٻΊΔ ͱతίετ͕ಉ͋Δ ͍ٯస͢ΔͱԾఆ
جૅ࣭ͷͷΛ ίετͰ࡞ΕΔ͜ͱ ͕Ξυόϯςʔδ ネイティブ (標準) Alterna#ve ૬Ԡͷ࣭Λٻ͢ Δͱɺཁٻίετʹ େ͕ࠩͳ͘ͳΔ ͜ͷล·Ͱཁٻ͢ ΔͳΒ࡞Γସ͑ͨ ํ͕͍͍͔
࠾Γ্͛ͳ͔ͬͨ͜ͱ • ͦͦΫιΞϓϦಓ۩ͷͳͷ͔ – ϞόΠϧΞϓϦͷ6*69ͷແཧղͱ͔ – 8FCͷޭମݧΛࣺͯΒΕͳ͍ͱ͔ – "OESPJEͱJ04Λಉ͡ʹ͠ΖΈ͍ͨͳཁٻͱ͔
• ͕͢͞ʹʹͳͬͯͦΜͳ͜ͱݴ͏ਓŋŋŋ
ߟ • "MUFSOBUJWFͳಓ۩ʹͦΕͧΕಛ – ಛΛઓུతʹ׆͔ͤϝϦοτେ͖͍ – /05ۜͷؙɻਅ໘ʹΔͱ૬ԠͷίετɻܽΛͲ͏Χόʔ͢Δ ͔ • 3FBDU/BUJWF
– ظతͳอकੑΛᨳ͍ͬͯΔ – ͕ɺܽ෦͕ظతʹͲ͏ڹ͔͘·ͩະ • ݸਓతͳݟղ – ͦͦ͜͜ͷنͷ։ൃ৫͔ͭ͘อक͢ΔͳΒશମ࠷ద ڭҭɺࢿɺ ਓࡐ֬อ ͷ؍͔Βඪ४Ͱ͍͍ͷͰ – খ͞ͳνʔϜɺۀظɺೲظҰߟͷ༨͋Γ – झຯŋŋŋ͖ͳ͑ΑΖ͍͠ 3VCZ.PUJPOͬͯ·͢J
5IBOLT ֆCZ͋ΘΏ͖