SlideShare a Scribd company logo
1 of 81
Download to read offline
Copyright© 2020 Yahoo Japan Corporation. All Rights Reserved.
Android版PayPayフリマはこうできた
飯島彩輝
ヤフオク!統括本部フリマ推進本部プロダクト開発部
Copyright© 2020 Yahoo Japan Corporation. All Rights Reserved.
2017年中途入社
ヤフオク!サーバーサイド→Android→PayPayフリマサー
バサイド→Android
Droidkaigi2020
「総ざらいマテリアルコンポーネント」発表予定!!
飯島 彩輝
フリマ推進本部プロダクト開発部
Copyright© 2020 Yahoo Japan Corporation. All Rights Reserved.
アジェンダ
1. PayPayフリマとは
2. システム構成
3. 開発体制
4. Android
マルチモジュール
Copyright© 2020 Yahoo Japan Corporation. All Rights Reserved.
アジェンダ
1. PayPayフリマとは
2. システム構成
3. 開発体制
4. Android
マルチモジュール
Copyright© 2020 Yahoo Japan Corporation. All Rights Reserved.
PayPayフリマ
PayPayフリマとは
1.フリマに特化
2.PayPayでの支払い
3.価格の相談 
4.ヤフオク!との連携
2019年10月7日
リリース!
Copyright© 2020 Yahoo Japan Corporation. All Rights Reserved.
PayPayでの支払い
PayPayフリマとは
PayPay残高で支払える
Copyright© 2020 Yahoo Japan Corporation. All Rights Reserved.
価格の相談
PayPayフリマとは
購入価格を
簡単に意思表示
Copyright© 2020 Yahoo Japan Corporation. All Rights Reserved.
ヤフオク!から出品された商品をPayPayフリマでも購入できる
ヤフオク!との連携
PayPayフリマとは
Copyright© 2020 Yahoo Japan Corporation. All Rights Reserved.
アジェンダ
1. PayPayフリマとは
2. サービスの構成
3. 開発体制
4. Android
アーキテクチャとマルチモジュール
Copyright© 2020 Yahoo Japan Corporation. All Rights Reserved.
・バックエンドの大部分がKotlinで書かれている
・Androidエンジニアもバックエンド開発をやった
サービスの構成まとめ
Copyright© 2020 Yahoo Japan Corporation. All Rights Reserved.
サービスの構成まとめ
https://employment.en-japan.com/engineerhub/entry/2018/12/07/110000
Copyright© 2020 Yahoo Japan Corporation. All Rights Reserved.
PayPayフリマのシステム構成
サービス構成
データ用PF
データベース
ゲートウェイBFF
(Backend for Frontend)
データ用PF
データ用PF
データ用PF
アプリケーション向
けAPIサーバ
アプリケーション向
けAPIサーバ
データベース
データベース
アプリ
Copyright© 2020 Yahoo Japan Corporation. All Rights Reserved.
アプリ
ゲートウェイ
PayPayフリマのシステム構成
PayPayフリマのシステム構成
データ用PF
データベース
BFF
(Backend for Frontend)
データ用PF
データ用PF
データ用PF
アプリケーション向
けAPIサーバ
アプリケーション向
けAPIサーバ
データベース
データベース
APIのマッシュアップ
アプリ向けのデータ整形
ヤフオクサーバとの共存
Copyright© 2020 Yahoo Japan Corporation. All Rights Reserved.
PayPayフリマのシステム構成
PayPayフリマのシステム構成
データ用PF
データベース
ゲートウェイBFF
(Backend for Frontend)
データ用PF
データ用PF
データ用PF
アプリケーション向
けAPIサーバ
アプリケーション向
けAPIサーバ
データベース
データベース
アプリ
Copyright© 2020 Yahoo Japan Corporation. All Rights Reserved.
言語・Framework
PayPayフリマのシステム構成
Copyright© 2020 Yahoo Japan Corporation. All Rights Reserved.
言語・Framework
PayPayフリマのシステム構成
開発開始から2ヶ月程度の間Androidエンジニアも開発!
Copyright© 2020 Yahoo Japan Corporation. All Rights Reserved.
言語・Framework
PayPayフリマのシステム構成
開発開始から2ヶ月程度の間Androidエンジニアも開発!
うまくいく?
Copyright© 2020 Yahoo Japan Corporation. All Rights Reserved.
全員元々サーバーサイドができる
Androidエンジニアだった?
サービスの構成まとめ
Copyright© 2020 Yahoo Japan Corporation. All Rights Reserved.
全員元々サーバーサイドができる
Androidエンジニアだった
サービスの構成まとめ
Copyright© 2020 Yahoo Japan Corporation. All Rights Reserved.
Kotlinができる
サーバサイドエンジニアだった?
サービスの構成まとめ
Copyright© 2020 Yahoo Japan Corporation. All Rights Reserved.
Kotlinができる
サーバサイドエンジニアだった
サービスの構成まとめ
Copyright© 2020 Yahoo Japan Corporation. All Rights Reserved.
言語・Framework
PayPayフリマのシステム構成
開発開始から2ヶ月程度の間Androidエンジニアも開発!
詳しくは開発体制のパートで!
Copyright© 2020 Yahoo Japan Corporation. All Rights Reserved.
・バックエンドの一部がKotlinで書かれている
・Androidエンジニアもバックエンド開発をやった
サービスの構成まとめ
Copyright© 2020 Yahoo Japan Corporation. All Rights Reserved.
アジェンダ
1. PayPayフリマとは
2. システム構成
3. 開発体制
4. Android
アーキテクチャとマルチモジュール
Copyright© 2020 Yahoo Japan Corporation. All Rights Reserved.
GoodPoint
1. 3ヶ月でリリース
2. 炎上なし
3. バックエンドの開発もやった
Copyright© 2020 Yahoo Japan Corporation. All Rights Reserved.
3ヶ月でリリースできた
GoodPoint
Copyright© 2020 Yahoo Japan Corporation. All Rights Reserved.
期間・体制
画面数約60
リポジトリ作成:7/16
リリース:10/28
1画面 / 日
Copyright© 2020 Yahoo Japan Corporation. All Rights Reserved.
リリース前もバタつかなかった
GoodPoint
Copyright© 2020 Yahoo Japan Corporation. All Rights Reserved.
バックエンドの開発もやった
GoodPoint
Copyright© 2020 Yahoo Japan Corporation. All Rights Reserved.
GoodPoint
1. 3ヶ月でリリース
2. 炎上なし
3. バックエンドの開発もやった
Copyright© 2020 Yahoo Japan Corporation. All Rights Reserved.
ペアプロ
Copyright© 2020 Yahoo Japan Corporation. All Rights Reserved.
ペアプログラミング
Copyright© 2020 Yahoo Japan Corporation. All Rights Reserved.
質の高いレビュー
Copyright© 2020 Yahoo Japan Corporation. All Rights Reserved.
レビュー工数がゼロ
Copyright© 2020 Yahoo Japan Corporation. All Rights Reserved.
知識の共有が早い
Copyright© 2020 Yahoo Japan Corporation. All Rights Reserved.
言語・Framework
PayPayフリマのシステム構成
開発開始から2ヶ月程度の間Androidエンジニアも開発!
なぜ?
Copyright© 2020 Yahoo Japan Corporation. All Rights Reserved.
属人化しない
Copyright© 2020 Yahoo Japan Corporation. All Rights Reserved.
• 質の高いレビューが可能
• レビュー工数がほぼゼロ
• ペアのローテーションで知識の共有が早い
• 全体仕様に詳しくなり属人化しない
メリット
ペアプログラミング
Copyright© 2020 Yahoo Japan Corporation. All Rights Reserved.
堅牢な基盤作り
Copyright© 2020 Yahoo Japan Corporation. All Rights Reserved.
開発スケジュール
期間・体制
2019/7 2019/8 2019/9 2019/10
基盤
リポジトリ作成
テストBE
リリース
一通り機能完了
新メンバー!
BEから帰還
ヤフオク!から
Copyright© 2020 Yahoo Japan Corporation. All Rights Reserved.
開発体制まとめ
1. ペアプロはおすすめ
2. 基盤づくりは大事
Copyright© 2020 Yahoo Japan Corporation. All Rights Reserved.
アジェンダ
1. PayPayフリマとは
2. サービスの構成
3. 開発体制
4. Android
アーキテクチャとマルチモジュール
Copyright© 2020 Yahoo Japan Corporation. All Rights Reserved.
アーキテクチャ
Copyright© 2020 Yahoo Japan Corporation. All Rights Reserved.
DDD?
クリーンアーキテクチャ?
Redux?
etc...
アーキテクチャ
Copyright© 2020 Yahoo Japan Corporation. All Rights Reserved.
クリーンアーキテクチャ
Copyright© 2020 Yahoo Japan Corporation. All Rights Reserved.
クリーンアーキテクチャ
に近い形
Copyright© 2020 Yahoo Japan Corporation. All Rights Reserved.
https://github.com/android10/Android-CleanArchitecture より引用
Copyright© 2020 Yahoo Japan Corporation. All Rights Reserved.
モジュール構造
Copyright© 2020 Yahoo Japan Corporation. All Rights Reserved.
マルチモジュール × シングルアクティビティ
Copyright© 2020 Yahoo Japan Corporation. All Rights Reserved.
マルチモジュール
開発手法・基盤
app
remote
corenavigation
database
repository
feature
全てのモジュールに依存
Copyright© 2020 Yahoo Japan Corporation. All Rights Reserved.
マルチモジュール
開発手法・基盤
app
remote
corenavigation
database
repository
feature
全てのモジュールに依存
約60モジュール
Copyright© 2020 Yahoo Japan Corporation. All Rights Reserved.
マルチモジュール
開発手法・基盤
約60モジュール
Copyright© 2020 Yahoo Japan Corporation. All Rights Reserved.
appモジュール
開発手法・基盤
app
remote
corenavigation
database
repository
feature
全てのモジュールに依存
Copyright© 2020 Yahoo Japan Corporation. All Rights Reserved.
featureモジュール
開発手法・基盤
app
remote
corenavigation
database
repository
feature
全てのモジュールに依存
Copyright© 2020 Yahoo Japan Corporation. All Rights Reserved.
feature
featureモジュール
開発手法・基盤
presentation
Fragment ViewModel
domain
UseCase
data
Repository
Copyright© 2020 Yahoo Japan Corporation. All Rights Reserved.
マルチモジュール
開発手法・基盤
app
remote
corenavigation
database
repository
feature
全てのモジュールに依存
Copyright© 2020 Yahoo Japan Corporation. All Rights Reserved.
feature
featureモジュール
開発手法・基盤
presentation
Fragment ViewModel
domain
UseCase
data
Repository
Copyright© 2020 Yahoo Japan Corporation. All Rights Reserved.
navigationモジュール
開発手法・基盤
app
remote
corenavigation
database
repository
feature
全てのモジュールに依存
Copyright© 2020 Yahoo Japan Corporation. All Rights Reserved.
navigationモジュール
開発手法・基盤
feature_item feature_search画面遷移
Copyright© 2020 Yahoo Japan Corporation. All Rights Reserved.
navigationモジュール
開発手法・基盤
feature_item feature_search依存?
Copyright© 2020 Yahoo Japan Corporation. All Rights Reserved.
navigationモジュール
開発手法・基盤
feature_item feature_search循環依存!!
Copyright© 2020 Yahoo Japan Corporation. All Rights Reserved.
navigationモジュール
開発手法・基盤
feature_item feature_searchnavigation
Copyright© 2020 Yahoo Japan Corporation. All Rights Reserved.
1. navigationにInterfaceを置いてappで実装
2. navigationComponentを使う
Copyright© 2020 Yahoo Japan Corporation. All Rights Reserved.
1. navigationにInterfaceを置いてappで実装
2. navigationComponentを使う
Copyright© 2020 Yahoo Japan Corporation. All Rights Reserved.
Navigation Component
開発手法・基盤
Copyright© 2020 Yahoo Japan Corporation. All Rights Reserved.
navigationモジュール
開発手法・基盤
Copyright© 2020 Yahoo Japan Corporation. All Rights Reserved.
navigationモジュール メリット
開発手法・基盤
引用元:
https://developer.android.com/guide/navigation?hl=ja
Copyright© 2020 Yahoo Japan Corporation. All Rights Reserved.
repository・coreモジュール
開発手法・基盤
app
remote
corenavigation
database
repository
feature
全てのモジュールに依存
Copyright© 2020 Yahoo Japan Corporation. All Rights Reserved.
• 責務が明確なので並行開発しやすい
• 公開範囲が厳格 = 補完入力しやすい
• 任意のコードが探しやすい
• ビルド時間が短い
実際に感じたメリット
Android開発
Copyright© 2020 Yahoo Japan Corporation. All Rights Reserved.
実際に感じたメリット
Android開発
• 責務が明確なので並行開発しやすい
• 公開範囲が厳格 = 補完入力しやすい
• 任意のコードが探しやすい
• ビルド時間が短い
Copyright© 2020 Yahoo Japan Corporation. All Rights Reserved.
実際に感じたメリット
Android開発
• 責務が明確なので並行開発しやすい
• 公開範囲が厳格 = 補完入力しやすい
• 任意のコードが探しやすい
• ビルド時間が短い
Copyright© 2020 Yahoo Japan Corporation. All Rights Reserved.
1. build.gradleによる制限
2. internal修飾子による制限
公開範囲が厳格 = 補完入力しやすい
Copyright© 2020 Yahoo Japan Corporation. All Rights Reserved.
実際に感じたメリット
Android開発
• 責務が明確なので並行開発しやすい
• 公開範囲が厳格 = 補完入力しやすい
• 任意のコードが探しやすい
• ビルド時間が短い
Copyright© 2020 Yahoo Japan Corporation. All Rights Reserved.
実際に感じたメリット
Android開発
• 責務が明確なので並行開発しやすい
• 公開範囲が厳格 = 補完入力しやすい
• 任意のコードが探しやすい
• ビルド時間が短い
Copyright© 2020 Yahoo Japan Corporation. All Rights Reserved.
• 責務が明確なので並行開発しやすい
• 公開範囲が厳格 = 補完入力しやすい
• 任意のコードが探しやすい
• ビルド時間が短い
実際に感じたメリット
Android開発
Copyright© 2020 Yahoo Japan Corporation. All Rights Reserved.
おすすめの分け方
マルチモジュールおまけ
presentation
Fragment ViewModel
domain
UseCase
data
Repository
app 全てのモジュールに依存
navigation
core
Copyright© 2020 Yahoo Japan Corporation. All Rights Reserved.
まとめ
Copyright© 2020 Yahoo Japan Corporation. All Rights Reserved.
• 10月にPayPayフリマというアプリをリリースしました
• バックエンドはKotlinで書いています
• Androidエンジニアがバックエンドをやりました
• ペアプログラミングお勧めです
• 基盤づくりはとっても大事
• マルチモジュールはいいもんだ
まとめ
Android開発
Copyright© 2020 Yahoo Japan Corporation. All Rights Reserved.
#mixleap
ご意見ご感想お待ちしております!
Copyright© 2020 Yahoo Japan Corporation. All Rights Reserved.
ご意見ご感想お待ちしております!
Copyright© 2020 Yahoo Japan Corporation. All Rights Reserved.
ありがとうございました!

