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
React Nativeではじめる ハイパフォーマンス スマホアプリ開発(GENIEE Edit)
Search
Tsubasa SEKIGUCHI
PRO
October 21, 2024
Programming
0
120
React Nativeではじめる ハイパフォーマンス スマホアプリ開発(GENIEE Edit)
base:
https://speakerdeck.com/tinykitten/react-nativedehazimeru-haipahuomansu-sumahoapurikai-fa
Tsubasa SEKIGUCHI
PRO
October 21, 2024
Tweet
Share
More Decks by Tsubasa SEKIGUCHI
See All by Tsubasa SEKIGUCHI
エンジニアでも捗る デザイナー的思考入門
tinykitten
PRO
1
1.1k
Gunma.web #55
tinykitten
PRO
0
210
AWS/GCPで始める 生成AI入門
tinykitten
PRO
0
150
Rustとtonicで始める gRPC入門(GENIEE Edit)
tinykitten
PRO
0
43
スモールスタートで始める フィードバック管理システム開発入門
tinykitten
PRO
0
290
Rustとtonicで始める gRPC再入門
tinykitten
PRO
0
920
gRPCで始める ハイパフォーマンス タイプセーフウェブ開発
tinykitten
PRO
0
270
ノンデザイナーが 多少マシな見た目の資料を作る方法
tinykitten
PRO
0
200
はじめての GitHub Actionsアクション開発
tinykitten
PRO
0
150
Other Decks in Programming
See All in Programming
AIと”コードの評価関数”を共有する / Share the "code evaluation function" with AI
euglena1215
1
180
Git Sync を超える!OSS で実現する CDK Pull 型デプロイ / Deploying CDK with PipeCD in Pull-style
tkikuc
4
320
VS Code Update for GitHub Copilot
74th
2
670
Porting a visionOS App to Android XR
akkeylab
0
670
スタートアップの急成長を支えるプラットフォームエンジニアリングと組織戦略
sutochin26
1
7k
코딩 에이전트 체크리스트: Claude Code ver.
nacyot
0
910
MCPを使ってイベントソーシングのAIコーディングを効率化する / Streamlining Event Sourcing AI Coding with MCP
tomohisa
0
170
A full stack side project webapp all in Kotlin (KotlinConf 2025)
dankim
0
140
Composerが「依存解決」のためにどんな工夫をしているか #phpcon
o0h
PRO
1
330
AI コーディングエージェントの時代へ:JetBrains が描く開発の未来
masaruhr
1
200
AI Agent 時代のソフトウェア開発を支える AWS Cloud Development Kit (CDK)
konokenj
6
750
CDK引数設計道場100本ノック
badmintoncryer
2
440
Featured
See All Featured
Reflections from 52 weeks, 52 projects
jeffersonlam
351
21k
Build your cross-platform service in a week with App Engine
jlugia
231
18k
jQuery: Nuts, Bolts and Bling
dougneiner
63
7.8k
Why Our Code Smells
bkeepers
PRO
337
57k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.4k
How GitHub (no longer) Works
holman
314
140k
The Straight Up "How To Draw Better" Workshop
denniskardys
235
140k
Optimizing for Happiness
mojombo
379
70k
Art, The Web, and Tiny UX
lynnandtonic
299
21k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
3.9k
Building Better People: How to give real-time feedback that sticks.
wjessup
367
19k
Balancing Empowerment & Direction
lara
1
450
Transcript
React NativeͰ͡ΊΔ ϋΠύϑΥʔϚϯε εϚϗΞϓϦ։ൃ Head fi rst high-performance mobile app
development with React Native. LT 2024.10.22 Tsubasa SEKIGUCHI
TinyKitten Freelance frontend engineer
Tsubasa SEKIGUCHI Λڌͱ͢Δ܈അݝલڮࢢग़ ϑϦʔϥϯεϑϩϯτΤϯυΤϯδχΞ ͖ͬͨΜͱݺΕ͍ͯ·͢
ͿΓʹ໊ͷσβΠϯΛߋ৽͠·ͨ͠
NFCλά͕͋Γ·͢ ࠓண༻͍ͯ͠Δ໊ࡳͷ֓Ͷதԝ෦ʹNFCλάΛຒΊࠐΜͰ͍·͢ɻ ձࢀՃͷํNFCରԠεϚϗͰੋඇ͓ࢼ͍ͩ͘͠͞ɻ
TrainLCD ຊશࠃͷమಓ࿏ઢͰ͑Δ ৽ײ֮ͷφϏήʔγϣϯΞϓϦͰ͢ɻ
Smart StackରԠ ධ৴த
JavaScriptɺ͖Ͱ͔͢ʁ ͡Ίʹ
ͱʹ͔͘JavaScript͕͖ʜ ͦΜͳ͋ͳͨ JavaScriptͰεϚϗΞϓϦΛ࡞Γ·ͤΜ͔ʁ ͡Ίʹ
ͰɺͲ͏ͬͯʁ ͡Ίʹ
͡Ίʹ React Native
͡Ίʹ React Native ࠓճReact(Native)ͷ ࣮ܦݧΛ΄ͲੵΜͩ ݟΛڞ༗͍ͨ͠ͱࢥ͍·͢
3FBDU/BUJWFͬͯԿʁ React Native ͬͯԿʁ
React NativeͬͯԿʁ React Native ฏͨ͘ݴ͏ͱʜ UIߏஙͷͨΊͷ+4ϥΠϒϥϦ ʮReact.jsʯΛiOS/Android ͷωΠςΟϒػೳͱڞʹ ։ൃͰ͖ΔΑ͏ʹͨ͠ͷ
React Native ͞Βʹݴ͏ͱʜ iOS/Android͚ͩͰͳ͘ Web։ൃͰ͖ͨΓ͢Δ ͱ͍͑React Native for Web ݄ݱࡏ҆ఆͯ͑͠ΔΠϝʔδͳ͍Ͱ͕͢ʜ
React NativeͬͯԿʁ
React NativeΛ͏ͱԿ͕خ͍͔͠ ૣ Pros.
React.jsͷ͍͍ͱ͜Ζʜ React.jsͷࣝͰ ͍͍ͩͨͷ։ൃ͕Ͱ͖ΔͷͰ ֶशίετΛͳΔ͘Θͣʹ ։ൃΛ࢝ΊΒΕΔ React NativeΛ͏ͱԿ͕خ͍͔͠
Cordovaͱҧͬͯʜ ࣮ߦʹWebViewΛ༻ͤͣʹ JSX͕ωΠςΟϒ6*ʹม͞ΕΔͷͰ ҰൠతʹCordovaΑΓύϑΥʔϚϯε͕ྑ͍ React NativeΛ͏ͱԿ͕خ͍͔͠
ͪ͜ΒCordovaͱͦΕ΄ͲมΘΒͳ͍Ͱ͕͢ʜ JavaScript͚ͩͰ࣮ݱͰ͖ͳ͍ॲཧ Objective-C, Swift, JavaͰ࣮Մೳ React NativeΛ͏ͱԿ͕خ͍͔͠
લͷεϥΠυͱ͔ͿΓ·͕͢ React NativeʹରԠ͍ͯ͠ͳ͍ ωΠςΟϒػೳϒϦοδ͢Ε ։ൃͰ͖Δ e.g. Apple WatchΞϓϦΟδΣοτͳͲʜ TrainLCDͷ"QQMF8BUDIରԠ React
NativeΛ͏ͱԿ͕خ͍͔͠
ͬͺΓ͋Γ·͢ Cons. React NativeۜͷؙͰͳ͍
ͨΓલ͚ͩͲͪΐͬͱ௧͍ʜ ΓJavaScriptͳͷͰ SwiftJavaͱൺΔͱݴޠ༷͕ශऑ Ϛγʹ͢ΔͨΊʹTypeScript͍͖ͬͯ·͠ΐ͏ React NativeۜͷؙͰͳ͍
͍͍ͩͨExpo(ޙड़ Ͱे։ൃͰ͖·͕͢ طଘϥΠϒϥϦ͕ෆेͩͬͨΓ ͦͦଘࡏ͠ͳ͍ͱ͖ ωΠςΟϒಠ࣮͕ࣗඞཁ SwiftΛReact NativeͷωΠςΟϒϞδϡʔϧʹ͏ͱ͖ Objective-C͔ΒϒϦοδ͢Δඞཁ͕͋Δ React NativeۜͷؙͰͳ͍
جຊతʹ৺͢Δඞཁͳ͍ͱࢥ͍·͕͢ ωΠςΟϒ(Swift, KotlinͳͲ)Ͱ։ൃͨ͠߹ͱൺͯ ύϑΥʔϚϯε͕ѱ͔ͬͨΓ ΞϓϦͷDLαΠζ͕େ͖͘ͳΔ͜ͱ͕͋Δ React NativeۜͷؙͰͳ͍
͔ͬΔ͖ΤίγεςϜ React.js༝དྷͷॆ࣮ͨ͠ ΤίγεςϜ
͔ͬΔ͖ΤίγεςϜ Expo ͍͍͓ͩͨੈʹͳΓ·͢ ৭ʑͳReact Native͚ϥΠϒϥϦΛOSSͰ։ൃɾެ։ ϫʔΫϑϩʔʹΑͬͯɺQRίʔυͰ։ൃͨ͠ΞϓϦΛ ىಈͰ͖·͢
͔ͬΔ͖ΤίγεςϜ React Navigation ϧʔςΟϯάͱφϏήʔγϣϯͷϥΠϒϥϦ ͍͍ͩͨ͜Ε͕React NativeͰͷσϑΝΫτελϯμʔυ React NativeͰͷReact RouterͷΑ͏ͳଘࡏ
͔ͬΔ͖ΤίγεςϜ Fastlane React.jsReact NativeʹݶͬͨOSSͰͳ͍Ͱ͢ ΞϓϦͷϏϧυTestFlight/Google Play/App DistributionͳͲͷ σϓϩΠΛࣗಈԽͰ͖·͢🚀
ྨࣅϑϨʔϜϫʔΫ React NativeҎ֎ͷ ྨࣅϑϨʔϜϫʔΫ
ྨࣅϑϨʔϜϫʔΫ Flutter Dartͱ͍͏Java/C#ϥΠΫͷݴޠΛͬͯهड़ FlutterWebViewͳ͠Ͱಈ͖·͢ JavaܥͷΩϟϦΞΛੵΜͰ͍ΔਓͳΒ React NativeΑΓFlutterͷ΄͏͕ͱ͖͍͔ͬͭ͢
·ͱΊ - React.jsͰωΠςΟϒΞϓϦΛ։ൃͰ͖Δ - ͦͷଞωΠςΟϒݴޠͰ֦ுՄೳ - React NativeҎ֎ͷબࢶ͋Δ
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠ʂ Thank you for listening! LT 2024.10.22 Tsubasa SEKIGUCHI