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
haripo
September 13, 2018
Technology
1.2k
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
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
Bet AI Day 2026丨バクラク Autopilot、業務システムの再設計
layerx
PRO
2
1.5k
Self Healing Rollouts: Automating Production Fixes with Agentic AI
kdubois
0
160
AndroidでHDRメディアを「壊さずに」扱う
chigichan24
0
410
設計の世代交代を乗り越える、14年続くAndroidアプリの開発戦略
sansantech
PRO
1
150
PdMをやめて、 "プロダクトビルダー"という 働き方に変えました / PdM to Product Builder
shikichee
2
720
JAWS-UG初心者支部#88わいわい初心塾(夏休みの宿題やったかGit編)
otsuki
0
150
Redmine 7.0で私が開発した新機能の狙いと背景
vividtone
1
110
#jawssonic2026 あの時代が悪かった ~動かなかったSageMakerと共に迎えたイベント当日~
ktkn1129
0
130
Beyond the Hype: Practical AI for Your Oracle Database with MCP
thatjeffsmith
1
270
コスト最適化の「めんどくさい」を AWS FinOps Agent でチョット楽にする
classmethod_kaz
0
240
Where Is JetBrains AI Heading- — Central CLI, Air Alpha, and the Agentic Development Stack
x5gtrn
PRO
0
140
Jetpack Compose で挑む新聞紙面UI ─ 複合ジェスチャー・ポリゴン記事領域・適応的ページ構成という3つの壁/droidkaigi2026
nikkei_engineer_recruiting
0
230
Featured
See All Featured
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
287
14k
Max Prin - Stacking Signals: How International SEO Comes Together (And Falls Apart)
techseoconnect
PRO
0
450
Leading Effective Engineering Teams in the AI Era
addyosmani
9
2.5k
Leveraging Curiosity to Care for An Aging Population
cassininazir
1
490
The untapped power of vector embeddings
frankvandijk
2
1.9k
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
68
57k
GraphQLとの向き合い方2022年版
quramy
50
15k
Designing Experiences People Love
moore
143
24k
How to Ace a Technical Interview
jacobian
281
24k
Accessibility Awareness
sabderemane
1
200
Code Review Best Practice
trishagee
74
20k
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 ιʔεެ։͠·ͨ͠