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
Shuichi Nagao
March 23, 2018
Programming
0
270
iOSアプリエンジニアがReact Nativeを使ってみて
iOSアプリエンジニアがReact Nativeを使ってみての雑感についてです、
Shuichi Nagao
March 23, 2018
Tweet
Share
More Decks by Shuichi Nagao
See All by Shuichi Nagao
UX for Key Management
ngo275
0
94
深センではテクノロジーを使う人がイノベーションを起こしている
ngo275
0
530
スマートコントラクトのデプロイって何だろう
ngo275
0
760
プロトタイピングするならFirebaseを使ってみよう
ngo275
0
1.7k
Ethereumで開発を始めるなら知っておきたいこと
ngo275
10
4.9k
スマートコントラクトをHTTPで実行する
ngo275
0
110
EOSでスマートコントラクトを実行してみる
ngo275
0
1.1k
中東のシリコンバレーことイスラエルに行ってきた
ngo275
0
120
ペイモのアーキテクチャ
ngo275
0
640
Other Decks in Programming
See All in Programming
Accelerate your key learnings of scaling modern Android apps
aldefy
0
100
Scala 3 で GLSL のための c-like-for を実装してみた
exoego
1
100
SREチームのタスク優先度と向き合う Road to SRE NEXT@札幌
nealle
0
100
TCAを用いたAmebaのリアーキテクチャ
dazy
0
260
バッチを作らなきゃとなったときに考えること
irof
2
590
読まないコードリーディング術
hisaju
1
160
Kotlinの開発でも AIをいい感じに使いたい / Making the Most of AI in Kotlin Development
kohii00
5
2.3k
Generating OpenAPI schema from serializers throughout the Rails stack - Kyobashi.rb #5
envek
1
470
Jasprが凄い話
hyshu
0
210
Swift Testingのモチベを上げたい
stoticdev
2
230
Goで作るChrome Extensions / Fukuoka.go #21
n3xem
2
2.1k
From the Wild into the Clouds - Laravel Meetup Talk
neverything
0
200
Featured
See All Featured
Keith and Marios Guide to Fast Websites
keithpitt
411
22k
Embracing the Ebb and Flow
colly
84
4.6k
VelocityConf: Rendering Performance Case Studies
addyosmani
328
24k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
233
17k
How GitHub (no longer) Works
holman
314
140k
Navigating Team Friction
lara
183
15k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
45
9.5k
Scaling GitHub
holman
459
140k
The Straight Up "How To Draw Better" Workshop
denniskardys
232
140k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
175
52k
Site-Speed That Sticks
csswizardry
4
430
How to Think Like a Performance Engineer
csswizardry
22
1.4k
Transcript
ωΠςΟϒͷ ΞϓϦΤϯδχΞ͔ΒΈͨ REACT NATIVE 20180323 @NGO275 1
͢͜ͱ ▸ React Nativeͱ ▸ ωΠςΟϒ։ൃͱͷҧ͍ ▸ ڥߏங ▸ ઃܭɾ࣮
▸ ςετ ▸ ·ͱΊ 2
REACT NATIVEͱʁ ▸ ReactFacebook͕։ൃͨ͠JavaScriptͷϑϨʔϜϫʔΫ ▸ React Native(ҎԼRN)ͦΕΛiOS/AndroidʹԠ༻ͨ͠ͷ ▸ 20153݄ʹiOSɺಉ9݄ʹAndroid͕ϦϦʔε͞Εͨ ▸
ಉ͡JSͷίʔυͰiOS / Android͕ಈ͘ ▸ جຊతʹReactʹͦͬ͘Γ ▸ ωΠςΟϒͷUIΛ͍ɺϝΠϯͷUIεϨουͱผͰಈ͘ͷ ͰύϑΥʔϚϯεѱ͘ͳ͍ 3
REACT NATIVEͱʁ RNΛ͍ͬͯΔΞϓϦͨͪ https://facebook.github.io/react-native/showcase.html 4
ωΠςΟϒ։ൃͱͷҧ͍ React Native ωΠςΟϒ IDE ਓʹΑΔ VS Code / IntelliJ
/ etc. Xcode / Android Studio ݴޠ JavaScriptͷΈ ܕ͕ͳ͍ Swift / Kotlin (Objective-c / Java) ܕ͕͋Δ σόοά ํ๏ ैདྷͷIDE͚ͩͰͳ͘ChromeͰ JavaScript௨Γͷσόοά͕Ͱ͖Δ IDEΛར༻͢Δ͜ͱʹͳΔ Ϗϧυ ϗοτϦϩʔυͰ ίʔυͷө͕Ͱ͖Δ ຖ୯ҐͰͭ͜ͱ͕͋Δ 5
ωΠςΟϒ։ൃͱͷҧ͍ ~ڥ·ΘΓ~ ▸ ಉ͡ڥͳͣͳͷʹਓʹΑͬͯϏϧυ͕Ͱ͖ͳ͔ͬͨΓ͢Δʢґଘ͍ͯ͠Δͷ ͕ଟ͍ʣ ▸ ωοτͷใ͕͙͢ݹͯ͑͘ͳ͍ͷʹͳΔ ▸ ຊޠͷใݹͯ͘ࢀߟʹͳΒͳ͍͜ͱ͕ଟ͍ ▸
όάΤϥʔʹ͍ͭͯௐ͍ͯΔ࣌ɺؾͮ͘ͱGitHubͷIssueΛݟ͍ͯΔ ▸ ࠔͬͨΒԿͰ࠶ىಈ 6
ωΠςΟϒ։ൃͱͷҧ͍ ~ઃܭ~ ▸ RNReactͷࢥΛܧঝ͍ͯ͠ΔͷͰɺωΠςΟϒͷϏϡʔͷϥΠϑαΠ ΫϧͱҟͳΔ࣮Λ͢Δඞཁ͕͋Δ ▸ Props / State /
Component ͱ͍͏֓೦͕ωΠςΟϒʹͳ͍ ▸ viewWillAppearͷΑ͏ͳϝιου͕ͳ͍ ▸ RNͰجຊReduxΛར༻͢Δ͜ͱʹͳΔ͕Α͋͘ΔωΠςΟϒΞϓϦͷ ઃܭํͱେ͖͘ҟͳΔ ▸ reduxͰɺStore͕άϩʔόϧʹΞϓϦͷঢ়ଶཧΛ͠ɺViewͦͷ Storeͷঢ়ଶΛࢹͯ͠มԽ͕͋Ε࠶ඳը͞ΕΔ ▸ RN+ReduxͰͲ͏ͬͯϏδωεϩδοΫΛॻ͍͍ͯ͘ͷ͔ͱ͍͏ ݟ͕ѹతʹগͳ͍ 7
ωΠςΟϒ։ൃͱͷҧ͍ ~࣮~ ▸ Navigationͷ࣮͕RNͩͱϥΠϒϥϦબఆ͔Β࢝·Δ ▸ ͦͦඪ४ͷNavigation͕͠ΐ΅͍ ▸ React Native +
ReduxͳΒreact-navigation͕ྑ͍͔ ▸ UIͷ࣮React(Web frontend)ͷͦΕʹۙ͘ɺωΠςΟϒΞϓϦͷͦΕ ͱ͔͚Ε͍ͯΔ ▸ CSSflexboxͱ͍ͬͨ֓೦͕ωΠςΟϒΞϓϦʹͳ͍ ▸ ωΠςΟϒͰͨΓલͷίϯϙʔωϯτΛ͏ΑΓnative-base RN͕ඪ४Ͱαϙʔτ͍ͯ͠ΔͷΛར༻͢Δ͜ͱʹͳΔ ▸ σβΠϯωΠςΟϒͱ͍͏ΑΓগ͠WebʹدͤΔඞཁ͕͋Δ 8
ωΠςΟϒ։ൃͱͷҧ͍ ~࣮~ ▸ OS͕αϙʔτ͍ͯ͠ΔAPIωΠςΟϒ͚ͷ֎෦ͷSDKΛར༻͢Δ࣌ʹ ωΠςΟϒͷ࣮͕ඞཁʹͳΔ͜ͱ͕͋Δ ▸ ιʔείʔυ͕iOS / AndroidͰجຊಉ͡ͳͷͰɺUI͕ϓϥοτϑΥʔϜ ʹΑͬͯେ͖͘ม͑Α͏ͱ͢Δͱذେ͖͘ͳͬͯෳࡶʹͳΔ
▸ ωΠςΟϒͰҰॠͰ࣮Ͱ͖Δ͜ͱRNͩͱ׳Εͳ͍͏͙ͪ͢Ͱ͖ Δͷ͔Θ͔ΒͣɺͷݟੵΓհͩͬͨ ▸ ʮ͜ͷσβΠϯ͙ͬͯ͢Ͱ͖·͢ʁʯ͕͙͢ʹ͑ΒΕͳ͔ͬͨ ▸ iOS / AndroidͰϩδοΫ͕࣮ҧ͍ͬͯͨɺͱ͍͏൵͕ܶى͜Βͳ͍ ▸ paymoͰ͜͏͍͏൵͕ܶ࠷ۙଟ͘ൃ֮ͨ͠ 9
ωΠςΟϒ։ൃͱͷҧ͍ ~ςετ~ ▸ mochajestͱ͔JavaScriptͰͷςετ͕ී௨ʹ͔͚Δ ▸ iOSͱൺͯΉ͠Ζใ͕ଟ͍ ▸ CIͷηοτΞοϓʹ͍ͭͯRNͰͷݟ͕গͳͯͭ͘Β͍ 10
·ͱΊ ▸ RNͰͷΞϓϦ։ൃWebͷ։ൃΛ͍ͯ͠Δײ֮ʹۙ͘WebΤϯδχΞͷ ํ͕ೃછΈͦ͢͏͕ͩɺiOS / Androidͷݟ͠͠ඞཁʹͳΔ ▸ Ͳ͏͍͏࣌ʹ͍͍ͯΔͷ͔ ▸ ྆OSΛͱʹ͔͘ૣ͘6ׂఔͷͰ࡞ΔʹRNͷํ͕ѹతʹૣ
͍ ▸ ҰํͷϓϥοτϑΥʔϜ͚ͩΞϓϦΛ࡞ΔͳΒෆ͖ 11