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
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
AIエージェント開発用SDKとローカルLLMをLINE Botと組み合わせてみた / LINEを使ったLT大会 #14
you
PRO
0
130
Claude Code でアプリ開発をオートパイロットにするためのTips集 Zennの場合 / Claude Code Tips in Zenn
wadayusuke
5
1.9k
「何となくテストする」を卒業するためにプロダクトが動く仕組みを理解しよう
kawabeaver
0
440
Rustから学ぶ 非同期処理の仕組み
skanehira
1
150
dbt開発 with Claude Codeのためのガードレール設計
10xinc
2
1.3k
Snowflake×dbtを用いたテレシーのデータ基盤のこれまでとこれから
sagara
0
130
S3アクセス制御の設計ポイント
tommy0124
3
210
Aurora DSQLはサーバーレスアーキテクチャの常識を変えるのか
iwatatomoya
1
1.2k
開発者を支える Internal Developer Portal のイマとコレカラ / To-day and To-morrow of Internal Developer Portals: Supporting Developers
aoto
PRO
1
480
スマートファクトリーの第一歩 〜AWSマネージドサービスで 実現する予知保全と生成AI活用まで
ganota
2
320
使いやすいプラットフォームの作り方 ー LINEヤフーのKubernetes基盤に学ぶ理論と実践
lycorptech_jp
PRO
1
160
人工衛星のファームウェアをRustで書く理由
koba789
15
8.3k
Featured
See All Featured
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
285
14k
Imperfection Machines: The Place of Print at Facebook
scottboms
268
13k
A designer walks into a library…
pauljervisheath
207
24k
Writing Fast Ruby
sferik
628
62k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
5.6k
RailsConf 2023
tenderlove
30
1.2k
A Modern Web Designer's Workflow
chriscoyier
696
190k
Automating Front-end Workflow
addyosmani
1370
200k
A Tale of Four Properties
chriscoyier
160
23k
It's Worth the Effort
3n
187
28k
Context Engineering - Making Every Token Count
addyosmani
3
62
Measuring & Analyzing Core Web Vitals
bluesmoon
9
580
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 ιʔεެ։͠·ͨ͠