SlideShare a Scribd company logo
Copyright (C) 2020 PayPay Corporation. All Rights Reserved.
の
Androidアプリ開発
Copyright (C) 2020 PayPay Corporation. All Rights Reserved.
前 原 理 来
M a e h a r a R i k u
PayPay株式会社 | Android developer
法政大学情報科学部卒業
2019年4月ヤフー新卒入社
2019年7月PayPayに出向
Copyright (C) 2020 PayPay Corporation. All Rights Reserved.
・ PayPayの開発スタイル
・ 開発上でぶつかった困難
・ 失敗からの解決策
おはなしすること
Copyright (C) 2020 PayPay Corporation. All Rights Reserved.
Copyright (C) 2020 PayPay Corporation. All Rights Reserved.
PayPayは多くのユーザーに使われているアプリ
Copyright (C) 2020 PayPay Corporation. All Rights Reserved.
Copyright (C) 2020 PayPay Corporation. All Rights Reserved.
• すべき要件が概ねマネジメント層で決まっている
• スピーディーなデザインが求められる
• プロダクト責任者がデザイン責任者
PayPayの開発スタイル
• スピード重視のアジャイル型開発
• 週1のスプリントで毎週リリース
• 昨年はアプリをAndroid,iOS合わせて120回以上リリース
Copyright (C) 2020 PayPay Corporation. All Rights Reserved.
PayPayの開発環境
Copyright (C) 2020 PayPay Corporation. All Rights Reserved.
PayPayの開発環境
• 英語も日本語も飛び交っています
• Androidチームも多国籍
• 日本、インド、タイ、ポーランド、中国 ..etc 出身は様々
• 英会話、日本語レッスンの導入
→ グローバルな環境
Copyright (C) 2020 PayPay Corporation. All Rights Reserved.
開発サイクル
月 火 水 木 金
次週リリース
開発 開発&QA
Copyright (C) 2020 PayPay Corporation. All Rights Reserved.
開発サイクルを維持するために
• 仕様等の調整事はなるべく早く
• ブランチ戦略の見直し
• コードが不安なところは予め方針を相談してから
• QA期間は素早くBugFix
Copyright (C) 2020 PayPay Corporation. All Rights Reserved.
ブランチ戦略
• masterとrelease, hotfixブランチのみ
• 火曜日の夜に自動でmasterからreleaseブランチが切られる
• 一日2回自動でreleaseからmasterにSyncするPRが作られる
• 2バージョン以上先にリリースされる機能は基本的に本番に影響がない範囲でmasterに入れていく
Copyright (C) 2020 PayPay Corporation. All Rights Reserved.
masterにマージできないもの
• ライブラリのバージョン変更はマージできず、長い間別ブランチにいた
• MotionLayoutを使うために ContraintLayout2.0.0 beta02で開発していた
• バグが多くの画面のレイアウトが崩れたり、特定OS versionでは表示できなかった
りが直前になって発覚
Copyright (C) 2020 PayPay Corporation. All Rights Reserved.
マージできないブランチにある問題を早期発見
• アプリのAutomation Testチームと連携を取り、masterとreleaseブラン
チ以外でもテストしてもらう
Copyright (C) 2020 PayPay Corporation. All Rights Reserved.
• すべき要件が概ねマネジメント層で決まっている
• スピーディーなデザインが求められる
• プロダクト責任者がデザイン責任者
PayPayAndroidのアーキテクチャ
• 98% Kotlin
• MVVM
• Single Activity
• Fragmentは使っていない
Copyright (C) 2020 PayPay Corporation. All Rights Reserved.
lyft/Scoop 🍦
Copyright (C) 2020 PayPay Corporation. All Rights Reserved.
Scoopとは
• Fragmentの大規模な使用には高いコストがかかる
• ViewBaseでシンプルなライフサイクルの実現
• onAttachとonDetachのみ
• Screen, ViewController, Router, UIContainer
Copyright (C) 2020 PayPay Corporation. All Rights Reserved.
Scoopの登場人物
• Router
• 画面スタック、ナビゲーションを管理
• UIContainer
• UIContainerの中で画面遷移を行う Fragmentを乗せるLayoutみたいなイメージ
• Screen
• 1つのViewの単位。routerによってbackstackに積まれても破棄されない
• ViewController
• Screenの上に乗っている。AttachとDetachがある。毎回生成と破棄される
Copyright (C) 2020 PayPay Corporation. All Rights Reserved.
Routerによるナビゲーション
出典: https://eng.lyft.com/building-single-activity-apps-using-scoop-763d4271b41
Copyright (C) 2020 PayPay Corporation. All Rights Reserved.
チャレンジングな職場
Copyright (C) 2020 PayPay Corporation. All Rights Reserved.
ぜひ、刺激的な職場で一緒に働きましょう!