More Related Content

What's hot

0から1へ、1からその先の未来へ!とらのあなラボのエンジニア採用
0から1へ、1からその先の未来へ!とらのあなラボのエンジニア採用0から1へ、1からその先の未来へ!とらのあなラボのエンジニア採用
0から1へ、1からその先の未来へ!とらのあなラボのエンジニア採用虎の穴 開発室
 
虎の穴ラボ Tech day#3 チームで戦う!とらのあな通販冬の大感謝祭でのフロント開発について
虎の穴ラボ Tech day#3 チームで戦う!とらのあな通販冬の大感謝祭でのフロント開発について虎の穴ラボ Tech day#3 チームで戦う!とらのあな通販冬の大感謝祭でのフロント開発について
虎の穴ラボ Tech day#3 チームで戦う!とらのあな通販冬の大感謝祭でのフロント開発について虎の穴 開発室
 
みんなのPython勉強会#35 Pythonのお仕事動向
みんなのPython勉強会#35 Pythonのお仕事動向みんなのPython勉強会#35 Pythonのお仕事動向
みんなのPython勉強会#35 Pythonのお仕事動向Yasuki Kishi
 
通販開発部の西田さん「通販開発マネジメントの5ルール」
通販開発部の西田さん「通販開発マネジメントの5ルール」通販開発部の西田さん「通販開発マネジメントの5ルール」
通販開発部の西田さん「通販開発マネジメントの5ルール」虎の穴 開発室
 
