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
660
アプリリリースまでのつらみあれこれ
アプリリリースまでのつらみあれこれ
【第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
240
React Native ことはじめ
nitaking
0
240
2021-06-24 最近のビルドツール調べてみた
nitaking
0
140
Fishのススメ
nitaking
0
72
Blitz.jsの紹介
nitaking
1
1k
Expo WEB × Next.js は実用できるのか?
nitaking
3
1k
react-hooks-loggerつくった話
nitaking
0
510
あの震えるインタラクションを実装したい
nitaking
1
1.4k
React非同期ライブラリを知る
nitaking
0
170
Other Decks in Technology
See All in Technology
AIエージェントで90秒の広告動画を制作!台本・音声・映像・編集をつなぐAWS最新アーキテクチャの実践
nasuvitz
3
340
Platform開発が先行する Platform Engineeringの違和感
kintotechdev
4
580
品質視点から考える組織デザイン/Organizational Design from Quality
mii3king
0
210
DroidKaigi 2025 Androidエンジニアとしてのキャリア
mhidaka
2
380
Django's GeneratedField by example - DjangoCon US 2025
pauloxnet
0
150
Modern Linux
oracle4engineer
PRO
0
160
S3アクセス制御の設計ポイント
tommy0124
3
200
RSCの時代にReactとフレームワークの境界を探る
uhyo
10
3.5k
自作JSエンジンに推しプロポーザルを実装したい!
sajikix
1
190
Snowflake Intelligenceにはこうやって立ち向かう!クラシルが考えるAI Readyなデータ基盤と活用のためのDataOps
gappy50
0
280
20250912_RPALT_データを集める→とっ散らかる問題_Obsidian紹介
ratsbane666
0
100
実践!カスタムインストラクション&スラッシュコマンド
puku0x
0
510
Featured
See All Featured
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
Product Roadmaps are Hard
iamctodd
PRO
54
11k
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.4k
Visualization
eitanlees
148
16k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.9k
The Cost Of JavaScript in 2023
addyosmani
53
8.9k
Designing for humans not robots
tammielis
253
25k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
34
6k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
50k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
44
2.5k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
1.6k
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৹ࠪݸਓ͕ࠩ͋Δɻ
• όʔδϣϯΞοϓ։ൃத͜·Ίʹ͍ͬͯͨ΄͏ ͕݈શ͔
͋Γ͕ͱ͏͍͟͝·ͨ͠