More Related Content

Similar to 2019 01 16_bonfire_android

スマートフォン最新利用動向とSeesaaのアプリ開発
スマートフォン最新利用動向とSeesaaのアプリ開発スマートフォン最新利用動向とSeesaaのアプリ開発
スマートフォン最新利用動向とSeesaaのアプリ開発
Seesaa
 
スクラムチームの立ち上げから複数フィーチャーチームへのスケーリングに至るまで(Scrum Fest Mikawa 2020)
スクラムチームの立ち上げから複数フィーチャーチームへのスケーリングに至るまで(Scrum Fest Mikawa 2020)スクラムチームの立ち上げから複数フィーチャーチームへのスケーリングに至るまで(Scrum Fest Mikawa 2020)
スクラムチームの立ち上げから複数フィーチャーチームへのスケーリングに至るまで(Scrum Fest Mikawa 2020)
ShoKitawaki
 
アフターコロナ、ウィズコロナに備えるための 経営を "リデザイン" するオンラインセミナー vol.01
アフターコロナ、ウィズコロナに備えるための 経営を "リデザイン" するオンラインセミナー vol.01アフターコロナ、ウィズコロナに備えるための 経営を "リデザイン" するオンラインセミナー vol.01
アフターコロナ、ウィズコロナに備えるための 経営を "リデザイン" するオンラインセミナー vol.01
やまぐち総合研究所有限会社
 
AWSとReactで始めるShopifyアプリ開発
AWSとReactで始めるShopifyアプリ開発AWSとReactで始めるShopifyアプリ開発
AWSとReactで始めるShopifyアプリ開発
Takaaki Kurasawa
 
セミナー「アプリ開発者になるべきか? アプリクリエイターの実際のところ」
セミナー「アプリ開発者になるべきか? アプリクリエイターの実際のところ」セミナー「アプリ開発者になるべきか? アプリクリエイターの実際のところ」
セミナー「アプリ開発者になるべきか? アプリクリエイターの実際のところ」
Haruyoshi Kuwamura
 
◆スマートフォンビジネス最前線
◆スマートフォンビジネス最前線◆スマートフォンビジネス最前線
◆スマートフォンビジネス最前線Gijutsu Ateam
 
iOS App Storeの話
iOS App Storeの話iOS App Storeの話
iOS App Storeの話
アシアル株式会社
 
iPhone、Android両対応アプリ開発講座 概論
iPhone、Android両対応アプリ開発講座 概論iPhone、Android両対応アプリ開発講座 概論
iPhone、Android両対応アプリ開発講座 概論Takakuni Furukawa
 
Domino Voltアプリケーションを作成してみたよ!
Domino Voltアプリケーションを作成してみたよ!Domino Voltアプリケーションを作成してみたよ!
Domino Voltアプリケーションを作成してみたよ!
Masahiko Miyo
 
Api and rpa_seminar_april20_osaka
Api and rpa_seminar_april20_osakaApi and rpa_seminar_april20_osaka
Api and rpa_seminar_april20_osaka
Yuki Hayakawa
 
eventos service
eventos serviceeventos service
eventos service
eventos
 
