>100 Views
April 07, 17
スライド概要
・2017/4/6
・ヒカラボ
・LIFULL Home's androidアプリの開発の裏側について
LIFULL HOME'Sを運営する株式会社LIFULLのアカウントです。 LIFULLが主催するエンジニア向けイベント「Ltech」等で公開されたスライド等をこちらで共有しております。
Androidアプリ開発について 2017.04.06 ヒカ☆ラボ 株式会社LIFULL 寒川 明好
自己紹介 • 寒川 明好 • 株式会社LIFULL – Android開発グループ • Engineering Manager • 2010年入社 – 入社後1年半はWebを担当 – その後はアプリ開発メイン • Android • iOS • Windows Phone 2 © LIFULL Co.,Ltd. 本書の無断転載、複製を固く禁じます。
あらゆるLIFEを、FULLに。 「LIFULL」とは、 世界中の人々の人生やくらし(LIFE)を満たす (FULL)企業へと成長していきたいという想いを こめた造語で、不動産業界だけでなく様々な事業 領域でサービスを提供していきます。 3 © LIFULL Co.,Ltd. 本書の無断転載、複製を固く禁じます。
HOME’Sは新しいステージへ 2017年4月1日より、 不動産・住宅情報サイト「HOME’S」は「LIFULL HOME’S(ライフルホームズ)」にブランド名を 変更いたします。 4 © LIFULL Co.,Ltd. 本書の無断転載、複製を固く禁じます。
LIFULL HOME’Sとは 最上の住まいに出逢えるよう、最大の不動産・住宅情 報と、最良の情報品質、最適な手法によって 住まい探しをお手伝いする、不動産・住宅情報の総合 サービスです。 • ブラウザ – デスクトップ – スマートフォン • アプリ – Android • Phone • Tablet • Wear – iOS • • • • Phone Tablet Watch TV – Windows 5 © LIFULL Co.,Ltd. 本書の無断転載、複製を固く禁じます。
おかげさまでベストアプリ 6 © LIFULL Co.,Ltd. 本書の無断転載、複製を固く禁じます。
アジェンダ チーム体制 施策の決め方、進め方 LIFULL HOME’Sアプリ開発のキーワード マテリアルデザイン移行 mBaaS活用事例 レビュー&テスト 今後進めたい事 7 © LIFULL Co.,Ltd. 本書の無断転載、複製を固く禁じます。
アプリチームの体制 • アプリチームは4つのグループから成り立っている Android ✕4 Tech Lead Direction&Design ✕6 ✕1 iOS ✕7 8 © LIFULL Co.,Ltd. 本書の無断転載、複製を固く禁じます。
施策の決め方 • ユーザの声 – Google Play Storeのレビュー評価 – 不具合報告(改善意見) • データ解析 – Google Analytics • アイデア – 個々のメンバーからの「これがユーザのためになる」 – ブレスト • 必須 – 法律などの対応 – ブランドなど 9 © LIFULL Co.,Ltd. 本書の無断転載、複製を固く禁じます。
OSで一緒の施策はやらない • OSごとに別々の施策を考えている • 同じ施策をする場合でも同時に進行しない ユーザの声 データ 解析 アイデア 必須 施策 OSによって UI・UXが異なる 10 © LIFULL Co.,Ltd. 本書の無断転載、複製を固く禁じます。
リリースサイクル • Androidでは約2週間〜3週間ごとにリリース ユーザの声・アイデア PJ単位 仕様作成 キックオフ 開発 機能テスト モック作成 ブレスト リリースapk全体ウォークスルー リリース 11 © LIFULL Co.,Ltd. 本書の無断転載、複製を固く禁じます。
LIFULL HOME’S開発におけるキーワード マイクロサービス化 ✕ マテリアルデザイン ✕ mBaaS利活用 12 © LIFULL Co.,Ltd. 本書の無断転載、複製を固く禁じます。
マテリアルデザイン と LIFULL HOME’Sアプリの歴史 • 2014年9月にファーストリリース • 約60回のアップデート • 最新バージョンは 6.0.0 13 © LIFULL Co.,Ltd. 本書の無断転載、複製を固く禁じます。
マテリアルデザインへシフト • v1.0.0 はActivityとFragmentで構成 – ActivityはMainのみ – 1画面に対して複数のFragmentが Attach されていた • ベースとなるActivityから移植を開始 – Avtivityを主要画面ごとに分割 – Fragment開発のため、機能単位で移植 14 © LIFULL Co.,Ltd. 本書の無断転載、複製を固く禁じます。
ToolBar • ToolBar – OS3(Holo)以降ではActionBarとしてActivityで管理 – OS5(Material)以降はToolBarとしてFragmentで管理 • 画面によってUXが異なる – 常にToolBarを表示する – スクロールするとToolBarは非表示 – CollapsingToolbarLayoutを使ってスクロールするとヘッダーが縮小 される 15 © LIFULL Co.,Ltd. 本書の無断転載、複製を固く禁じます。
開発環境 AWS GitHub Firebase CircleCI AndroidStuido Crashlytics Deyloygate GrowthPush PlayConsole 16 © LIFULL Co.,Ltd. 本書の無断転載、複製を固く禁じます。
Firebase • mBaaSとしては Firebase を採用 – Google I/O 2016 で新しいFirebaseが発表 – LIFULL HOME’Sでも発表翌日から採用を検討しテスト導入 – 採用理由 • Analytics, Develop, Grow, Earn によるアプリの最大化 • プラットフォームとの連携 – Google Analytics 17 © LIFULL Co.,Ltd. 本書の無断転載、複製を固く禁じます。
LIFULL HOME’S ✕ Firebase 活用例#1 活用例の紹介 • Analytics • Develop – Database – Storage • Grow 特集 • シーズンで入れ 替わる • キャッシュ活用 • iOSと共有 – Remote Config • Earn 18 © LIFULL Co.,Ltd. 本書の無断転載、複製を固く禁じます。
LIFULL HOME’S ✕ Firebase 活用例#2 活用例の紹介 • Analytics • Develop – Database – Storage ABテスト • CVR計測 • 2〜3パターン • Grow – Remote Config • Earn 19 © LIFULL Co.,Ltd. 本書の無断転載、複製を固く禁じます。
LIFULL HOME’S ✕ Firebase 今後やってみたい 今後やる 自分がやってみたい 活用例 • Develop – Functions • Database, Storage, Authentication の各種イベントをトリガーに Functions が起動できる 20 © LIFULL Co.,Ltd. 本書の無断転載、複製を固く禁じます。
レビューやテスト周り • ソースレビュー – Android Studioの Inspection – GitHubによる Pull Request • テスト 21 テストの種類 実行環境 セキュリティテスト JSSECセキュアコーディングガイド 単体テスト AndroidTestCase ( InstrumentationRegistry ) 結合テスト Excelベース UIテスト ActivityInstrumentationTestCase2 ( ActivityTestRule ) ※ 一部機能のみ対応 ユーザテスト QAチーム ウォークスルー Androidチームメンバー © LIFULL Co.,Ltd. 本書の無断転載、複製を固く禁じます。
LIFULL HOME’Sの今後 • さらなるFirebaseの利活用(またはそれに代わるmBaaSの導入) – Functions – Notifications – Chat • Android O対応 – Core app qualityの実施 • IoTにも注目 22 ※個人的に © LIFULL Co.,Ltd. 本書の無断転載、複製を固く禁じます。
最後に 開発で取り組んでもらいたいこと • アスペクト比2:1以上の画面に対応 – 対応しないと上下または左右に黒い帯が表示されてしまう • Data Binding – 双方向Data BindingによるMVVM化 • WebP対応 – リソースや通信量の削減 23 © LIFULL Co.,Ltd. 本書の無断転載、複製を固く禁じます。
おわり 24 © LIFULL Co.,Ltd. 本書の無断転載、複製を固く禁じます。