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
Haskell でアルゴリズムを抽象化する / 関数型言語で競技プログラミング
naoya
17
5.4k
Functional TypeScript
naoya
15
6.2k
TypeScript 関数型スタイルでバックエンド開発のリアル
naoya
71
34k
シェルの履歴とイクンリメンタル検索を使う
naoya
8
3.2k
20230227-engineer-type-talk.pdf
naoya
89
75k
関数型プログラミングと型システムのメンタルモデル
naoya
62
100k
TypeScript による GraphQL バックエンド開発
naoya
28
35k
フロントエンドのパラダイムを参考にバックエンド開発を再考する / TypeScript による GraphQL バックエンド開発
naoya
67
24k
「問題から目を背けず取り組む」 一休の開発チームが6年間で学んだこと
naoya
144
60k
Other Decks in Technology
See All in Technology
スタートアップに選択肢を 〜生成AIを活用したセカンダリー事業への挑戦〜
nstock
0
170
United Airlines Customer Service– Call 1-833-341-3142 Now!
airhelp
0
170
AI時代の開発生産性を加速させるアーキテクチャ設計
plaidtech
PRO
3
150
怖くない!はじめてのClaude Code
shinya337
0
390
freeeのアクセシビリティの現在地 / freee's Current Position on Accessibility
ymrl
2
180
United airlines®️ USA Contact Numbers: Complete 2025 Support Guide
unitedflyhelp
0
310
Delta airlines®️ USA Contact Numbers: Complete 2025 Support Guide
airtravelguide
0
340
整頓のジレンマとの戦い〜Tidy First?で振り返る事業とキャリアの歩み〜/Fighting the tidiness dilemma〜Business and Career Milestones Reflected on in Tidy First?〜
bitkey
2
16k
高速なプロダクト開発を実現、創業期から掲げるエンタープライズアーキテクチャ
kawauso
2
9.2k
Delta airlines Customer®️ USA Contact Numbers: Complete 2025 Support Guide
deltahelp
0
680
【5分でわかる】セーフィー エンジニア向け会社紹介
safie_recruit
0
27k
AIの全社活用を推進するための安全なレールを敷いた話
shoheimitani
2
510
Featured
See All Featured
Art, The Web, and Tiny UX
lynnandtonic
299
21k
What’s in a name? Adding method to the madness
productmarketing
PRO
23
3.5k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.7k
Bash Introduction
62gerente
613
210k
Large-scale JavaScript Application Architecture
addyosmani
512
110k
Fireside Chat
paigeccino
37
3.5k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
130
19k
The Pragmatic Product Professional
lauravandoore
35
6.7k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
20
1.3k
The Art of Programming - Codeland 2020
erikaheidi
54
13k
The Invisible Side of Design
smashingmag
301
51k
The Power of CSS Pseudo Elements
geoffreycrofte
77
5.9k
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͋ΘΏ͖