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
iOSエンジニアが挑んだReact Native習得の裏側
Search
Takahiro Kato
March 05, 2026
Technology
180
2
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
iOSエンジニアが挑んだReact Native習得の裏側
Takahiro Kato
March 05, 2026
More Decks by Takahiro Kato
See All by Takahiro Kato
UIライブラリに依存しすぎないReact Native設計を目指して
grandbig
0
430
新規サービス開発におけるReact Nativeのリアル〜技術選定の裏側と実践的OSS活用〜
grandbig
2
2.9k
ゼロから始めたFindy初のモバイルアプリ開発
grandbig
2
2.1k
快適な開発と高セキュリティを実現するCryptoKitを活用したCoreDataのデータ暗号化術
grandbig
2
2.1k
Other Decks in Technology
See All in Technology
2026 Apache Flink Community Checkpoint
rmetzger
0
180
AI AgentによるEmbedded SREの取り組み
tgidgd
1
340
公共分野での生成AI活用
toru_kubota
1
190
レガシーコードに対する loop engineering的なAI開発プロセス導入について
kubell_hr
0
240
サボる子はいねぇがー!AgentCoreハーネスの脆弱性に学ぶ、エージェントの入力バリデーション
iwamot
PRO
4
220
Gifu WordPress Meetup #200 に向けて、私たちには何ができるだろうか?/ 2026-11-07 Gifu WordPress Meetup
torounit
0
150
AIに任せられるFlutterコードベースを作る 〜仕様をコードで表し、ハーネスで守る〜
myohei
1
630
新卒エンジニア、 介護士になる
ryu1013
1
690
増え続けるプロダクトの品質をどう担保するか。ProductSpecとTypeScriptによる取り組み
joere
3
390
[General] 개발자로 해외 기업에서 일하기
skydoves
1
300
re:Invent の去年のスケジュールを公開します!
miu_crescent
PRO
0
280
攻撃 3 時間 vs 復旧 10 時間。アクセスキー流出の非対称性を体感するために CTF を作った話
kazzpapa3
1
140
Featured
See All Featured
4 Signs Your Business is Dying
shpigford
187
23k
JAMstack: Web Apps at Ludicrous Speed - All Things Open 2022
reverentgeek
1
670
Context Engineering - Making Every Token Count
addyosmani
9
1.3k
Designing for Timeless Needs
cassininazir
1
550
First, design no harm
axbom
PRO
2
1.4k
Paper Plane (Part 1)
katiecoart
PRO
2
12k
Art, The Web, and Tiny UX
lynnandtonic
304
22k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
50
10k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
37
6.7k
Raft: Consensus for Rubyists
vanstee
143
7.8k
Building Applications with DynamoDB
mza
96
7.3k
Navigating Weather and Climate Data
rabernat
0
580
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)に繋げること で、真の理解に近づいた