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 アプリを Web に対応させる / Using React Nati...
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
haripo
September 13, 2018
Technology
1.2k
1
Share
React Native アプリを Web に対応させる / Using React Native Web
https://react-native-meetup.connpass.com/event/97634/
登壇資料です。
haripo
September 13, 2018
Other Decks in Technology
See All in Technology
Rapid Start: Faster Internet Connections, with Ruby's Help
kazuho
2
570
#jawsugyokohama 100 LT11, "My AWS Journey 2011-2026 - kwntravel"
shinichirokawano
0
350
基盤を育てる 外部SaaS連携の運用
gamonges_dresscode
1
120
Keeping Ruby Running on Cygwin
fd0
0
160
Hacobu Tech Deck
hacobu
PRO
0
110
Good Enough Types: Heuristic Type Inference for Ruby
riseshia
1
220
Azure Static Web Apps の自動ビルドがタイムアウトしやすくなった状況に対応した件/global-azure2026
thara0402
0
410
インターネットの技術 / Internet technology
ks91
PRO
0
210
AIを共同作業者にして書籍を執筆する方法 / How to Write a Book with AI as a Co-Creator
ama_ch
2
130
Master Dataグループ紹介資料
sansan33
PRO
1
4.6k
データを"持てない"環境でのアノテーション基盤設計
sansantech
PRO
1
120
The Journey of Box Building
tagomoris
4
2.7k
Featured
See All Featured
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
10k
Exploring the relationship between traditional SERPs and Gen AI search
raygrieselhuber
PRO
2
3.8k
Visual Storytelling: How to be a Superhuman Communicator
reverentgeek
2
510
The Curious Case for Waylosing
cassininazir
0
300
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.4k
[RailsConf 2023] Rails as a piece of cake
palkan
59
6.5k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
1.9k
Optimizing for Happiness
mojombo
378
71k
WENDY [Excerpt]
tessaabrams
10
37k
How to Ace a Technical Interview
jacobian
281
24k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.4k
Believing is Seeing
oripsolob
1
110
Transcript
React Native ΞϓϦΛ Web ʹରԠͤ͞Δ @_haripo
ΠϯλʔωοτͰओʹΓΆͱ໊͍ͬͯ·͢ UXJUUFS@IBSJQP ΞϯμʔόʔϋϦϙ !2 ͡Ί·ͯ͠ ࣄͰओʹػցֶशγεςϜͳͲΛ͍ͬͯ·͢ "OESPJEJ04ωΠςΟϒ։ൃܦݧ͋Γ·ͤΜ
3FBDU/BUJWFͷίϯϙʔωϯτͱ"1*Λ8FCͰಈ͔ͭ͢Ͱ͢ !3 3FBDU/BUJWFGPS8FCͱ React Native ͷ ίϯϙʔωϯτ Web ϒϥβ
QVZPTJNͱ͍͏ΞϓϦͰJ04"OESPJE8FCରԠ͠·ͨ͠ !4 ࣮ࡍʹͬͯΈͨ iOS Android Web
جຊతʹίʔυϕʔε͕ڞ௨Խ͞ΕͯΔͳ͔Ͱɺ ωΠςΟϒͱ8FCͰ࣮͕ذ͍ͯ͠Δ෦ Λհ͠·͢ !5 ࠓ͢༰ Ͳͷ͘Β͍ڞ௨ԽͰ͖Δʁ Ͳ͏ͬͯϓϥοτϑΥʔϜݻ༗ ίʔυΛذ͢Δʁ Ͳͷ෦Λڞ௨Խ͢Δʁ
React Native ΞϓϦΛ Web ʹରԠͤ͞ΔʢͨΊʹඞཁͩͬͨذʣ
!7 ҙ w ·ͩίʔυͷنখ͍͞Ͱ͢ w QVZPTJNී௨ͷπʔϧΞϓϦͰ͋Γ·ͤΜ w ࣮ࡍʹඞཁͩͬͨذͷհͰ͢ʢҰൠతͳͰͳ͍ʣ
Routing ͱ Navigation ͷذ
w ωΠςΟϒͰSFBDUOBUJWFOBWJHBUJPO w 8FCͰSFBDUSPVUFS ࣗ࡞/BWJHBUJPOίϯϙʔωϯτ !9 3PVUJOH/BWJHBUJPO JOEFYKTͰ SFBDUOBUJWFOBWJHBUJPOΛ͏ JOEFYXFCKTͰ
SFBDUSPVUFSΛ͏
Component ͷذ
!11 ίϯϙʔωϯτڞ௨Խઓུ $POUBJOFS Redux ͷ connect ͢Δͭ ϨΠΞτ୲ͷ ίϯϙʔωϯτ QBHFTdPSHBNJTNT
ͦͷଞͷίϯϙʔωϯτ BUPNT NPMFDVMFT ϓϥοτϑΥʔϜݻ༗ ڞ௨
!12 ίϯϙʔωϯτͷΓସ͑ ωΠςΟϒ͔8FC͔ఆͯ͠ίϯϙʔωϯτΛΓସ͑Δॲཧͳ͍ w ͦͦωΠςΟϒͱ8FCͰ3PVUFS͕ҧ͏ w ڞ௨ίϯϙʔωϯτ͔Βݻ༗ίϯϙʔωϯτΛ͍ͬͯͳ͍ ʢඞཁͳ͍͘Β͍3FBDU/BUJWFGPS8FC͕༏लͩͬͨʣ
Ϟδϡʔϧͷذ
ϢʔςΟϦςΟతͳϞδϡʔϧʹذ͕ඞཁ w ετϨʔδ "TZOD4UPSBHF͑ذෆཁ w ωΠςΟϒ ➜3FBMN w 8FC
➜-PDBM4UPSBHF w JO w ωΠςΟϒ ➜SFBDUOBUJWFJOʢͷݴޠઃఆΛऔಘ͢ΔͷͰXFCͰಈ͔ͳ͍ʣ w 8FC ➜XJOEPXOBWJHBUPSMBOHVBHF !14 Ϟδϡʔϧͷذ ֦ுࢠͰذ͢Δͱศར
!15 JOͷ࣮ྫ JOOBUJWFKT SFBDUOBUJWFJOΛͬͨଟݴޠରԠ JOXFCKT 8FCඪ४ΛͬͨଟݴޠରԠ ࣗಈతʹࢀরઌ͕ΓସΘΔ
ͦͷଞͷذ
1MBUGPSN04ΛͬͯJGจͰذ͢Δ͜ͱͰ͖Δ !17 Θ͔ͣͳڍಈͷࠩΛJGͰٵऩ͢Δ 8FCͰPO$MJDLɺωΠςΟϒͰPO1SFTTΛ͏ ʢ༨ஊʣ47(ؔ࿈Ҏ֎Ͱ͜ͷखͷذ͕ඞཁʹͳͬͨ͜ͱͳ͍
w SFBDUOBUJWFTWH 8FCϏϧυͰSFBDUOBUJWFTWHXFCΛར༻͢Δ w SFBDUOBUJWFWFDUPSJDPOT w SFBDUOBUJWFTFOUSZ JOEFYKT JOEFYXFCKTͰదʹઃఆ͢ΔͱXFCରԠͰ͖Δ !18
ϥΠϒϥϦͷXFCରԠ XFCQBDLDPOpHKTͰ SFBDUOBUJWFTWHΛ SFBDUOBUJWFTWHXFCʹஔ ͦΕͧΕͷϥΠϒϥϦͷ3&"%.&Λࢀߟʹ
QVZPTJNΛ8FCରԠ͢Δʹ͋ͨͬͯɺ Ͳ͏͍ͬͨذ͕ඞཁʹͳ͔ͬͨΛհ͠·ͨ͠ɻ w 3PVUJOHͱ/BWJHBUJPO ➜ΤϯτϦϙΠϯτʢJOEFYKT JOEFYXFCKTʣͰذ w JOͱ4UPSBHF ➜ιʔεϑΝΠϧ֦ுࢠʢ OBUJWFKT
XFCKTʣͰذ w ΠϕϯτʢPO$MJDL PO1SFTTʣͳͲͷࡉ͔͍ࠩҟ ➜1MBUGPSN04Ͱذ w ֎෦ͷωΠςΟϒϥΠϒϥϦ ➜XFCQBDLͰBMJBT ͘͠ΤϯτϦϙΠϯτͰذ !19 ·ͱΊ ͜ΕҎ֎શ෦8FC ωΠςΟϒڞ௨Ͱ͢
IUUQTHJUIVCDPNIBSJQPQVZPTJN w ઈࢍ։ൃதͰ͢ w த్ͳ5ZQF4DSJQUͰ͢ w ͪΖΜ"OESPJEJ048FCʹϏϧυՄೳͰ͢ w 3FEVDFS4UPSFͷઃܭͱ͔ งғؾͰ͍ͬͯΔͷͰίϝϯτͩ͘͞Δͱॿ͔Γ·͢
w ιʔε/P-JDFOTFͰ͢ w શ͘ಉ͡ΞϓϦͱ͔ग़͞ΕΔͱࠔΔͷͰ w ৗࣝతͳൣғͰࢀߟʹ͍ͯͩ͘͠͞ w Λ͍ͩ͘͞ !20 ιʔεެ։͠·ͨ͠