【虎の穴ラボLT】非エンジニアにGASを教えた話(とらラボTech conference)
【虎の穴ラボLT】非エンジニアにGASを教えた話(とらラボTech conference)【虎の穴ラボLT】非エンジニアにGASを教えた話(とらラボTech conference)
【虎の穴ラボLT】非エンジニアにGASを教えた話(とらラボTech conference)虎の穴 開発室
 
私たち企業がアクセシビリティに取り組む理由(2018年) #accfes
私たち企業がアクセシビリティに取り組む理由(2018年) #accfes私たち企業がアクセシビリティに取り組む理由(2018年) #accfes
私たち企業がアクセシビリティに取り組む理由(2018年) #accfesYahoo!デベロッパーネットワーク
 
エクストリーム・プログラミング開発におけるUIテスト #yjbonfire
エクストリーム・プログラミング開発におけるUIテスト #yjbonfireエクストリーム・プログラミング開発におけるUIテスト #yjbonfire
エクストリーム・プログラミング開発におけるUIテスト #yjbonfireYahoo!デベロッパーネットワーク
 
JavaScript LT会 〜 React.js Node.js歓迎 〜 Deno で やってみるweb開発
JavaScript LT会 〜 React.js   Node.js歓迎 〜 Deno で やってみるweb開発JavaScript LT会 〜 React.js   Node.js歓迎 〜 Deno で やってみるweb開発
JavaScript LT会 〜 React.js Node.js歓迎 〜 Deno で やってみるweb開発虎の穴 開発室
 
エンジニア生存戦略
エンジニア生存戦略エンジニア生存戦略
エンジニア生存戦略Drecom Co., Ltd.
 
ヤフオク!の快適なカスタマー体験を支えるモバイルアプリのライブアップデート技術
ヤフオク!の快適なカスタマー体験を支えるモバイルアプリのライブアップデート技術ヤフオク!の快適なカスタマー体験を支えるモバイルアプリのライブアップデート技術
ヤフオク!の快適なカスタマー体験を支えるモバイルアプリのライブアップデート技術Yahoo!デベロッパーネットワーク
 
Yahoo!ニュースにおけるBFFパフォーマンスチューニング事例
Yahoo!ニュースにおけるBFFパフォーマンスチューニング事例Yahoo!ニュースにおけるBFFパフォーマンスチューニング事例
Yahoo!ニュースにおけるBFFパフォーマンスチューニング事例Yahoo!デベロッパーネットワーク
 
【LT「超」募集中!】リモートワークTips 超LT会 - vol.3 スタンディングデスクと、 雑談のススメ
【LT「超」募集中!】リモートワークTips 超LT会 - vol.3 スタンディングデスクと、 雑談のススメ【LT「超」募集中!】リモートワークTips 超LT会 - vol.3 スタンディングデスクと、 雑談のススメ
【LT「超」募集中!】リモートワークTips 超LT会 - vol.3 スタンディングデスクと、 雑談のススメ虎の穴 開発室
 
Barefoot Faster™ 日本語紹介
Barefoot Faster™ 日本語紹介Barefoot Faster™ 日本語紹介
Barefoot Faster™ 日本語紹介Kentaro Ebisawa
 
html5jロボット部 第3回勉強会「ロボット × ビジネス」
html5jロボット部 第3回勉強会「ロボット × ビジネス」html5jロボット部 第3回勉強会「ロボット × ビジネス」
html5jロボット部 第3回勉強会「ロボット × ビジネス」robotstart
 

