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
iOSエンジニアが挑んだReact Native習得の裏側
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Takahiro Kato
March 05, 2026
Technology
2
96
iOSエンジニアが挑んだReact Native習得の裏側
Takahiro Kato
March 05, 2026
Tweet
Share
More Decks by Takahiro Kato
See All by Takahiro Kato
ゼロから始めたFindy初のモバイルアプリ開発
grandbig
2
1.7k
快適な開発と高セキュリティを実現するCryptoKitを活用したCoreDataのデータ暗号化術
grandbig
2
1.7k
Other Decks in Technology
See All in Technology
Amazon Qはアマコネで頑張っています〜 Amazon Q in Connectについて〜
yama3133
1
150
Oracle AI Database@AWS:サービス概要のご紹介
oracle4engineer
PRO
3
2k
Oracle AI Database@Azure:サービス概要のご紹介
oracle4engineer
PRO
4
1.3k
非同期・イベント駆動処理の分散トレーシングの繋げ方
ichikawaken
1
210
ADK + Gemini Enterprise で 外部 API 連携エージェント作るなら OAuth の仕組みを理解しておこう
kaz1437
0
230
DDD×仕様駆動で回す高品質開発のプロセス設計
littlehands
6
2.7k
OPENLOGI Company Profile for engineer
hr01
1
61k
AWS Systems Managerのハイブリッドアクティベーションを使用したガバメントクラウド環境の統合管理
toru_kubota
1
190
OCI技術資料 : 証明書サービス概要
ocise
1
7.1k
私がよく使うMCPサーバー3選と社内で安全に活用する方法
kintotechdev
0
140
CloudFrontのHost Header転送設定でパケットの中身はどう変わるのか?
nagisa53
1
220
SSoT(Single Source of Truth)で「壊して再生」する設計
kawauso
2
400
Featured
See All Featured
Noah Learner - AI + Me: how we built a GSC Bulk Export data pipeline
techseoconnect
PRO
0
150
How to build a perfect <img>
jonoalderson
1
5.3k
Six Lessons from altMBA
skipperchong
29
4.2k
Build your cross-platform service in a week with App Engine
jlugia
234
18k
Reality Check: Gamification 10 Years Later
codingconduct
0
2.1k
Conquering PDFs: document understanding beyond plain text
inesmontani
PRO
4
2.5k
The agentic SEO stack - context over prompts
schlessera
0
720
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
64
54k
What Being in a Rock Band Can Teach Us About Real World SEO
427marketing
0
200
A designer walks into a library…
pauljervisheath
210
24k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.4k
Odyssey Design
rkendrick25
PRO
2
560
Transcript
© Findy Inc. 2026.03.04 エンジニアが「⾃⼰学習」を楽しむための合同LT会 iOSエンジニアが挑んだ React Native習得の裏側 1 ファインディ株式会社
モバイルエンジニア 加藤 雄⼤ @Takahiro_Kato15
© Findy Inc. 2 ⾃⼰紹介 加藤 雄⼤(Kato Takahiro) • プロフィール
◦ 1986年⽣まれの埼⽟県出⾝、1児の⽗ • キャリア ◦ iOSアプリ開発(Swift)が得意 ◦ 2025年8⽉にファインディ株式会社に⼊社 :@Takahiro_Kato15 :grandbig
© Findy Inc. 3 ※クローズドに試験運⽤中
© Findy Inc. 4 Findy Eventsアプリの紹介 QRコードを提⽰し てチェックイン チェックインしたイベ ントの概要‧参加者の
閲覧 参加者同⼠で つながり登録 ※クローズドに試験運⽤中のため、機能改善は鋭意進めています
© Findy Inc. 5 ① React Nativeの戦略的選択 ② React Nativeの習熟のために⼯夫したこと
© Findy Inc. React Nativeの戦略的選択 6
© Findy Inc. 7 当時の状況と、私がやるべきこと モバイルアプリプロダクト : 実績なし 現役モバイルエンジニア: ⾃分だけ
開発環境‧端末‧ルール: なし Apple / Google 法⼈登録 iOS / Android 開発端末調 達 アカウント‧端 末管理ルール策 定 技術選定 当時の状況 やるべきこと 要求&要件定 義
© Findy Inc. 8 モバイルアプリを何で開発するのか 0から技術選定できる環境にあった
© Findy Inc. 9 モバイルアプリ開発⼿法の選択肢 アプローチ 概要 Native SwiftでiOS、KotlinでAndroidを開発する Kotlin
Multiplatform ロジックを共通化し、UIはiOS/Androidそれぞれ開発 Cross Platform 1つのコードで、両OSのUI/ロジックを開発 開発者の置かれている環境や考え に依存して最適な⼿法は変わる
© Findy Inc. 10
© Findy Inc. 1 1 なぜReact Nativeを選んだのか? 組織のアセット(資 産) モバイルエンジニアとし
ての⾃⾝のナレッジ 最速リリース
© Findy Inc. 1 2 なぜReact Nativeを選んだのか? 組織のアセット(資 産) モバイルエンジニアとし
ての⾃⾝のナレッジ 最速リリース エンジニアとしての⽣存戦略 Webフロントエンド技術に領域を広げる
© Findy Inc. React Nativeの習熟のために ⼯夫したこと 1 3
© Findy Inc. 1 4 React Nativeの習熟に向けて、初めに取り組んだこと ⾃⼰学習として実施(業務はスキル成熟を待ってくれない) • 公式ドキュメントやチュートリアル
• Swift製のコードをAIと伴⾛して、React Nativeに書き直す
© Findy Inc. 1 5 React Nativeの習熟に向けて、初めに取り組んだこと ⾃⼰学習として実施(業務はスキル成熟を待ってくれない) • 公式ドキュメントやチュートリアル
• Swift製のコードをAIと伴⾛して、React Nativeに書き直す 書き⽅(How)はわかった でも、どこか腹落ちしない(モヤモヤする)
© Findy Inc. 1 6 具体的な「モヤモヤ」の例 • React ◦ 昔あったライフサイクルメソッドを使わずに、なぜHooksを使うのか?
• TypeScript ◦ 「enum」の利⽤が⾮推奨と⾔われているのはなぜ?
© Findy Inc. 1 具体的な「モヤモヤ」の例 • React ◦ 昔あったライフサイクルメソッドを使わずに、なぜHooksを使うのか? •
TypeScript ◦ 「enum」の利⽤が⾮推奨と⾔われているのはなぜ? 納得感(Why)がスキップされて、 脳がシフトできていないことに気づいた Swift / iOS脳 React Native / TypeScript脳 • OS仕様(Appleのルール) • ⾔語仕様としての型安全 • Framework / ⾔語としての仕様 • JSへの静的型付けの導⼊
© Findy Inc. 1 8 「モヤモヤ」に対する対策 React Native / TypeScriptへの納得感(Why)を得るために...
特定の記法やアーキテクチャの 「歴史や経緯」を学ぶことを選択 学び⽅は様々ですが... 私の場合は、⾃⼰学習として、書籍を読むことで、体系的な学びに繋がった • りあクト!TypeScriptで始めるつらくないReact開発【②React基礎編】 • プロを⽬指す⼈のためのTypeScript⼊⾨
© Findy Inc. 1 9 歴史や経緯を読み解いて納得感に繋がった例 • ライフサイクルメソッド ◦ 関⼼の分離の軸が「時間」になり、関連性のあるロジックが分散する
componentDidMount() { ChatAPI.subscribe(this.props.id); // 購読の開始処理 } componentDidUpdate(prevProps) { if (prevProps.id !== this.props.id) { ChatAPI.unsubscribe(prevProps.id); // 購読の解除処理 ChatAPI.subscribe(this.props.id); // 購読の設定処理 } } componentWillUnmount() { ChatAPI.unsubscribe(this.props.id); // 購読の解除処理 } あ iOSのライフサイクルメソッ ドに似ている... • viewDidLoad • viewDidLayoutSubviews • viewWillDisappear
© Findy Inc. 2 0 歴史や経緯を読み解いて納得感に繋がった例 • React Hooks ◦
React Hookを活⽤することで、関連性のあるロジックを集約できる ◦ useEffectを利⽤することで、依存配列で実⾏タイミングを決めれる&ク リーンアップ関数により、関連性のあるロジックが集約される useEffect(() => { ChatAPI.subscribe(id); // 購読の開始処理 return () => { ChatAPI.unsubscribe(this.props.id); //クリーンアップ関数内で、購読解除 } }, [id]);
© Findy Inc. 2 1 まとめ • React Nativeの戦略的選択 ◦
開発者の置かれている環境や考えに依存して最適な⼿法は変わる ◦ 組織と開発者⾃⾝の双⽅にメリットのある選定がオススメ • React Nativeの習熟のために⼯夫したこと ◦ 業務スピードに負けないために、⾃⼰学習を実施 ◦ 書き⽅(How)だけでなく、歴史や経緯を学び、納得感(Why)に繋げること で、真の理解に近づいた