Webエンジニアの
ReactNativeでの戦い方
ピクスタ株式会社 星直史
16545027 Photo by Fast&Slow
自己紹介
Railsを主戦場にAWS, Reactでも実装している。
2018年1月より開発部の部長に就任。
エンジニアの採用、育成、組織作りに取り組んでいる。
星直史
@NaoshiHoshi
Snapmart のご紹介
● 現状とあるべき姿
● 技術選定
今日話すこと
ReactNativeに踏み切った背景
Webエンジニアの戦い方
● 制約と戦う
Snapmartでの戦い方
● 現状とあるべき姿
● 技術選定
今日話すこと
ReactNativeに踏み切った背景
Webエンジニアの戦い方
● 制約と戦う
Snapmartでの戦い方
現状とあるべき姿
現状
● iOSアプリは存在するが実装者は退職済
○ 仕様を知る者は現存する非エンジニアのみ
● エンジニアは2名(自分と学生アルバイト)
● エンジニアにネイティブアプリ開発の知識がない
● ネイティブアプリエンジニア採用の難易度が高い
現状とあるべき姿
現状
● iOSアプリは存在するが実装者は退職済
○ 仕様を知る者は現存する非エンジニアのみ
● エンジニアは2名(自分と学生アルバイト)
● エンジニアにネイティブアプリ開発の知識がない
● ネイティブアプリエンジニア採用の難易度が高い
ネイティブアプリ開発継続ができない
現状とあるべき姿
あるべき姿
● PMFを目指して高速に開発を進めたい
○ Web, iOS, Android
○ 採用難易度や資本を考えた時に
効率的に開発を進めたい
現状とあるべき姿
あるべき姿
● PMFを目指して高速に開発を進めたい
○ Web, iOS, Android
○ 採用難易度や資本を考えた時に
効率的に開発を進めたい
クロスプラットフォーム開発が行える
Webエンジニアの学習コストが低い技術
● 現状とあるべき姿
● 技術選定
今日話すこと
ReactNativeに踏み切った背景
Webエンジニアの戦い方
● 制約と戦う
Snapmartでの戦い方
技術選定
ネイティブ
(Swift, Kotlin)
React Native PWA
クロスプラットフォーム × ○ ◎
UX ◎ ○ ×
学習コスト × ○ ◎
採用難易度 × ○ △
技術選定
ネイティブ
(Swift, Kotlin)
React Native PWA
クロスプラットフォーム × ○ ◎
UX ◎ ○ ×
学習コスト × ○ ◎
採用難易度 × ○ △
技術選定
ネイティブ
(Swift, Kotlin)
React Native PWA
クロスプラットフォーム × ○ ◎
UX ◎ ○ ×
学習コスト × ○ ◎
採用難易度 × ○ △
● ユーザー属性を勘案すると使用されない?
● デザイナー採用難易度が上がってしまう
● 現状とあるべき姿
● 技術選定
今日話すこと
ReactNativeに踏み切った背景
Webエンジニアの戦い方
● 制約と戦う
Snapmartでの戦い方
制約と戦う
● JavaScriptの世界で戦う
○ expo detachを許さない、絶対にだ
■ 使えるmoduleを限定する
● ビジネスサイドとの期待値調整
○ 「ReactNative + Expoでできないことは
できません」 ReactNativeにおいて、
成功の鍵だよ!
● 現状とあるべき姿
● 技術選定
今日話すこと
ReactNativeに踏み切った背景
Webエンジニアの戦い方
● 制約と戦う
Snapmartでの戦い方
Snapmartでの戦い方
● APIサーバーのRoutingを知る
● 元あるアプリ(iOS)のエミュレーターからlocalの
APIサーバーにリクエストできるようにする
● リクエストの内容を確認する
● APIの処理を読む
● ネイティブのコードを読む
Snapmartでの戦い方
● APIサーバーのRoutingを知る
● 元あるアプリ(iOS)のエミュレーターからlocalの
APIサーバーにリクエストできるようにする
● リクエストの内容を確認する
● APIの処理を読む
● ネイティブのコードを読む
勝てそうな気がしてくる!
まとめ
● 目的を達成するために最良の技術選定をする
● 制約と戦う
○ 自分が扱える技術領域の限界を超えない
○ ビジネスサイドとの期待値調整をする
● 実装するために必要なモノを揃える
才能をつなぎ、
世界をポジティブにする
We're hiring!
7336449 Photo by Sunny studio

WebエンジニアのReactNativeでの戦い方