リワード広告におけるリジェクト問題の現状
リワード広告におけるリジェクト問題の現状リワード広告におけるリジェクト問題の現状
リワード広告におけるリジェクト問題の現状
TakashiOkaniwa
 
リワード広告におけるリジェクト問題の現状
リワード広告におけるリジェクト問題の現状リワード広告におけるリジェクト問題の現状
リワード広告におけるリジェクト問題の現状
VOYAGE GROUP
 
Microsoft de:code 2019 AI05 session
Microsoft  de:code 2019 AI05 sessionMicrosoft  de:code 2019 AI05 session
Microsoft de:code 2019 AI05 session
Ridge-i
 
Smart Phone Reward & Social Game
Smart Phone Reward & Social GameSmart Phone Reward & Social Game
Smart Phone Reward & Social GameNobuyoshi Noda
 
アフターコロナ、ウィズコロナに備えるための 経営を "リデザイン" するオンラインセミナー vol.03
アフターコロナ、ウィズコロナに備えるための 経営を "リデザイン" するオンラインセミナー vol.03アフターコロナ、ウィズコロナに備えるための 経営を "リデザイン" するオンラインセミナー vol.03
アフターコロナ、ウィズコロナに備えるための 経営を "リデザイン" するオンラインセミナー vol.03
やまぐち総合研究所有限会社
 
I phoneアプリでリワード広告する時の 注意点とプロモーション成功事例
I phoneアプリでリワード広告する時の 注意点とプロモーション成功事例I phoneアプリでリワード広告する時の 注意点とプロモーション成功事例
I phoneアプリでリワード広告する時の 注意点とプロモーション成功事例Hiromitsu Ishimori
 
【株式会社デジタルフォルン】ビジネスコンサルティング事業のご紹介
【株式会社デジタルフォルン】ビジネスコンサルティング事業のご紹介【株式会社デジタルフォルン】ビジネスコンサルティング事業のご紹介
【株式会社デジタルフォルン】ビジネスコンサルティング事業のご紹介
ssuserf2ec02
 

Similar to 2019 01 16_bonfire_android (20)

スマートフォン最新利用動向とSeesaaのアプリ開発
スマートフォン最新利用動向とSeesaaのアプリ開発スマートフォン最新利用動向とSeesaaのアプリ開発
スマートフォン最新利用動向とSeesaaのアプリ開発
 
スクラムチームの立ち上げから複数フィーチャーチームへのスケーリングに至るまで(Scrum Fest Mikawa 2020)
スクラムチームの立ち上げから複数フィーチャーチームへのスケーリングに至るまで(Scrum Fest Mikawa 2020)スクラムチームの立ち上げから複数フィーチャーチームへのスケーリングに至るまで(Scrum Fest Mikawa 2020)
スクラムチームの立ち上げから複数フィーチャーチームへのスケーリングに至るまで(Scrum Fest Mikawa 2020)
 
アフターコロナ、ウィズコロナに備えるための 経営を "リデザイン" するオンラインセミナー vol.01
アフターコロナ、ウィズコロナに備えるための 経営を "リデザイン" するオンラインセミナー vol.01アフターコロナ、ウィズコロナに備えるための 経営を "リデザイン" するオンラインセミナー vol.01
アフターコロナ、ウィズコロナに備えるための 経営を "リデザイン" するオンラインセミナー vol.01
 
AWSとReactで始めるShopifyアプリ開発
AWSとReactで始めるShopifyアプリ開発AWSとReactで始めるShopifyアプリ開発
AWSとReactで始めるShopifyアプリ開発
 
セミナー「アプリ開発者になるべきか? アプリクリエイターの実際のところ」
セミナー「アプリ開発者になるべきか? アプリクリエイターの実際のところ」セミナー「アプリ開発者になるべきか? アプリクリエイターの実際のところ」
セミナー「アプリ開発者になるべきか? アプリクリエイターの実際のところ」
 
