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
81
深センではテクノロジーを使う人がイノベーションを起こしている
ngo275
0
490
スマートコントラクトのデプロイって何だろう
ngo275
0
730
プロトタイピングするならFirebaseを使ってみよう
ngo275
0
1.7k
Ethereumで開発を始めるなら知っておきたいこと
ngo275
10
4.9k
スマートコントラクトをHTTPで実行する
ngo275
0
110
EOSでスマートコントラクトを実行してみる
ngo275
0
1.1k
中東のシリコンバレーことイスラエルに行ってきた
ngo275
0
110
ペイモのアーキテクチャ
ngo275
0
620
Other Decks in Programming
See All in Programming
103 Early Hints
sugi_0000
1
230
ドメインイベント増えすぎ問題
h0r15h0
1
260
Symfony Mapper Component
soyuka
2
730
Webエンジニア主体のモバイルチームの 生産性を高く保つためにやったこと
igreenwood
0
330
急成長期の品質とスピードを両立するフロントエンド技術基盤
soarteclab
0
930
선언형 UI에서의 상태관리
l2hyunwoo
0
150
モバイルアプリにおける自動テストの導入戦略
ostk0069
0
110
採用事例の少ないSvelteを選んだ理由と それを正解にするためにやっていること
oekazuma
2
1k
テスト自動化失敗から再挑戦しチームにオーナーシップを委譲した話/STAC2024 macho
ma_cho29
1
1.3k
PHPUnitしか使ってこなかった 一般PHPerがPestに乗り換えた実録
mashirou1234
0
130
PHPとAPI Platformで作る本格的なWeb APIアプリケーション(入門編) / phpcon 2024 Intro to API Platform
ttskch
0
170
htmxって知っていますか?次世代のHTML
hiro_ghap1
0
330
Featured
See All Featured
Making Projects Easy
brettharned
116
5.9k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
28
900
Keith and Marios Guide to Fast Websites
keithpitt
410
22k
How to Think Like a Performance Engineer
csswizardry
22
1.2k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
26
1.5k
What's in a price? How to price your products and services
michaelherold
243
12k
Speed Design
sergeychernyshev
25
670
Documentation Writing (for coders)
carmenintech
66
4.5k
Mobile First: as difficult as doing things right
swwweet
222
9k
Rebuilding a faster, lazier Slack
samanthasiow
79
8.7k
Typedesign – Prime Four
hannesfritz
40
2.4k
Embracing the Ebb and Flow
colly
84
4.5k
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