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
1.2k
React Native アプリを Web に対応させる / Using React Native Web
https://react-native-meetup.connpass.com/event/97634/
登壇資料です。
haripo
September 13, 2018
Tweet
Share
Other Decks in Technology
See All in Technology
NewSQL_ ストレージ分離と分散合意を用いたスケーラブルアーキテクチャ
hacomono
PRO
2
250
OCI Security サービス 概要
oracle4engineer
PRO
2
13k
楽しく学ぼう!ネットワーク入門
shotashiratori
3
3k
アーキテクチャモダナイゼーションを実現する組織
satohjohn
0
200
Oracle Database@Google Cloud:サービス概要のご紹介
oracle4engineer
PRO
5
1.2k
kintone開発のプラットフォームエンジニアの紹介
cybozuinsideout
PRO
0
860
EMからVPoEを経てCTOへ:マネジメントキャリアパスにおける葛藤と成長
kakehashi
PRO
9
1.7k
Shifting from MCP to Skills / ベストプラクティスの変遷を辿る
yamanoku
4
800
最強のAIエージェントを諦めたら品質が上がった話 / how quality improved after giving up on the strongest AI agent
kt2mikan
0
160
Security Diaries of an Open Source IAM
ahus1
0
210
聲の形にみるアクセシビリティ
tomokusaba
0
170
スクリプトの先へ!AIエージェントと組み合わせる モバイルE2Eテスト
error96num
0
160
Featured
See All Featured
Building a Modern Day E-commerce SEO Strategy
aleyda
45
8.8k
Designing for Timeless Needs
cassininazir
0
160
Why Mistakes Are the Best Teachers: Turning Failure into a Pathway for Growth
auna
0
78
How to Ace a Technical Interview
jacobian
281
24k
Java REST API Framework Comparison - PWX 2021
mraible
34
9.2k
Paper Plane
katiecoart
PRO
0
48k
The Spectacular Lies of Maps
axbom
PRO
1
620
First, design no harm
axbom
PRO
2
1.1k
Lessons Learnt from Crawling 1000+ Websites
charlesmeaden
PRO
1
1.1k
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
2
160
How to Get Subject Matter Experts Bought In and Actively Contributing to SEO & PR Initiatives.
livdayseo
0
82
For a Future-Friendly Web
brad_frost
183
10k
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 ιʔεެ։͠·ͨ͠