◆スマートフォンビジネス最前線
◆スマートフォンビジネス最前線◆スマートフォンビジネス最前線
◆スマートフォンビジネス最前線
 
iOS App Storeの話
iOS App Storeの話iOS App Storeの話
iOS App Storeの話
 
iPhone、Android両対応アプリ開発講座 概論
iPhone、Android両対応アプリ開発講座 概論iPhone、Android両対応アプリ開発講座 概論
iPhone、Android両対応アプリ開発講座 概論
 
Domino Voltアプリケーションを作成してみたよ!
Domino Voltアプリケーションを作成してみたよ!Domino Voltアプリケーションを作成してみたよ!
Domino Voltアプリケーションを作成してみたよ!
 
Api and rpa_seminar_april20_osaka
Api and rpa_seminar_april20_osakaApi and rpa_seminar_april20_osaka
Api and rpa_seminar_april20_osaka
 
20110824 android apps_endo
20110824 android apps_endo20110824 android apps_endo
20110824 android apps_endo
 
eventos service
eventos serviceeventos service
eventos service
 
20110824 android apps_endo
20110824 android apps_endo20110824 android apps_endo
20110824 android apps_endo
 
リワード広告におけるリジェクト問題の現状
リワード広告におけるリジェクト問題の現状リワード広告におけるリジェクト問題の現状
リワード広告におけるリジェクト問題の現状
 
リワード広告におけるリジェクト問題の現状
リワード広告におけるリジェクト問題の現状リワード広告におけるリジェクト問題の現状
リワード広告におけるリジェクト問題の現状
 
Microsoft de:code 2019 AI05 session
Microsoft  de:code 2019 AI05 sessionMicrosoft  de:code 2019 AI05 session
Microsoft de:code 2019 AI05 session
 
Smart Phone Reward & Social Game
Smart Phone Reward & Social GameSmart Phone Reward & Social Game
Smart Phone Reward & Social Game
 
アフターコロナ、ウィズコロナに備えるための 経営を "リデザイン" するオンラインセミナー vol.03
アフターコロナ、ウィズコロナに備えるための 経営を "リデザイン" するオンラインセミナー vol.03アフターコロナ、ウィズコロナに備えるための 経営を "リデザイン" するオンラインセミナー vol.03
アフターコロナ、ウィズコロナに備えるための 経営を "リデザイン" するオンラインセミナー vol.03
 
I phoneアプリでリワード広告する時の 注意点とプロモーション成功事例
I phoneアプリでリワード広告する時の 注意点とプロモーション成功事例I phoneアプリでリワード広告する時の 注意点とプロモーション成功事例
I phoneアプリでリワード広告する時の 注意点とプロモーション成功事例
 
【株式会社デジタルフォルン】ビジネスコンサルティング事業のご紹介
【株式会社デジタルフォルン】ビジネスコンサルティング事業のご紹介【株式会社デジタルフォルン】ビジネスコンサルティング事業のご紹介
【株式会社デジタルフォルン】ビジネスコンサルティング事業のご紹介
 

