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 Matsuri 2021
Search
Takeru Chuganji
October 01, 2021
Technology
7
10k
React Native Matsuri 2021
Takeru Chuganji
October 01, 2021
Tweet
Share
More Decks by Takeru Chuganji
See All by Takeru Chuganji
iOSDC 2017
chuganzy
5
3.7k
potatotips 27
chuganzy
0
44
Other Decks in Technology
See All in Technology
20240906_JAWS_Yamanashi_#1_leap_beyond_the_AWS_all_certifications
tsumita
1
280
eBPFのこれまでとこれから
yutarohayakawa
5
380
事前準備が肝!AI活用のための業務改革
layerx
PRO
1
240
不動産tech Product Night#2_AIことはじめ_GA橋本
takehikohashimoto
0
120
四国のあのイベントの〇〇システムを45日間で構築した話 / cloudohenro2024_tachibana
biatunky
0
310
自社サービスのための独自リリース版Redmine「RedMica」の取り組み
vividtone
0
1.1k
ビジネスとエンジニアリングを繋ぐプロダクトを中心とした組織づくりの実践
sansantech
PRO
1
170
エンジニア視点で見る、 組織で運用されるデザインシステムにするには
shunya078
1
300
疎通2024
sadnessojisan
5
1k
Oracle Cloud Infrastructure IaaS 新機能アップデート 2024/6 - 2024/8
oracle4engineer
PRO
0
110
セキュリティ監視の内製化 効率とリスク
mixi_engineers
PRO
7
910
LLVM/ASMを使った有限体の高速実装
herumi
0
120
Featured
See All Featured
Optimizing for Happiness
mojombo
375
69k
The MySQL Ecosystem @ GitHub 2015
samlambert
250
12k
Designing for humans not robots
tammielis
248
25k
Robots, Beer and Maslow
schacon
PRO
157
8.1k
How to name files
jennybc
75
98k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
363
22k
Why You Should Never Use an ORM
jnunemaker
PRO
53
8.9k
Building Applications with DynamoDB
mza
90
6k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
227
52k
Imperfection Machines: The Place of Print at Facebook
scottboms
263
13k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
166
48k
The World Runs on Bad Software
bkeepers
PRO
64
11k
Transcript
Takeru Chuganji 2021/10/02 10:10‐10:50 ϝϧΧϦUS͕ϞόΠϧΞϓϦΛ React NativeͰ࡞Γ͍ͯ͠Δ React Native Matsuri
2021
Takeru Chuganji Software Engineer Mercari, Inc. chuganzy
None
None
Tokyo Japan Palo Alto / Portland / Boston United States
Tokyo Japan Palo Alto / Portland / Boston United States
ϑϧ ϦϞʔτԽ
$15 $15 $15 $15 $15 $15 $15 $15 $15 $15
$15 $15 What are you looking for? Category Home Chat My Page Sell Search 2014 2017 2017 2018 2021
$15 $15 $15 $15 $15 $15 $15 $15 $15 $15
$15 $15 What are you looking for? Category Home Chat My Page Sell Search 2014 2017 2017 2018 2021 Objective-C, Swift, Java Swift, Java, Kotlin, React Native
$15 $15 $15 $15 $15 $15 $15 $15 $15 $15
$15 $15 What are you looking for? Category Home Chat My Page Sell Search 2014 2017 2017 2018 2021 Objective-C, Swift, Java Swift, Java, Kotlin, React Native ৽͍͠ ίʔυϕʔε
Double 2017.4-7 RewriteϓϩδΣΫτ
Double 2017.4-7 RewriteϓϩδΣΫτ ϏδωεࢦඪΛ “ഒ”ʹ͢Δ
Double Rewriteͷഎܠ US൛ϝϧΧϦΛࠜຊ͔Βߟ͑͠ظؒͰ࣮ݱ͢Δ US։ൃνʔϜͷຊνʔϜ͔Βͷಠཱ ٕज़ελοΫΛ৽͠DXΛ্ͤ͞Δ US։ൃνʔϜͷΧϧνϟʔ࠶ߏஙɹͳͲ
ϗʔϜ ৄࡉ ϓϩϑΟʔϧ ϨϏϡʔ
Native Native React Native React Native
Double NativeͱReact NativeͷHybridΞϓϦ Native ϗʔϜ / ݕࡧ / ৄࡉ /
ग़ / ߪೖ / Σϒ / αΠϯΠϯ ͳͲ ϝΠϯ ಈత / ύϑΥʔϚϯε React Native ֤छઃఆ / ট / औҾ / Ҿ͖མͱ͠ / ݸਓೝূ ͳͲ αϒ ੩త / ಠཱ
Double React NativeΛ࠾༻ͨ͠ཧ༝ ୯७ʹNative͚ͩͰΔ ࣌ؒͱ ਓ͕Γͳ͔ͬͨ ։ൃظؒ 3ϲ݄ AndroidΤϯδχΞ 4ਓ
iOSΤϯδχΞ 4ਓ
Double React NativeΛ࠾༻ͨ͠ཧ༝ ୯७ʹNative͚ͩͰΔ ࣌ؒͱ ਓ͕Γͳ͔ͬͨ ։ൃظؒ 3ϲ݄ AndroidΤϯδχΞ 4ਓ
iOSΤϯδχΞ 4ਓ ͦͷଞͷJavaScriptॻ͚Δਓ 4-6ਓ
Double Ϗδωεͷ ϦϒϥϯσΟϯά Χʔτ ਅآೝূ Uberఏܞૹ ޙ͍ܾࡁɹͳͲ ʴ ଟͷABςετ ྲྀ௨૯ֹ
Double Ϗδωεͷ ϦϒϥϯσΟϯά Χʔτ ਅآೝূ Uberఏܞૹ ޙ͍ܾࡁɹͳͲ ʴ ଟͷABςετ ྲྀ௨૯ֹ
ଞʹ Γ͍ͨ͜ͱ͕ ࢁ΄Ͳʂ
Double Ұํ։ൃ໘Ͱ… ࠾༻ ߴΦϯϘʔσΟϯάίετ ߴίϛϡχέʔγϣϯίετ ߴϝϯςφϯείετ ߴϏϧυ࣌ؒ εϧʔϓοτʢงғؾʣ
Double Ұํ։ൃ໘Ͱ… ࠾༻ ߴΦϯϘʔσΟϯάίετ ߴίϛϡχέʔγϣϯίετ ߴϝϯςφϯείετ ߴϏϧυ࣌ؒ εϧʔϓοτʢงғؾʣ Scalabilityʹ ͋Γ
Double ঢ়گվળͷͨΊʹ 1ϓϥοτϑΥʔϜͷΈͰͷABςετ ڞ௨ϩδοΫͷNative ModuleԽ Πϯϑϥͷվળ ϏϧυͷߴԽ
Double ঢ়گվળͷͨΊʹ React NativeΞϓϦ ʹͨ͠Β͍͍ͷͰʁ ʢ2019/4ʣ 1ϓϥοτϑΥʔϜͷΈͰͷABςετ ڞ௨ϩδοΫͷNative ModuleԽ Πϯϑϥͷվળ
ϏϧυͷߴԽ
React NativeΞϓϦԽʹ͚ͯ React NativeΞϓϦԽ͢Δํ๏ Refactoring طଘΞϓϦͷReact NativeΛ૿͍ͯ͘͠ Rewrite ৽نͰΞϓϦΛॻ͖͢
React NativeΞϓϦԽʹ͚ͯ Refactoring vs Rewrite ن ϦεΫ ظؒ ෛ୲ қ
Refactoring த Rewrite ઈେ
React NativeΞϓϦԽʹ͚ͯ Refactoring vs Rewrite ن ϦεΫ ظؒ ෛ୲ қ
Refactoring த খ Rewrite ઈେ େ
React NativeΞϓϦԽʹ͚ͯ Refactoring vs Rewrite ن ϦεΫ ظؒ ෛ୲ қ
Refactoring த খ 3ʴ Rewrite ઈେ େ 1
React NativeΞϓϦԽʹ͚ͯ Refactoring vs Rewrite ن ϦεΫ ظؒ ෛ୲ қ
Refactoring த খ 3ʴ େ Rewrite ઈେ େ 1 த
React NativeΞϓϦԽʹ͚ͯ Refactoring vs Rewrite ن ϦεΫ ظؒ ෛ୲ қ
Refactoring த খ 3ʴ େ ߴ Rewrite ઈେ େ 1 த த
React NativeΞϓϦԽʹ͚ͯ Refactoring vs Rewrite ن ϦεΫ ظؒ ෛ୲ қ
Refactoring த খ 3ʴ େ ߴ Rewrite ઈେ େ 1 த த
React NativeΞϓϦԽʹ͚ͯ Refactoring vs Rewrite ن ϦεΫ ظؒ ෛ୲ қ
Refactoring த খ 3ʴ େ ߴ Rewrite ઈେ େ 1 த த
React NativeΞϓϦԽʹ͚ͯ Refactoring vs Rewrite ن ϦεΫ ظؒ ෛ୲ қ
Refactoring த খ 3ʴ େ ߴ Rewrite ઈେ େ 1 த த React Native ΞϓϦԽࣗମ͕ ΰʔϧͰͳ͍
React NativeΞϓϦԽʹ͚ͯ ͦͦͰ͖Δͷ͔ʁ ࣮ݧΞϓϦ։ൃ / ٕज़ݕূ React NativeΛ͍ͬͯΔձࣾͷώϠϦϯά React /
Native྆ํͷ๛ͳࣝ ҆શͳϦϦʔεϓϥϯχϯά ଞΫϩεϓϥοτϑΥʔϜٕज़ͱͷൺֱɹͳͲ
React NativeΞϓϦԽʹ͚ͯ Flutterͱͷൺֱ طʹReact Nativeͷ͕ࣝ͋Δ JavaScript ύϑΥʔϚϯεेʹΑ͘վળͷ༧ఆ͢Β͋Δ WebରԠ
Denali 2021.4- RewriteϓϩδΣΫτ
Denali 2021.4- RewriteϓϩδΣΫτ ΞϝϦΧͰ Ұ൪ߴ͍ࢁ
Denali ϞόΠϧνʔϜ৫ମ੍ iOS Android React Native Denali ʢRewriteʣ
Denali ϞόΠϧνʔϜ৫ମ੍ iOS Android React Native Denali ʢRewriteʣ
Denali ϞόΠϧνʔϜ৫ମ੍ iOS Android React Native Denali ʢRewriteʣ …
Denali ϞόΠϧνʔϜ৫ମ੍ iOS Android React Native Denali ʢRewriteʣ … ඞཁʹԠͯ͡
ੵۃతʹ ॿ͚߹͏
Denali ٕज़ελοΫ TypeScript Expo Redux Toolkit React Navigation fastlane Protocol
Buffers Sentry ͳͲ GitHub Actions
Denali লΛੜ͔ٕͨ͠ज़ํ “؆୯” ͳίʔυΛॻ͘ υΩϡϝϯτΛੵۃతʹΞοϓσʔτ ࣾษڧձʢDiscussionʣΛຖि։࠵ σβΠϯγεςϜΛશ໘దԠ
Denali εέʔϧ͍ͯ͠Δ։ൃ ݩWebνʔϜϝϯόʔ ݩAPIνʔϜϝϯόʔ ݱiOS / AndroidνʔϜϝϯόʔ NativeະܦݧΤϯδχΞ࠾༻ ۀҕୗɹͳͲͷίϯτϦϏϡʔτ εϧʔϓοτʢงғؾʣ
Denali ϑΣʔζ Phase 1 Phase 2 Phase 3 Phase 4
Denali ϑΣʔζ Phase 1 Phase 2 Phase 3 Phase 4
ج൫ ओཁը໘ νέοτચ͍ग़͠
Denali ϑΣʔζ Phase 1 Phase 2 Phase 3 Phase 4
ج൫ ओཁը໘ νέοτચ͍ग़͠ ඞਢػೳͷ ࣾςετ։࢝
Denali ϑΣʔζ Phase 1 Phase 2 Phase 3 Phase 4
ج൫ ओཁը໘ νέοτચ͍ग़͠ ඞਢػೳͷ ࣾςετ։࢝ αϒͷػೳ ݱߦΞϓϦͱͷࠩ ݱߦ։ൃͷ εϩʔμϯ
Denali ϑΣʔζ Phase 1 Phase 2 Phase 3 Phase 4
ج൫ ओཁը໘ νέοτચ͍ग़͠ ඞਢػೳͷ ࣾςετ։࢝ αϒͷػೳ ݱߦΞϓϦͱͷࠩ ݱߦ։ൃͷ εϩʔμϯ ϑΣʔζϦϦʔεͷ ։࢝ ෆ۩߹मਖ਼ 100%ϦϦʔεʂ
Denali ϑΣʔζ Phase 1 Phase 2 Phase 3 Phase 4
ج൫ ओཁը໘ νέοτચ͍ग़͠ ඞਢػೳͷ ࣾςετ։࢝ αϒͷػೳ ݱߦΞϓϦͱͷࠩ ݱߦ։ൃͷ εϩʔμϯ ϑΣʔζϦϦʔεͷ ։࢝ ෆ۩߹मਖ਼ 100%ϦϦʔεʂ
Denali ϑΣʔζ Phase 1 Phase 2 Phase 3 Phase 4
ج൫ ओཁը໘ νέοτચ͍ग़͠ ඞਢػೳͷ ࣾςετ։࢝ αϒͷػೳ ݱߦΞϓϦͱͷࠩ ݱߦ։ൃͷ εϩʔμϯ ϑΣʔζϦϦʔεͷ ։࢝ ෆ۩߹मਖ਼ 100%ϦϦʔεʂ νέοτ શମͷ60%ۙ͘ ফԽࡁΈ
2022 AndroidϩʔϧΞτ։࢝༧ఆʂ
React Nativeޙ ΤϯδχΞ৫ͱͯ͠ࢦ͢ઌ React NativeίϛϡχςΟͷߩݙ Ҿ͖ଓ͖ “ෑډ” Λ͘͢Δ “Pods”ʢʹখ͍͞νʔϜʣͰ Γ͍ͨ͜ͱΛͳΊΒ͔ʹ࣮ߦ͢Δ
ΤϯδχΞੵۃతʹΞΠσΟΞΛग़͢
React Nativeޙ ΤϯδχΞ৫ͱͯ͠ࢦ͢ઌ React NativeίϛϡχςΟͷߩݙ Ҿ͖ଓ͖ “ෑډ” Λ͘͢Δ “Pods”ʢʹখ͍͞νʔϜʣͰ Γ͍ͨ͜ͱΛͳΊΒ͔ʹ࣮ߦ͢Δ
ΤϯδχΞੵۃతʹΞΠσΟΞΛग़͢ ຖ͕ ϋοΧιϯঢ়ଶʹ ͳΔ!?
શ໘తɾੵۃతʹ࠾༻த
We are hiring! શΤϯδχΞੵۃ࠾༻த US / JPͱʹ࠾༻த React Native Engineer
iOS Engineer Android Engineer API EngineerɹͳͲͳͲ
None