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
アプリリリースまでのつらみあれこれ
Search
nitaking
February 21, 2019
Technology
0
570
アプリリリースまでのつらみあれこれ
アプリリリースまでのつらみあれこれ
【第2回】ReactNativeにゆかりのあるスタートアップが集う会
https://r-n.connpass.com/event/117895/
nitaking
February 21, 2019
Tweet
Share
More Decks by nitaking
See All by nitaking
人は30分でLT資料を作って発表できるのか
nitaking
0
200
React Native ことはじめ
nitaking
0
220
2021-06-24 最近のビルドツール調べてみた
nitaking
0
110
Fishのススメ
nitaking
0
61
Blitz.jsの紹介
nitaking
1
970
Expo WEB × Next.js は実用できるのか?
nitaking
3
1k
react-hooks-loggerつくった話
nitaking
0
470
あの震えるインタラクションを実装したい
nitaking
1
1.3k
React非同期ライブラリを知る
nitaking
0
160
Other Decks in Technology
See All in Technology
マーケットプレイス版Oracle WebCenter Content For OCI
oracle4engineer
PRO
3
540
AI Agent時代なのでAWSのLLMs.txtが欲しい!
watany
3
370
JAWS DAYS 2025 アーキテクチャ道場 事前説明会 / JAWS DAYS 2025 briefing document
naospon
0
2.8k
ディスプレイ広告(Yahoo!広告・LINE広告)におけるバックエンド開発
lycorptech_jp
PRO
0
590
フォーイット_エンジニア向け会社紹介資料_Forit_Company_Profile.pdf
forit_tech
1
1.7k
目標と時間軸 〜ベイビーステップでケイパビリティを高めよう〜
kakehashi
PRO
8
1k
4th place solution Eedi - Mining Misconceptions in Mathematics
rist
0
150
入門 PEAK Threat Hunting @SECCON
odorusatoshi
0
180
あなたが人生で成功するための5つの普遍的法則 #jawsug #jawsdays2025 / 20250301 HEROZ
yoshidashingo
2
360
2025/3/1 公共交通オープンデータデイ2025
morohoshi
0
110
RaspberryPi CM4(CM5も)面白いぞ!
nonnoise
0
110
OPENLOGI Company Profile
hr01
0
60k
Featured
See All Featured
Dealing with People You Can't Stand - Big Design 2015
cassininazir
366
25k
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
Designing Experiences People Love
moore
140
23k
Code Reviewing Like a Champion
maltzj
521
39k
GraphQLとの向き合い方2022年版
quramy
44
14k
Keith and Marios Guide to Fast Websites
keithpitt
411
22k
Intergalactic Javascript Robots from Outer Space
tanoku
270
27k
Optimizing for Happiness
mojombo
377
70k
The World Runs on Bad Software
bkeepers
PRO
67
11k
Mobile First: as difficult as doing things right
swwweet
223
9.5k
Producing Creativity
orderedlist
PRO
344
40k
Transcript
ΞϓϦϦϦʔε·Ͱͷ ͭΒΈ͋Ε͜Ε @nitaking_
About Satoshi Nitawaki • ॴଐ • ΤΞʔΫϩʔθοτ • ΞϓϦϝΠϯ /
ϑϩϯτ / αʔό • ܦྺ • SIer / ࣾSE • ΞΧϯτ • Twitter: @nitaking_ • Github: @nitaking
ΤΞʔΫϩʔθοτ • αʔϏε • ϓϩͷελΠϦετ͕͋ͳͨͷͨΊʹίʔσΟωʔτ • ύʔιφϧελΠϦϯά • ঁੑ͚आΓ์ͷϑΝογϣϯϨϯλϧαʔϏε
React Native࠾༻ʹࢸΔ·Ͱ • طଘͷiOSΞϓϦʢSwitfʣΛϦϓϨʔε • iOSΤϯδχΞෆࡏ • ϝϯςφϯε͞Εͳ͍ΞϓϦ • ߋ৽͞Εଓ͚ΔWEBΞϓϦ
• ಡΊͳ͍Swiftͷίʔυ • Androidཉ͍͠
ϦϓϨʔεͷํ • ϝΠϯػೳReact NativeͰ࣮ • ҎԼWebViewͰճආ • ϦϦʔεʹؒʹ߹Θͳ͍༏ઌΊͳػೳ • ܾࡁपΓը໘
• tokenೝূ͕͠ΜͲͦ͏
ओʹਏ͔ͬͨͱ͜ Android WebView
Android • WebViewͷFileUploadͰ͖ͳ͍݅ • FlatList × Image => ϨϯμϦϯά͓͔͍͠
WebViewͷFileUploadͰ͖ͳ͍݅ • ϦϦʔε1िؒલʹൃ֮ • RN v0.55.4Ͱൃੜ • v0.57.0Ͱʢͬͱʣղফ͞ΕͨΒ͍͠ ͜ͷλΠϛϯάͰ RNΞοϓάϨʔυʂʁ
WebViewͷFileUploadͰ͖ͳ͍݅ • ༗ࢤʹॿ͚ΒΕͨʂʂʂ • Android<WebView>Λ͜ΕͱೖΕସ͑ͯ༻͢Δ • ࠓݩؾʹಈ͍͍ͯΔ • RNόʔδϣϯΞοϓ͢Δ·Ͱ͓ੈʹ
FlatList × Image • ͳʹ͕ى͖͔ͨ • ϨϯμϦϯά͕·Β • දࣔΧΫ͍ͭͯΔײ •
දࣔ͞Εͳ͍Component • iOSͰى͖ͳ͔ͬͨ *NBHF
FlatList × Image • ղܾࡦ • props: removeClippedSubviews This may
improve scroll performance for large lists.
FlatList × Image removeClippedSubviews: false removeClippedSubviews: true • iOSϝϞϦϦʔΫ͕͏·͍͕ AndroidϝϞϦϦʔΫ͞Εͯͳ͍ʁ
iOS༏लʁ
WebView • webίϯςϯπΛදࣔ • ࣗಈϩάΠϯ • AuthޙͷtokeΛCookieʹηοτͯ͠ೝূ • ͭ·Γ •
RNͷWebViewʹCookieΛηοτͯ͠ೝূʁ
WebView • ͬͨ͜ͱ • WebViewͷதʹCookieใηοτʁ • <WebView> injectJavaScriptʹsetCookieͷॲཧΛ ߦ͏JSΛ࣮ͯ͠ߦͰ͖ͦ͏ͳײ͕͋͡Δ ࣦഊ
WebView • ߦ͖ண͍ͨ͑ • react-native-cookies(star 600~) • ͔͋ͨϝδϟʔͬΆ͍react-native-cookieඍົ • iOSͱAndroidͰؔ༩͑Δύϥϝʔλผʑ
• iOSCookieೝূOKͰAndroidNGɺ ͱ͍͏͜ͱ͕ൃੜ͍ͯͨ͠
WebView AndroidͱiOSͰ༻్ಉ͡ͳͷʹΠϯλϑΣʔεҧ͏ →݁ߏϋϚͬͨ
͞Βʹ Apple৹ࠪ
Apple৹ࠪ • Ұճɿϕʔλ൛͛ͨ • ௨աͨ͠ • ೋճɿ҆৺ͯ͠͏Ұճ͛ͨ • मਖ਼ͯ͠ͳ͍ͱ͜ΖͷࢦఠͰ৹ࠪམͪͨɻɻɻ
ͳͥʁ
Apple৹ࠪ • ཧ༝ɿ • ձһొSafariͷwebϖʔδʹඈ͍ͯͨ͠ ʢAppϦϯΫ -> Safariϖʔδʣ • ձһొΞϓϦͰ݁ͤͯ͞΄͍͠ͱͷ͜ͱ
• UXͷ؍͔ΒΞϓϦ͕͍͍Αͱͷ͜ͱ ཧ༝Θ͔ͬͨɻ ͰͳΜͰҰճ৹ࠪ௨ͬͨɾɾɾʁ
Apple৹ࠪ • AppWebViewʹΓସ͑ • iOS͢Μ͍͝ΧΫΧΫ͢Δ • Safariͩͱ͘͢͝αΫαΫಈ͍ͯΔ • Android͍͢͝αΫαΫಈ͘ɾɾɾ εΫϩʔϧ͢ΒͰ͖ͳ͍݅
WebViewΧΫΧΫ RN WebView Safari
WebViewΧΫΧΫ • ݪҼʢݸਓతݟղʣ • RNͷWebViewύϑΥʔϚϯε͕ѱ͍ • ձһొwebϖʔδͷύϑΥʔϚϯε͕ѱ͍ • ্هͷʮѱ͍×ѱ͍ʯʹΑͬͯҾ͖ى͜͞Ε͍ͯΔ •
WKWebViewͱUIWebViewͷҧ͍ʁʁ • iOS8ͷSafariͰಉ͡ݱΛ࠶ݱ • iOS8 SafariʹRN WebView
WebViewΧΫΧΫ • ରॲ • ෳͷཁҼ͕͋Γͦ͏ͰݪҼٻΓ্͛ɻ • ΞϓϦ༻ձһొϖʔδΛ༻ҙͯ͠Γӽ͑Δ ͠ ؔ࿈͢ΔݟΛ͓࣋ͪͷํ͕͍Ε ڭ͍͑ͯͩ͘͞ʂʂ
·ͱΊ • AndroidϨϯμϦϯά͕ऑ͍ • AndroidWebView͕ڧ͍ • iOSWebViewͷύϑΥʔϚϯε͕ѱ͍ ʢԿ͔͠Βରॲ๏ଘࡏͦ͠͏ʣ • Apple৹ࠪݸਓ͕ࠩ͋Δɻ
• όʔδϣϯΞοϓ։ൃத͜·Ίʹ͍ͬͯͨ΄͏ ͕݈શ͔
͋Γ͕ͱ͏͍͟͝·ͨ͠