Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Cookpad.apk#1-ReactNativeについて
Search
kazy1991
August 21, 2018
Technology
6.7k
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Cookpad.apk#1-ReactNativeについて
https://cookpad.connpass.com/event/96502/
kazy1991
August 21, 2018
More Decks by kazy1991
See All by kazy1991
基本のAndroid View開発ドキュメント
kazy1991
0
2.9k
いつか使ってみたいOperatorたち
kazy1991
0
520
Cookpad TechKitchen#6-android-with-ml-and-scheduler
kazy1991
0
750
Droidkaigi 2017
kazy1991
5
13k
RxJava Droidkaigi
kazy1991
1
120
rx.pdf
kazy1991
0
150
はじめてのvimscipt
kazy1991
1
470
Other Decks in Technology
See All in Technology
SREは、MCPとAutopilotをこう使え!
kazumax55
2
820
「ピッケル本」日本語版は4.0(第6版)が出版されるべき / pickaxe4-nagoyark05
kakutani
1
110
Reactの設計論
uhyo
24
13k
The Agent Builder Loop from Daily Work to OSS
minorun365
PRO
3
200
Genieを崇めよ
kameitomohiro
0
140
例外の正しい扱い方 そのエラー try-catchして大丈夫?
jinwatanabe
3
510
山手線を徒歩で一周してわかった、 位置情報アプリは「足」が最強のデバッガー
hinakko
0
160
人間はどの意思決定を手放せるのか
kawasima
14
7k
AI de Idea
kawaguti
PRO
2
110
[2026-09-11]SREは誰のもの?運用エンジニアが始める 「SRE領域への越境」とチームの進化の軌跡 〜Road to NEXT CRE
tosite
0
270
iOSDC Japan 2026 day1 TrackC 10:50
feedtailor
1
160
作品が生態系になった ─ Mini Tokyo 3D から世界へ
nagix
0
190
Featured
See All Featured
Why Our Code Smells
bkeepers
PRO
340
58k
Marketing Yourself as an Engineer | Alaka | Gurzu
gurzu
0
300
How STYLIGHT went responsive
nonsquared
100
6.3k
DevOps and Value Stream Thinking: Enabling flow, efficiency and business value
helenjbeal
1
390
AI Search: Where Are We & What Can We Do About It?
aleyda
0
7.9k
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
More Than Pixels: Becoming A User Experience Designer
marktimemedia
3
520
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
18k
The AI Revolution Will Not Be Monopolized: How open-source beats economies of scale, even for LLMs
inesmontani
PRO
3
3.7k
The Limits of Empathy - UXLibs8
cassininazir
1
670
Redefining SEO in the New Era of Traffic Generation
szymonslowik
1
420
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
56
3.5k
Transcript
cookpad.apk 最近風当たりの強いReact Native for Androidについて
自己紹介 - 吉田万輝(かずき) - 2014年度クックパッド新卒入社 - 所属: 投稿開発部(10名) - Android
エンジニア - Github: @kazy1991 - Twitter: @101kaz
「クックパッドMYキッチン」で検索
マルチプラットフォーム展開
ReactNativeを採用して後悔しているか?
No. 今のチームにはマッチしていて満足度が高い です。 ※チーム構成や目的に応じて RNの評価は大きく異なると思われます。
RNの評価が分かれそうなポイント - チームのメンバー構成 - 開発チームの規模 - 対象のユーザーの規模 - フルRNアプリ or
ハイブリッドアプリ
ReactNativeがマッチする環境 - チームのメンバー構成 - Android, iOS, (出来ればJavaScriptも)に詳しい人がいる - 開発チームの規模 -
小さいチーム(2~6人程度) - 対象のユーザーの規模 - そこそこ(MAU数十~百万の単位になってくるとかなり厳しそう ) - フルRNアプリ or ハイブリッドアプリ - フルRNアプリを強く推奨
なぜか
チームメンバー構成について - ReactNativeはiOS,Androidエコシステムを上手く抽象化していますが、 よくわからない事象で嵌まる事があるのでiOS,Androidの専門性が必要 - リリースは通常の開発と同じなので安全で正しいリリースをするためにも iOS,Androidの知識が必要 - そのためiOS,Androidに詳しいエンジニアは必須
開発チーム規模と対象ユーザーの規模 - ReactNativeがそこまで安定したエコシステムではないので、チームメンバーの サポートを考えると一人が変更を常に追っていける規模感でないと厳しい - RN起因のどうしても解決できないクラッシュも多々起きる。ユーザーの規模が大 きくなると無視できないレベルになりそう
フルRNアプリを推す理由 - ReactNative自体が安定してないので出来る限りレールに乗った方が、 嵌まることが少ない - ReactNativeを導入するとプロジェクトがかなり汚染するので、 ネイティブ画面の開発する際に開発体験(DX)を著しく下げる
投稿開発部の開発メンバー - iOS: 2名 - Android: 1名 - rails: 1名
- デザイナー: 1名 - JavaScript: 1名(部長)
MYキッチンアプリ - 目的: - レシピ投稿者向けたクックパッドアプリのリデザイン - Chrome Canaryのようなベータ版アプリとしての役割も担っている - 機能
- 多くの画面がAPIレスポンスをViewにマッピングしている程度で、センサーなど ハードウェア機能をほとんど利用しない - 対象: - 小規模:ベータユーザー(DAUで数百人程度)
MYキッチンアプリの技術面 - プラットフォーム: - iOS and Android - コードベース: -
100% React Native App (with native-module) - 言語: - JavaScript -> TypeScript
RN製アプリのメリット
快適なリリース - CodePushを利用した高速なリリース - 多い時には月20回以上のデプロイ - 問題が起きてもすぐ直せる心理的 な安心感
すぐれた開発環境 - ホットリロードを利用した高速な開発 - 少しコードの書けるデザイナーの方ならガンガン実装まで出来る - 小さいチームなのでみんなが実装できるのはとても重要 - そこそこのクオリティでマルチプラットフォーム対応が可能 -
ネイティブ実装と遷移のアニメーションが異なるなどの差異は諦める
RN製アプリのデメリット
クラッシュレポート - Sentryを利用しているが、捕捉出来てないクラッシュがありそう(要出典) - スタックトレースがJava(kotlin)ほど見やすくない - ReactNative内のNPEなども観測しているがどうしようも出来ない
まとめ(ReactNativeが向いている環境) - チームのメンバー構成 - Android, iOS, JavaScriptに詳しい人間がいる - 開発チームの規模 -
小さいチーム(2~6人)程度 - 対象のユーザーの規模 - そこそこ(数十~百万の単位になってくると厳しそう ) - フルRNアプリ or ハイブリッドアプリ - フルRNアプリを強く推奨 ReactNativeは組織にマッチするととても強力なツールになるのでぜひ検討してみて下さい!
ありがとうございました!!
ReactNative開発FAQ
バージョンアップについて - ReactNativeのバージョンアップが辛いという話をたまに聞きますが、 追従は全く辛くないです - OSSのネイティブモジュールなどが入っているとハマるかも..? - 前提としてOSSのネイティブモジュールは基本利用しないほうが良いです
マルチプラットフォーム辛くないですか? - 確認は大変ですが、実装コストを考えると対応する価値が十分にあります - リリース前はiOSとAndroid両プラットフォームでの確認を必須にしています