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
Takahiro Kato
March 05, 2026
Technology
150
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
300
新規サービス開発におけるReact Nativeのリアル〜技術選定の裏側と実践的OSS活用〜
grandbig
2
2.7k
ゼロから始めたFindy初のモバイルアプリ開発
grandbig
2
1.9k
快適な開発と高セキュリティを実現するCryptoKitを活用したCoreDataのデータ暗号化術
grandbig
2
2k
Other Decks in Technology
See All in Technology
BigQuery を検索ソースとした AI Agent の作り方って 〇〇 通りあんねん
satohjohn
0
150
クラウドセキュリティ入門 ~安全なクラウド利用のための基礎知識~
lhazy
8
7.3k
実践が先生だった— 新卒サーバーエンジニア1年目のリアル
mixi_engineers
PRO
0
240
メルカリのグローバルアプリで挑んだ AlloyDB 運用と課題解決の実践記
hatappi
0
110
【CEDEC2026】『GRANBLUE FANTASY: Relink - Endless Ragnarok』のバトル制作事例 ~最高のキャラゲーを目指して~
cygames
PRO
0
160
Cursor Meetup Sapporo - Cursor物語 続編
cocacola917
0
110
13年運用タイトルのサーバーサイドが辿り着いた現在地 ― モンスターストライクにおける技術・組織・AI活用から得た知見
mixi_engineers
PRO
1
430
「待ち時間」の消滅と「自我消耗」の加速:生成AI時代のエンジニアを救うメンタル・リソース管理
poropinai1966
0
420
論語・武士道・産業革命から見る かわるもの、かわらないもの
ichimichi
8
2.2k
DevOps Agentで運用判断をチーム資産にする~Agent InstructionsとAgent Skillを継続的に育てる~
fujioka6789
0
200
AIがAPIを書く時代に、私たちは何を設計すべきか
nagix
0
200
サイバー捜査員研修(後半)
nomizone
1
480
Featured
See All Featured
The Anti-SEO Checklist Checklist. Pubcon Cyber Week
ryanjones
0
200
Building the Perfect Custom Keyboard
takai
2
830
Visualization
eitanlees
152
17k
Abbi's Birthday
coloredviolet
3
9k
Jamie Indigo - Trashchat’s Guide to Black Boxes: Technical SEO Tactics for LLMs
techseoconnect
PRO
0
560
jQuery: Nuts, Bolts and Bling
dougneiner
66
8.5k
Rebuilding a faster, lazier Slack
samanthasiow
85
9.6k
Embracing the Ebb and Flow
colly
88
5.1k
Heart Work Chapter 1 - Part 1
lfama
PRO
8
36k
Claude Code のすすめ
schroneko
67
230k
A Soul's Torment
seathinner
6
3.2k
Deep Space Network (abreviated)
tonyrice
0
250
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)に繋げること で、真の理解に近づいた