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
670
アプリリリースまでのつらみあれこれ
アプリリリースまでのつらみあれこれ
【第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
250
React Native ことはじめ
nitaking
0
250
2021-06-24 最近のビルドツール調べてみた
nitaking
0
140
Fishのススメ
nitaking
0
73
Blitz.jsの紹介
nitaking
1
1k
Expo WEB × Next.js は実用できるのか?
nitaking
3
1k
react-hooks-loggerつくった話
nitaking
0
510
あの震えるインタラクションを実装したい
nitaking
1
1.5k
React非同期ライブラリを知る
nitaking
0
180
Other Decks in Technology
See All in Technology
なぜブラウザで帳票を生成したいのか どのようにブラウザで帳票を生成するのか
yagisanreports
1
200
re:Inventにおける製造業のこれまでとこれから
hamadakoji
0
360
大規模プロダクトで実践するAI活用の仕組みづくり
k1tikurisu
5
1.8k
確実に伝えるHealth通知 〜半自動システムでほどよく漏れなく / JAWS-UG 神戸 #9 神戸へようこそ!LT会
genda
0
130
膨大なデータをどうさばく? Java × MQで作るPub/Subアーキテクチャ
zenta
0
130
新しい風。SolidFlutterで実現するシンプルな状態管理
zozotech
PRO
0
140
機械学習を「社会実装」するということ 2025年冬版 / Social Implementation of Machine Learning November 2025 Version
moepy_stats
4
270
IPv6-mostly field report from RubyKaigi 2026
sorah
0
190
身近なCSVを活用する!AWSのデータ分析基盤アーキテクチャ
koosun
0
4.1k
2025年 面白の現在地 / Where Omoshiro Stands Today: 2025
acidlemon
0
540
AI駆動開発を実現するためのアーキテクチャと取り組み
baseballyama
17
13k
組織の“見えない壁”を越えよ!エンタープライズシフトに必須な3つのPMの「在り方」変革 #pmconf2025
masakazu178
1
910
Featured
See All Featured
Java REST API Framework Comparison - PWX 2021
mraible
34
9k
Embracing the Ebb and Flow
colly
88
4.9k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
9.8k
Automating Front-end Workflow
addyosmani
1371
200k
KATA
mclloyd
PRO
32
15k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.5k
A Tale of Four Properties
chriscoyier
162
23k
Why You Should Never Use an ORM
jnunemaker
PRO
60
9.6k
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
5.7k
BBQ
matthewcrist
89
9.9k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
249
1.3M
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৹ࠪݸਓ͕ࠩ͋Δɻ
• όʔδϣϯΞοϓ։ൃத͜·Ίʹ͍ͬͯͨ΄͏ ͕݈શ͔
͋Γ͕ͱ͏͍͟͝·ͨ͠