2019 01 16_bonfire_android

  • 1. Copyright (C) 2020 PayPay Corporation. All Rights Reserved. の Androidアプリ開発
  • 2. Copyright (C) 2020 PayPay Corporation. All Rights Reserved. 前 原 理 来 M a e h a r a R i k u PayPay株式会社 | Android developer 法政大学情報科学部卒業 2019年4月ヤフー新卒入社 2019年7月PayPayに出向
  • 3. Copyright (C) 2020 PayPay Corporation. All Rights Reserved. ・ PayPayの開発スタイル ・ 開発上でぶつかった困難 ・ 失敗からの解決策 おはなしすること
  • 4. Copyright (C) 2020 PayPay Corporation. All Rights Reserved.
  • 5. Copyright (C) 2020 PayPay Corporation. All Rights Reserved. PayPayは多くのユーザーに使われているアプリ
  • 6. Copyright (C) 2020 PayPay Corporation. All Rights Reserved.
  • 7. Copyright (C) 2020 PayPay Corporation. All Rights Reserved. • すべき要件が概ねマネジメント層で決まっている • スピーディーなデザインが求められる • プロダクト責任者がデザイン責任者 PayPayの開発スタイル • スピード重視のアジャイル型開発 • 週1のスプリントで毎週リリース • 昨年はアプリをAndroid,iOS合わせて120回以上リリース
  • 8. Copyright (C) 2020 PayPay Corporation. All Rights Reserved. PayPayの開発環境
  • 9. Copyright (C) 2020 PayPay Corporation. All Rights Reserved. PayPayの開発環境 • 英語も日本語も飛び交っています • Androidチームも多国籍 • 日本、インド、タイ、ポーランド、中国 ..etc 出身は様々 • 英会話、日本語レッスンの導入 → グローバルな環境
  • 10. Copyright (C) 2020 PayPay Corporation. All Rights Reserved. 開発サイクル 月 火 水 木 金 次週リリース 開発 開発&QA
  • 11. Copyright (C) 2020 PayPay Corporation. All Rights Reserved. 開発サイクルを維持するために • 仕様等の調整事はなるべく早く • ブランチ戦略の見直し • コードが不安なところは予め方針を相談してから • QA期間は素早くBugFix
  • 12. Copyright (C) 2020 PayPay Corporation. All Rights Reserved. ブランチ戦略 • masterとrelease, hotfixブランチのみ • 火曜日の夜に自動でmasterからreleaseブランチが切られる • 一日2回自動でreleaseからmasterにSyncするPRが作られる • 2バージョン以上先にリリースされる機能は基本的に本番に影響がない範囲でmasterに入れていく
  • 13. Copyright (C) 2020 PayPay Corporation. All Rights Reserved. masterにマージできないもの • ライブラリのバージョン変更はマージできず、長い間別ブランチにいた • MotionLayoutを使うために ContraintLayout2.0.0 beta02で開発していた • バグが多くの画面のレイアウトが崩れたり、特定OS versionでは表示できなかった りが直前になって発覚
  • 14. Copyright (C) 2020 PayPay Corporation. All Rights Reserved. マージできないブランチにある問題を早期発見 • アプリのAutomation Testチームと連携を取り、masterとreleaseブラン チ以外でもテストしてもらう
  • 15. Copyright (C) 2020 PayPay Corporation. All Rights Reserved. • すべき要件が概ねマネジメント層で決まっている • スピーディーなデザインが求められる • プロダクト責任者がデザイン責任者 PayPayAndroidのアーキテクチャ • 98% Kotlin • MVVM • Single Activity • Fragmentは使っていない
  • 16. Copyright (C) 2020 PayPay Corporation. All Rights Reserved. lyft/Scoop 🍦
  • 17. Copyright (C) 2020 PayPay Corporation. All Rights Reserved. Scoopとは • Fragmentの大規模な使用には高いコストがかかる • ViewBaseでシンプルなライフサイクルの実現 • onAttachとonDetachのみ • Screen, ViewController, Router, UIContainer
  • 18. Copyright (C) 2020 PayPay Corporation. All Rights Reserved. Scoopの登場人物 • Router • 画面スタック、ナビゲーションを管理 • UIContainer • UIContainerの中で画面遷移を行う Fragmentを乗せるLayoutみたいなイメージ • Screen • 1つのViewの単位。routerによってbackstackに積まれても破棄されない • ViewController • Screenの上に乗っている。AttachとDetachがある。毎回生成と破棄される
  • 19. Copyright (C) 2020 PayPay Corporation. All Rights Reserved. Routerによるナビゲーション 出典: https://eng.lyft.com/building-single-activity-apps-using-scoop-763d4271b41
  • 20. Copyright (C) 2020 PayPay Corporation. All Rights Reserved. チャレンジングな職場
  • 21. Copyright (C) 2020 PayPay Corporation. All Rights Reserved. ぜひ、刺激的な職場で一緒に働きましょう!