What's hot (20)

0から1へ、1からその先の未来へ!とらのあなラボのエンジニア採用
0から1へ、1からその先の未来へ!とらのあなラボのエンジニア採用0から1へ、1からその先の未来へ!とらのあなラボのエンジニア採用
0から1へ、1からその先の未来へ!とらのあなラボのエンジニア採用
 
YJTC18 C-1 Kotlin導入の状況と展望
YJTC18 C-1 Kotlin導入の状況と展望YJTC18 C-1 Kotlin導入の状況と展望
YJTC18 C-1 Kotlin導入の状況と展望
 
虎の穴ラボ Tech day#3 チームで戦う!とらのあな通販冬の大感謝祭でのフロント開発について
虎の穴ラボ Tech day#3 チームで戦う!とらのあな通販冬の大感謝祭でのフロント開発について虎の穴ラボ Tech day#3 チームで戦う!とらのあな通販冬の大感謝祭でのフロント開発について
虎の穴ラボ Tech day#3 チームで戦う!とらのあな通販冬の大感謝祭でのフロント開発について
 
みんなのPython勉強会#35 Pythonのお仕事動向
みんなのPython勉強会#35 Pythonのお仕事動向みんなのPython勉強会#35 Pythonのお仕事動向
みんなのPython勉強会#35 Pythonのお仕事動向
 
AWS Proton を使ってみた
AWS Proton を使ってみたAWS Proton を使ってみた
AWS Proton を使ってみた
 
アプリのプロダクトマネージャーからみるScrum開発
アプリのプロダクトマネージャーからみるScrum開発アプリのプロダクトマネージャーからみるScrum開発
アプリのプロダクトマネージャーからみるScrum開発
 
通販開発部の西田さん「通販開発マネジメントの5ルール」
通販開発部の西田さん「通販開発マネジメントの5ルール」通販開発部の西田さん「通販開発マネジメントの5ルール」
通販開発部の西田さん「通販開発マネジメントの5ルール」
 
