Efficient app development using various debugging and verification tools
by
Epishie
Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
デバッグや検証ツールを活用 した効率的なアプリ開発 Efficient app development using various debugging and verification tools
Slide 2
Slide 2 text
自己紹介 ● Joseph Iturralde (@epishie) ● モバイル基盤部 ● Androidエンジニア
Slide 3
Slide 3 text
Android Renewal Project
Slide 4
Slide 4 text
アイデア ● おすすめ記事 さがす ● レシピ検索、ハッシュタグ きろく ● クリップ、料理アルバム New 3-Tab UI
Slide 5
Slide 5 text
Debugging and Verification Tools Flipper
Slide 6
Slide 6 text
Flipper はモバイルアプリ用の デバッグツールで iOS, Android, ReactNative で利用 可能 Flipper https://fbflipper.com/
Slide 7
Slide 7 text
コア・プラグイン ● Layout ● Network ● SharedPreferences ● Database カスタム・プラグイン Flipper
Slide 8
Slide 8 text
複雑なレイアウトをデバッグすること は難しく、特に API から画像やテキス トなど多くのコンテンツを取得する場 合は非常に難しいです Flipper - Layout
Slide 9
Slide 9 text
Flipper では起動中の アプリの View ツリーを 簡単に覗くことができ ます Flipper - Layout
Slide 10
Slide 10 text
View ツリーでハイライトした View はデバ イス上でも同様に確認できます Flipper - Layout
Slide 11
Slide 11 text
Margin, Padding, Bounds を 確認できます Flipper - Layout
Slide 12
Slide 12 text
Flipper - Network HTTP リクエストと レスポンスも確認できます OkHttp の interceptor を 使っているので HTTPS も確 認できます
Slide 13
Slide 13 text
Flipper - Shared Preferences クックパッドアプリでは Spotlight と 呼ばれるカスタム View を新機能や 新しいUIを紹介する際に利用しています ユーザがすでに確認したかどうかの状態は SharedPreference に保存しています
Slide 14
Slide 14 text
Flipper - Shared Preferences SharedPreference の 内容を確認することが でき、アプリ起動中は 値の更新が反映されます
Slide 15
Slide 15 text
Debugging and Verification Tools Hyperion
Slide 16
Slide 16 text
Hyperion - App Inspection Tool Hyperion はプラグイン型のデバッグメ ニューライブラリでデザイナー、開発者、 QA間の認識のズレを埋めるためのツール です https://github.com/willowtreeapps/Hyperion-Android
Slide 17
Slide 17 text
Hyperion - App Inspection Tool コア・プラグイン ● Attribute ● Disk ● Measure ● Phoenix ● Recorder ● Shared-Preferences
Slide 18
Slide 18 text
Hyperion - App Inspection Tool 様々な用途に合わせてカスタムの プラグインを実装して追加することができ ます
Slide 19
Slide 19 text
Hyperion - App Inspection Tool クックパッドではデバッグや検証に 合わせて数多くのプラグインを実装 しました
Slide 20
Slide 20 text
Hyperion - App Inspection Tool 特にリニューアル時にはデザイナーの確 認を容易にするため、UI のデバッグメ ニューをいくつか追加しました
Slide 21
Slide 21 text
Hyperion - App Inspection Tool Button Style Verification リニューアル時にマテリアルテーマ (Theme.MaterialComponents)に 変更したため、既存ボタンスタイル 全てを確認する手段が必要になりました
Slide 22
Slide 22 text
Hyperion - App Inspection Tool Ken Burns* Transition Preview リニューアルで追加された機能の中で画 像をスライドショーとして表示しています * https://en.wikipedia.org/wiki/Ken_Burns_effect
Slide 23
Slide 23 text
Hyperion - App Inspection Tool Ken Burns Transition Preview この画像の動作をプレビューツールによっ て確認することができました
Slide 24
Slide 24 text
Hyperion - App Inspection Tool Navigation 開発のタイミングでリスト画面より先に詳細 画面が実装されることがありました こういった詳細画面は画面遷移の デバッグツールから直接遷移できるようにし ました
Slide 25
Slide 25 text
Demo Apps
Slide 26
Slide 26 text
Demo Apps クックパッドアプリは主要な機能ごと に独立した feature モジュールに分割されています
Slide 27
Slide 27 text
Demo Apps 開発時、特に特定のモジュールのみを 変更している場合はプロジェクト全体の ビルドには無駄な箇所をビルドしてしまう 可能性があります Photo by Jon Tyson on Unsplash
Slide 28
Slide 28 text
Demo Apps プロジェクト全体のビルドを避けるため に、特定の feature モジュールのみを ビルドするデモアプリを導入しました
Slide 29
Slide 29 text
Demo Apps
Slide 30
Slide 30 text
Demo Apps デモアプリを作る際は検証したい 各機能を起動する画面を作成します
Slide 31
Slide 31 text
Demo Apps 機能を選択すると実際の画面が 起動し、スタブしたレスポンスで機能を確 認できます 機能単体で検証できるように、 他の画面とのやりとりも スタブしています
Slide 32
Slide 32 text
Demo Apps デモアプリは iOS で導入した Sandbox アプリを元に作成しました 大規模なiOSアプリの画面開発を効率化するために動作確 認用ミニアプリを構築する https://techlife.cookpad.com/entry/2020/08/05/0900 00 大規模プロジェクトにおけるモバイル基盤の取り組み https://techlife.cookpad.com/entry/2020/12/04/1100 00#デモアプリモジュールの実装
Slide 33
Slide 33 text
まとめ
Slide 34
Slide 34 text
まとめ 巨大なプロジェクトの開発は難しい デバッグや検証はさらに難しい 便利なツールで効率化 使えるものがなければ自作しよう