ヤフーでHardeningを実施する意味 (#sec_kansai #sosaisec)
ヤフーでHardeningを実施する意味 (#sec_kansai #sosaisec)ヤフーでHardeningを実施する意味 (#sec_kansai #sosaisec)
ヤフーでHardeningを実施する意味 (#sec_kansai #sosaisec)
 
全社デザインシステムとサービスの付き合い方
 全社デザインシステムとサービスの付き合い方 全社デザインシステムとサービスの付き合い方
全社デザインシステムとサービスの付き合い方
 
【虎の穴ラボLT】非エンジニアにGASを教えた話(とらラボTech conference)
【虎の穴ラボLT】非エンジニアにGASを教えた話(とらラボTech conference)【虎の穴ラボLT】非エンジニアにGASを教えた話(とらラボTech conference)
【虎の穴ラボLT】非エンジニアにGASを教えた話(とらラボTech conference)
 
私たち企業がアクセシビリティに取り組む理由(2018年) #accfes
私たち企業がアクセシビリティに取り組む理由(2018年) #accfes私たち企業がアクセシビリティに取り組む理由(2018年) #accfes
私たち企業がアクセシビリティに取り組む理由(2018年) #accfes
 
エクストリーム・プログラミング開発におけるUIテスト #yjbonfire
エクストリーム・プログラミング開発におけるUIテスト #yjbonfireエクストリーム・プログラミング開発におけるUIテスト #yjbonfire
エクストリーム・プログラミング開発におけるUIテスト #yjbonfire
 
JavaScript LT会 〜 React.js Node.js歓迎 〜 Deno で やってみるweb開発
JavaScript LT会 〜 React.js   Node.js歓迎 〜 Deno で やってみるweb開発JavaScript LT会 〜 React.js   Node.js歓迎 〜 Deno で やってみるweb開発
JavaScript LT会 〜 React.js Node.js歓迎 〜 Deno で やってみるweb開発
 
エンジニア生存戦略
エンジニア生存戦略エンジニア生存戦略
エンジニア生存戦略
 
ヤフオク!の快適なカスタマー体験を支えるモバイルアプリのライブアップデート技術
ヤフオク!の快適なカスタマー体験を支えるモバイルアプリのライブアップデート技術ヤフオク!の快適なカスタマー体験を支えるモバイルアプリのライブアップデート技術
ヤフオク!の快適なカスタマー体験を支えるモバイルアプリのライブアップデート技術
 
Yahoo!ニュースにおけるBFFパフォーマンスチューニング事例
Yahoo!ニュースにおけるBFFパフォーマンスチューニング事例Yahoo!ニュースにおけるBFFパフォーマンスチューニング事例
Yahoo!ニュースにおけるBFFパフォーマンスチューニング事例
 
YJTC18 A-1 大規模サーバの戦略
YJTC18 A-1 大規模サーバの戦略YJTC18 A-1 大規模サーバの戦略
YJTC18 A-1 大規模サーバの戦略
 
【LT「超」募集中!】リモートワークTips 超LT会 - vol.3 スタンディングデスクと、 雑談のススメ
【LT「超」募集中!】リモートワークTips 超LT会 - vol.3 スタンディングデスクと、 雑談のススメ【LT「超」募集中!】リモートワークTips 超LT会 - vol.3 スタンディングデスクと、 雑談のススメ
【LT「超」募集中!】リモートワークTips 超LT会 - vol.3 スタンディングデスクと、 雑談のススメ
 
Barefoot Faster™ 日本語紹介
Barefoot Faster™ 日本語紹介Barefoot Faster™ 日本語紹介
Barefoot Faster™ 日本語紹介
 
html5jロボット部 第3回勉強会「ロボット × ビジネス」
html5jロボット部 第3回勉強会「ロボット × ビジネス」html5jロボット部 第3回勉強会「ロボット × ビジネス」
html5jロボット部 第3回勉強会「ロボット × ビジネス」
 

Similar to How to create android's c to c EC APP !

20200428 React Nativeで家計簿アプリを作って得たもの
20200428 React Nativeで家計簿アプリを作って得たもの20200428 React Nativeで家計簿アプリを作って得たもの
20200428 React Nativeで家計簿アプリを作って得たものKota Nishinaka
 
iPhone、Android両対応アプリ開発講座 概論
iPhone、Android両対応アプリ開発講座 概論iPhone、Android両対応アプリ開発講座 概論
iPhone、Android両対応アプリ開発講座 概論Takakuni Furukawa
 
Androidエンジニアになってからの1年間の感想と振り返り
Androidエンジニアになってからの1年間の感想と振り返りAndroidエンジニアになってからの1年間の感想と振り返り
Androidエンジニアになってからの1年間の感想と振り返りichirokato5
 
私たちがモブプロを始める前に知りたかったこと
私たちがモブプロを始める前に知りたかったこと私たちがモブプロを始める前に知りたかったこと
私たちがモブプロを始める前に知りたかったことhappy sato
 
Angular でもっとAPIファースト・もっとモダンデザインなWebアプリケーションを作ろう!
Angular でもっとAPIファースト・もっとモダンデザインなWebアプリケーションを作ろう!Angular でもっとAPIファースト・もっとモダンデザインなWebアプリケーションを作ろう!
Angular でもっとAPIファースト・もっとモダンデザインなWebアプリケーションを作ろう!CData Software Japan
 
スタートアップ向け!1人日でできるサービスの高速化方法と成果
スタートアップ向け!1人日でできるサービスの高速化方法と成果スタートアップ向け!1人日でできるサービスの高速化方法と成果
スタートアップ向け!1人日でできるサービスの高速化方法と成果Koichiro Sumi
 
eventos service
eventos serviceeventos service
eventos serviceeventos
 
スクラムチームの立ち上げから複数フィーチャーチームへのスケーリングに至るまで(Scrum Fest Mikawa 2020)
スクラムチームの立ち上げから複数フィーチャーチームへのスケーリングに至るまで(Scrum Fest Mikawa 2020)スクラムチームの立ち上げから複数フィーチャーチームへのスケーリングに至るまで(Scrum Fest Mikawa 2020)
スクラムチームの立ち上げから複数フィーチャーチームへのスケーリングに至るまで(Scrum Fest Mikawa 2020)ShoKitawaki
 
20200303 ISR プライベートセミナー:パスワードのいらない世界へ
20200303 ISR プライベートセミナー:パスワードのいらない世界へ20200303 ISR プライベートセミナー:パスワードのいらない世界へ
20200303 ISR プライベートセミナー:パスワードのいらない世界へFIDO Alliance
 
社内認証基盤用のVault Pluginを作るメリット
社内認証基盤用のVault Pluginを作るメリット社内認証基盤用のVault Pluginを作るメリット
社内認証基盤用のVault Pluginを作るメリットKatsuya Yamaguchi
 
OpenID TechNight Vol. 11 - Call to Action
OpenID TechNight Vol. 11 - Call to ActionOpenID TechNight Vol. 11 - Call to Action
OpenID TechNight Vol. 11 - Call to ActionTatsuo Kudo
 
Domino Voltアプリケーションを作成してみたよ!
Domino Voltアプリケーションを作成してみたよ!Domino Voltアプリケーションを作成してみたよ!
Domino Voltアプリケーションを作成してみたよ!Masahiko Miyo
 
IIJmio meeting 28 端末トーク2020 ~スマホだけじゃないIIJmio
IIJmio meeting 28 端末トーク2020 ~スマホだけじゃないIIJmioIIJmio meeting 28 端末トーク2020 ~スマホだけじゃないIIJmio
IIJmio meeting 28 端末トーク2020 ~スマホだけじゃないIIJmiotechlog (Internet Initiative Japan Inc.)
 
PhotoshopとAdobe XDを組み合わせてクリエイティブを加速する!
PhotoshopとAdobe XDを組み合わせてクリエイティブを加速する!PhotoshopとAdobe XDを組み合わせてクリエイティブを加速する!
PhotoshopとAdobe XDを組み合わせてクリエイティブを加速する!Sakura Asano
 
OpenID ConnectとAndroidアプリのログインサイクル
OpenID ConnectとAndroidアプリのログインサイクルOpenID ConnectとAndroidアプリのログインサイクル
OpenID ConnectとAndroidアプリのログインサイクルMasaru Kurahayashi
 

Similar to How to create android's c to c EC APP ! (20)

2019 01 16_bonfire_android
2019 01 16_bonfire_android2019 01 16_bonfire_android
2019 01 16_bonfire_android
 
20200428 React Nativeで家計簿アプリを作って得たもの
20200428 React Nativeで家計簿アプリを作って得たもの20200428 React Nativeで家計簿アプリを作って得たもの
20200428 React Nativeで家計簿アプリを作って得たもの
 
iPhone、Android両対応アプリ開発講座 概論
iPhone、Android両対応アプリ開発講座 概論iPhone、Android両対応アプリ開発講座 概論
iPhone、Android両対応アプリ開発講座 概論
 
Androidエンジニアになってからの1年間の感想と振り返り
Androidエンジニアになってからの1年間の感想と振り返りAndroidエンジニアになってからの1年間の感想と振り返り
Androidエンジニアになってからの1年間の感想と振り返り
 
私たちがモブプロを始める前に知りたかったこと
私たちがモブプロを始める前に知りたかったこと私たちがモブプロを始める前に知りたかったこと
私たちがモブプロを始める前に知りたかったこと
 
Angular でもっとAPIファースト・もっとモダンデザインなWebアプリケーションを作ろう!
Angular でもっとAPIファースト・もっとモダンデザインなWebアプリケーションを作ろう!Angular でもっとAPIファースト・もっとモダンデザインなWebアプリケーションを作ろう!
Angular でもっとAPIファースト・もっとモダンデザインなWebアプリケーションを作ろう!
 
スタートアップ向け!1人日でできるサービスの高速化方法と成果
スタートアップ向け!1人日でできるサービスの高速化方法と成果スタートアップ向け!1人日でできるサービスの高速化方法と成果
スタートアップ向け!1人日でできるサービスの高速化方法と成果
 
eventos service
eventos serviceeventos service
eventos service
 
Googleアシスタントアプリ実際のところ
Googleアシスタントアプリ実際のところ Googleアシスタントアプリ実際のところ
Googleアシスタントアプリ実際のところ
 
スクラムチームの立ち上げから複数フィーチャーチームへのスケーリングに至るまで(Scrum Fest Mikawa 2020)
スクラムチームの立ち上げから複数フィーチャーチームへのスケーリングに至るまで(Scrum Fest Mikawa 2020)スクラムチームの立ち上げから複数フィーチャーチームへのスケーリングに至るまで(Scrum Fest Mikawa 2020)
スクラムチームの立ち上げから複数フィーチャーチームへのスケーリングに至るまで(Scrum Fest Mikawa 2020)
 
20200303 ISR プライベートセミナー:パスワードのいらない世界へ
20200303 ISR プライベートセミナー:パスワードのいらない世界へ20200303 ISR プライベートセミナー:パスワードのいらない世界へ
20200303 ISR プライベートセミナー:パスワードのいらない世界へ
 
社内認証基盤用のVault Pluginを作るメリット
社内認証基盤用のVault Pluginを作るメリット社内認証基盤用のVault Pluginを作るメリット
社内認証基盤用のVault Pluginを作るメリット
 
OpenID TechNight Vol. 11 - Call to Action
OpenID TechNight Vol. 11 - Call to ActionOpenID TechNight Vol. 11 - Call to Action
OpenID TechNight Vol. 11 - Call to Action
 
Domino Voltアプリケーションを作成してみたよ!
Domino Voltアプリケーションを作成してみたよ!Domino Voltアプリケーションを作成してみたよ!
Domino Voltアプリケーションを作成してみたよ!
 
Go + Pulsar WebSocket APIの利用事例 #pulsarjp
Go + Pulsar WebSocket APIの利用事例 #pulsarjpGo + Pulsar WebSocket APIの利用事例 #pulsarjp
Go + Pulsar WebSocket APIの利用事例 #pulsarjp
 
IIJmio meeting 28 端末トーク2020 ~スマホだけじゃないIIJmio
IIJmio meeting 28 端末トーク2020 ~スマホだけじゃないIIJmioIIJmio meeting 28 端末トーク2020 ~スマホだけじゃないIIJmio
IIJmio meeting 28 端末トーク2020 ~スマホだけじゃないIIJmio
 
PhotoshopとAdobe XDを組み合わせてクリエイティブを加速する!
PhotoshopとAdobe XDを組み合わせてクリエイティブを加速する!PhotoshopとAdobe XDを組み合わせてクリエイティブを加速する!
PhotoshopとAdobe XDを組み合わせてクリエイティブを加速する!
 
OpenID ConnectとAndroidアプリのログインサイクル
OpenID ConnectとAndroidアプリのログインサイクルOpenID ConnectとAndroidアプリのログインサイクル
OpenID ConnectとAndroidアプリのログインサイクル
 
Yahoo!ブラウザーにおける市場環境の分析と戦略化
Yahoo!ブラウザーにおける市場環境の分析と戦略化Yahoo!ブラウザーにおける市場環境の分析と戦略化
Yahoo!ブラウザーにおける市場環境の分析と戦略化
 
[GrapeCity Web TECH FORUM 2018]レガシーからの移行 - 株式会社日本プロテック
[GrapeCity Web TECH FORUM 2018]レガシーからの移行 - 株式会社日本プロテック[GrapeCity Web TECH FORUM 2018]レガシーからの移行 - 株式会社日本プロテック
[GrapeCity Web TECH FORUM 2018]レガシーからの移行 - 株式会社日本プロテック
 

More from Saiki Iijima

ViewModel テスト難しすぎ問題 by saiki iijima in Android Test Night #9
ViewModel テスト難しすぎ問題 by saiki iijima in Android Test Night #9ViewModel テスト難しすぎ問題 by saiki iijima in Android Test Night #9
ViewModel テスト難しすぎ問題 by saiki iijima in Android Test Night #9Saiki Iijima
 
Kotlin vs TypeScript
Kotlin vs TypeScriptKotlin vs TypeScript
Kotlin vs TypeScriptSaiki Iijima
 
Androidをやっただけで iOSアプリもできればいいのに 〜MOEという選択〜
Androidをやっただけで iOSアプリもできればいいのに 〜MOEという選択〜Androidをやっただけで iOSアプリもできればいいのに 〜MOEという選択〜
Androidをやっただけで iOSアプリもできればいいのに 〜MOEという選択〜Saiki Iijima
 
ソーシャルログイン5分クッキング
ソーシャルログイン5分クッキングソーシャルログイン5分クッキング
ソーシャルログイン5分クッキングSaiki Iijima
 

More from Saiki Iijima (6)

ViewModel テスト難しすぎ問題 by saiki iijima in Android Test Night #9
ViewModel テスト難しすぎ問題 by saiki iijima in Android Test Night #9ViewModel テスト難しすぎ問題 by saiki iijima in Android Test Night #9
ViewModel テスト難しすぎ問題 by saiki iijima in Android Test Night #9
 
Kotlin vs TypeScript
Kotlin vs TypeScriptKotlin vs TypeScript
Kotlin vs TypeScript
 
Androidをやっただけで iOSアプリもできればいいのに 〜MOEという選択〜
Androidをやっただけで iOSアプリもできればいいのに 〜MOEという選択〜Androidをやっただけで iOSアプリもできればいいのに 〜MOEという選択〜
Androidをやっただけで iOSアプリもできればいいのに 〜MOEという選択〜
 
Aruaru short-cut
Aruaru short-cutAruaru short-cut
Aruaru short-cut
 
In-app messaging
In-app messagingIn-app messaging
In-app messaging
 
ソーシャルログイン5分クッキング
ソーシャルログイン5分クッキングソーシャルログイン5分クッキング
ソーシャルログイン5分クッキング
 

How to create android's c to c EC APP !

  • 1. Copyright© 2020 Yahoo Japan Corporation. All Rights Reserved. Android版PayPayフリマはこうできた 飯島彩輝 ヤフオク!統括本部フリマ推進本部プロダクト開発部
  • 2. Copyright© 2020 Yahoo Japan Corporation. All Rights Reserved. 2017年中途入社 ヤフオク!サーバーサイド→Android→PayPayフリマサー バサイド→Android Droidkaigi2020 「総ざらいマテリアルコンポーネント」発表予定!! 飯島 彩輝 フリマ推進本部プロダクト開発部
  • 3. Copyright© 2020 Yahoo Japan Corporation. All Rights Reserved. アジェンダ 1. PayPayフリマとは 2. システム構成 3. 開発体制 4. Android マルチモジュール
  • 4. Copyright© 2020 Yahoo Japan Corporation. All Rights Reserved. アジェンダ 1. PayPayフリマとは 2. システム構成 3. 開発体制 4. Android マルチモジュール
  • 5. Copyright© 2020 Yahoo Japan Corporation. All Rights Reserved. PayPayフリマ PayPayフリマとは 1.フリマに特化 2.PayPayでの支払い 3.価格の相談  4.ヤフオク!との連携 2019年10月7日 リリース!
  • 6. Copyright© 2020 Yahoo Japan Corporation. All Rights Reserved. PayPayでの支払い PayPayフリマとは PayPay残高で支払える
  • 7. Copyright© 2020 Yahoo Japan Corporation. All Rights Reserved. 価格の相談 PayPayフリマとは 購入価格を 簡単に意思表示
  • 8. Copyright© 2020 Yahoo Japan Corporation. All Rights Reserved. ヤフオク!から出品された商品をPayPayフリマでも購入できる ヤフオク!との連携 PayPayフリマとは
  • 9. Copyright© 2020 Yahoo Japan Corporation. All Rights Reserved. アジェンダ 1. PayPayフリマとは 2. サービスの構成 3. 開発体制 4. Android アーキテクチャとマルチモジュール
  • 10. Copyright© 2020 Yahoo Japan Corporation. All Rights Reserved. ・バックエンドの大部分がKotlinで書かれている ・Androidエンジニアもバックエンド開発をやった サービスの構成まとめ
  • 11. Copyright© 2020 Yahoo Japan Corporation. All Rights Reserved. サービスの構成まとめ https://employment.en-japan.com/engineerhub/entry/2018/12/07/110000
  • 12. Copyright© 2020 Yahoo Japan Corporation. All Rights Reserved. PayPayフリマのシステム構成 サービス構成 データ用PF データベース ゲートウェイBFF (Backend for Frontend) データ用PF データ用PF データ用PF アプリケーション向 けAPIサーバ アプリケーション向 けAPIサーバ データベース データベース アプリ
  • 13. Copyright© 2020 Yahoo Japan Corporation. All Rights Reserved. アプリ ゲートウェイ PayPayフリマのシステム構成 PayPayフリマのシステム構成 データ用PF データベース BFF (Backend for Frontend) データ用PF データ用PF データ用PF アプリケーション向 けAPIサーバ アプリケーション向 けAPIサーバ データベース データベース APIのマッシュアップ アプリ向けのデータ整形 ヤフオクサーバとの共存
  • 14. Copyright© 2020 Yahoo Japan Corporation. All Rights Reserved. PayPayフリマのシステム構成 PayPayフリマのシステム構成 データ用PF データベース ゲートウェイBFF (Backend for Frontend) データ用PF データ用PF データ用PF アプリケーション向 けAPIサーバ アプリケーション向 けAPIサーバ データベース データベース アプリ
  • 15. Copyright© 2020 Yahoo Japan Corporation. All Rights Reserved. 言語・Framework PayPayフリマのシステム構成
  • 16. Copyright© 2020 Yahoo Japan Corporation. All Rights Reserved. 言語・Framework PayPayフリマのシステム構成 開発開始から2ヶ月程度の間Androidエンジニアも開発!
  • 17. Copyright© 2020 Yahoo Japan Corporation. All Rights Reserved. 言語・Framework PayPayフリマのシステム構成 開発開始から2ヶ月程度の間Androidエンジニアも開発! うまくいく?
  • 18. Copyright© 2020 Yahoo Japan Corporation. All Rights Reserved. 全員元々サーバーサイドができる Androidエンジニアだった? サービスの構成まとめ
  • 19. Copyright© 2020 Yahoo Japan Corporation. All Rights Reserved. 全員元々サーバーサイドができる Androidエンジニアだった サービスの構成まとめ
  • 20. Copyright© 2020 Yahoo Japan Corporation. All Rights Reserved. Kotlinができる サーバサイドエンジニアだった? サービスの構成まとめ
  • 21. Copyright© 2020 Yahoo Japan Corporation. All Rights Reserved. Kotlinができる サーバサイドエンジニアだった サービスの構成まとめ
  • 22. Copyright© 2020 Yahoo Japan Corporation. All Rights Reserved. 言語・Framework PayPayフリマのシステム構成 開発開始から2ヶ月程度の間Androidエンジニアも開発! 詳しくは開発体制のパートで!
  • 23. Copyright© 2020 Yahoo Japan Corporation. All Rights Reserved. ・バックエンドの一部がKotlinで書かれている ・Androidエンジニアもバックエンド開発をやった サービスの構成まとめ
  • 24. Copyright© 2020 Yahoo Japan Corporation. All Rights Reserved. アジェンダ 1. PayPayフリマとは 2. システム構成 3. 開発体制 4. Android アーキテクチャとマルチモジュール
  • 25. Copyright© 2020 Yahoo Japan Corporation. All Rights Reserved. GoodPoint 1. 3ヶ月でリリース 2. 炎上なし 3. バックエンドの開発もやった
  • 26. Copyright© 2020 Yahoo Japan Corporation. All Rights Reserved. 3ヶ月でリリースできた GoodPoint
  • 27. Copyright© 2020 Yahoo Japan Corporation. All Rights Reserved. 期間・体制 画面数約60 リポジトリ作成:7/16 リリース:10/28 1画面 / 日
  • 28. Copyright© 2020 Yahoo Japan Corporation. All Rights Reserved. リリース前もバタつかなかった GoodPoint
  • 29. Copyright© 2020 Yahoo Japan Corporation. All Rights Reserved. バックエンドの開発もやった GoodPoint
  • 30. Copyright© 2020 Yahoo Japan Corporation. All Rights Reserved. GoodPoint 1. 3ヶ月でリリース 2. 炎上なし 3. バックエンドの開発もやった
  • 31. Copyright© 2020 Yahoo Japan Corporation. All Rights Reserved. ペアプロ
  • 32. Copyright© 2020 Yahoo Japan Corporation. All Rights Reserved. ペアプログラミング
  • 33. Copyright© 2020 Yahoo Japan Corporation. All Rights Reserved. 質の高いレビュー
  • 34. Copyright© 2020 Yahoo Japan Corporation. All Rights Reserved. レビュー工数がゼロ
  • 35. Copyright© 2020 Yahoo Japan Corporation. All Rights Reserved. 知識の共有が早い
  • 36. Copyright© 2020 Yahoo Japan Corporation. All Rights Reserved. 言語・Framework PayPayフリマのシステム構成 開発開始から2ヶ月程度の間Androidエンジニアも開発! なぜ?
  • 37. Copyright© 2020 Yahoo Japan Corporation. All Rights Reserved. 属人化しない
  • 38. Copyright© 2020 Yahoo Japan Corporation. All Rights Reserved. • 質の高いレビューが可能 • レビュー工数がほぼゼロ • ペアのローテーションで知識の共有が早い • 全体仕様に詳しくなり属人化しない メリット ペアプログラミング
  • 39. Copyright© 2020 Yahoo Japan Corporation. All Rights Reserved. 堅牢な基盤作り
  • 40. Copyright© 2020 Yahoo Japan Corporation. All Rights Reserved. 開発スケジュール 期間・体制 2019/7 2019/8 2019/9 2019/10 基盤 リポジトリ作成 テストBE リリース 一通り機能完了 新メンバー! BEから帰還 ヤフオク!から
  • 41. Copyright© 2020 Yahoo Japan Corporation. All Rights Reserved. 開発体制まとめ 1. ペアプロはおすすめ 2. 基盤づくりは大事
  • 42. Copyright© 2020 Yahoo Japan Corporation. All Rights Reserved. アジェンダ 1. PayPayフリマとは 2. サービスの構成 3. 開発体制 4. Android アーキテクチャとマルチモジュール
  • 43. Copyright© 2020 Yahoo Japan Corporation. All Rights Reserved. アーキテクチャ
  • 44. Copyright© 2020 Yahoo Japan Corporation. All Rights Reserved. DDD? クリーンアーキテクチャ? Redux? etc... アーキテクチャ
  • 45. Copyright© 2020 Yahoo Japan Corporation. All Rights Reserved. クリーンアーキテクチャ
  • 46. Copyright© 2020 Yahoo Japan Corporation. All Rights Reserved. クリーンアーキテクチャ に近い形
  • 47. Copyright© 2020 Yahoo Japan Corporation. All Rights Reserved. https://github.com/android10/Android-CleanArchitecture より引用
  • 48. Copyright© 2020 Yahoo Japan Corporation. All Rights Reserved. モジュール構造
  • 49. Copyright© 2020 Yahoo Japan Corporation. All Rights Reserved. マルチモジュール × シングルアクティビティ
  • 50. Copyright© 2020 Yahoo Japan Corporation. All Rights Reserved. マルチモジュール 開発手法・基盤 app remote corenavigation database repository feature 全てのモジュールに依存
  • 51. Copyright© 2020 Yahoo Japan Corporation. All Rights Reserved. マルチモジュール 開発手法・基盤 app remote corenavigation database repository feature 全てのモジュールに依存 約60モジュール
  • 52. Copyright© 2020 Yahoo Japan Corporation. All Rights Reserved. マルチモジュール 開発手法・基盤 約60モジュール
  • 53. Copyright© 2020 Yahoo Japan Corporation. All Rights Reserved. appモジュール 開発手法・基盤 app remote corenavigation database repository feature 全てのモジュールに依存
  • 54. Copyright© 2020 Yahoo Japan Corporation. All Rights Reserved. featureモジュール 開発手法・基盤 app remote corenavigation database repository feature 全てのモジュールに依存
  • 55. Copyright© 2020 Yahoo Japan Corporation. All Rights Reserved. feature featureモジュール 開発手法・基盤 presentation Fragment ViewModel domain UseCase data Repository
  • 56. Copyright© 2020 Yahoo Japan Corporation. All Rights Reserved. マルチモジュール 開発手法・基盤 app remote corenavigation database repository feature 全てのモジュールに依存
  • 57. Copyright© 2020 Yahoo Japan Corporation. All Rights Reserved. feature featureモジュール 開発手法・基盤 presentation Fragment ViewModel domain UseCase data Repository
  • 58. Copyright© 2020 Yahoo Japan Corporation. All Rights Reserved. navigationモジュール 開発手法・基盤 app remote corenavigation database repository feature 全てのモジュールに依存
  • 59. Copyright© 2020 Yahoo Japan Corporation. All Rights Reserved. navigationモジュール 開発手法・基盤 feature_item feature_search画面遷移
  • 60. Copyright© 2020 Yahoo Japan Corporation. All Rights Reserved. navigationモジュール 開発手法・基盤 feature_item feature_search依存?
  • 61. Copyright© 2020 Yahoo Japan Corporation. All Rights Reserved. navigationモジュール 開発手法・基盤 feature_item feature_search循環依存!!
  • 62. Copyright© 2020 Yahoo Japan Corporation. All Rights Reserved. navigationモジュール 開発手法・基盤 feature_item feature_searchnavigation
  • 63. Copyright© 2020 Yahoo Japan Corporation. All Rights Reserved. 1. navigationにInterfaceを置いてappで実装 2. navigationComponentを使う
  • 64. Copyright© 2020 Yahoo Japan Corporation. All Rights Reserved. 1. navigationにInterfaceを置いてappで実装 2. navigationComponentを使う
  • 65. Copyright© 2020 Yahoo Japan Corporation. All Rights Reserved. Navigation Component 開発手法・基盤
  • 66. Copyright© 2020 Yahoo Japan Corporation. All Rights Reserved. navigationモジュール 開発手法・基盤
  • 67. Copyright© 2020 Yahoo Japan Corporation. All Rights Reserved. navigationモジュール メリット 開発手法・基盤 引用元: https://developer.android.com/guide/navigation?hl=ja
  • 68. Copyright© 2020 Yahoo Japan Corporation. All Rights Reserved. repository・coreモジュール 開発手法・基盤 app remote corenavigation database repository feature 全てのモジュールに依存
  • 69. Copyright© 2020 Yahoo Japan Corporation. All Rights Reserved. • 責務が明確なので並行開発しやすい • 公開範囲が厳格 = 補完入力しやすい • 任意のコードが探しやすい • ビルド時間が短い 実際に感じたメリット Android開発
  • 70. Copyright© 2020 Yahoo Japan Corporation. All Rights Reserved. 実際に感じたメリット Android開発 • 責務が明確なので並行開発しやすい • 公開範囲が厳格 = 補完入力しやすい • 任意のコードが探しやすい • ビルド時間が短い
  • 71. Copyright© 2020 Yahoo Japan Corporation. All Rights Reserved. 実際に感じたメリット Android開発 • 責務が明確なので並行開発しやすい • 公開範囲が厳格 = 補完入力しやすい • 任意のコードが探しやすい • ビルド時間が短い
  • 72. Copyright© 2020 Yahoo Japan Corporation. All Rights Reserved. 1. build.gradleによる制限 2. internal修飾子による制限 公開範囲が厳格 = 補完入力しやすい
  • 73. Copyright© 2020 Yahoo Japan Corporation. All Rights Reserved. 実際に感じたメリット Android開発 • 責務が明確なので並行開発しやすい • 公開範囲が厳格 = 補完入力しやすい • 任意のコードが探しやすい • ビルド時間が短い
  • 74. Copyright© 2020 Yahoo Japan Corporation. All Rights Reserved. 実際に感じたメリット Android開発 • 責務が明確なので並行開発しやすい • 公開範囲が厳格 = 補完入力しやすい • 任意のコードが探しやすい • ビルド時間が短い
  • 75. Copyright© 2020 Yahoo Japan Corporation. All Rights Reserved. • 責務が明確なので並行開発しやすい • 公開範囲が厳格 = 補完入力しやすい • 任意のコードが探しやすい • ビルド時間が短い 実際に感じたメリット Android開発
  • 76. Copyright© 2020 Yahoo Japan Corporation. All Rights Reserved. おすすめの分け方 マルチモジュールおまけ presentation Fragment ViewModel domain UseCase data Repository app 全てのモジュールに依存 navigation core
  • 77. Copyright© 2020 Yahoo Japan Corporation. All Rights Reserved. まとめ
  • 78. Copyright© 2020 Yahoo Japan Corporation. All Rights Reserved. • 10月にPayPayフリマというアプリをリリースしました • バックエンドはKotlinで書いています • Androidエンジニアがバックエンドをやりました • ペアプログラミングお勧めです • 基盤づくりはとっても大事 • マルチモジュールはいいもんだ まとめ Android開発
  • 79. Copyright© 2020 Yahoo Japan Corporation. All Rights Reserved. #mixleap ご意見ご感想お待ちしております!
  • 80. Copyright© 2020 Yahoo Japan Corporation. All Rights Reserved. ご意見ご感想お待ちしております!
  • 81. Copyright© 2020 Yahoo Japan Corporation. All Rights Reserved. ありがとうございました!