SlideShare a Scribd company logo
1 of 26
Download to read offline
© LIFULL Co.,Ltd. 本書の無断転載、複製を固く禁じます。1
Android アプリ開発の
裏側
2018/02/01
新UX開発部 デバイスソリューションU TechLead G 菊地 慧
© LIFULL Co.,Ltd. 本書の無断転載、複製を固く禁じます。2
本日のアジェンダ
• Android Instant Apps 対応
• アーキテクチャ載せ替え
• 最新技術導入の話
– Android OS
– Android Instant Apps
– Firebase
– AR(Tango)
© LIFULL Co.,Ltd. 本書の無断転載、複製を固く禁じます。3
プロフィール
• 名前
– 菊地 慧
• 所属
– 新UX開発部
デバイスソリューションユニット
TechLead グループ
© LIFULL Co.,Ltd. 本書の無断転載、複製を固く禁じます。4
Android Instant Apps 対応
© LIFULL Co.,Ltd. 本書の無断転載、複製を固く禁じます。5
Android Instant Apps
Android Instant App
ネイティブアプリをインストールをしなくても使えるよう
にする技術
© LIFULL Co.,Ltd. 本書の無断転載、複製を固く禁じます。6
Android Instant Apps
• 対応デバイス
– 9億台を超えている
• Instant Apps を起動する導線
– Web の URL が必要となる
• Email
• Twitter
• Search
• Etc…
© LIFULL Co.,Ltd. 本書の無断転載、複製を固く禁じます。7
Android Instant Apps の制限
• Instant Apps の制限
未インストールのアプリに対するユーザーの期待にそぐ
わない可能性のある一部機能が制限される
• 制限(一部)
– バックグラウンドサービスの使用
– バックグラウント通知の実行
– 一意の端末識別子へのアクセス
© LIFULL Co.,Ltd. 本書の無断転載、複製を固く禁じます。8
Android Instant Apps - 今すぐ試す
Play Store 今すぐ試す
– ランディング画面があるアプリだけ表示
– 通常のアプリもインストール可能
© LIFULL Co.,Ltd. 本書の無断転載、複製を固く禁じます。9
Android Instant Apps 対応
Instant Apps なら
– (URL があれば)インストールしてもらう必要がない
検索からの流入が最も多いページである物件詳細を対応
– 検索結果に対して面が取れる
– 広告費をかけずにアプリに呼び込むことができる
アプリにはロイヤルユーザーが集まりやすい
– ユーザー間で物件情報のやりとりが行われる際に、「物件詳細
のURL」が用いられることが多い
アプリはインストールしてもらうのが大
変
© LIFULL Co.,Ltd. 本書の無断転載、複製を固く禁じます。10
Android Instant Apps 対応
Google Play 「今すぐ試す」
– Google Play 上に表示
– Instant Apps の起動
Feature
物件検索
default-url
https://www.homes.co.jp/index.html
Feature
物件詳細
問合せ
物件詳細
– 物件情報が掲載
– 物件にお問合せなどが行える
Base
Library Library
© LIFULL Co.,Ltd. 本書の無断転載、複製を固く禁じます。11
Android Instant Apps - 考慮ポイント
• ライブラリの対応状況
– Google で動作確認が行われている
• 一部、動作に制限があるものがある(Data Binding など)
• 4MB の容量制限
– base module + feature module の組み合わせ
– 外部ライブラリをたくさん使っていると困る
• Resource 参照
– feature module の xml 内のリソース参照は実行時に base のリ
ソースを参照する
• コードから feature.R.** と指定することで回避が可能
© LIFULL Co.,Ltd. 本書の無断転載、複製を固く禁じます。12
Android Instant Apps よくありそうな質問
• Instant Apps から Installed でデータの共有できるの?
– できます
• versionCode はどうすれば?
– Instant Apps < Installed でなければいけません
• Instant Apps 対応するのってどのくらい大変?
– アプリの規模やプロジェクトの構造によります。2週〜6週らしい
• Instant Apps が公開されるまでにどのくらいかかる
– 通常のアプリと同じ感じ
© LIFULL Co.,Ltd. 本書の無断転載、複製を固く禁じます。13
アーキテクチャ
© LIFULL Co.,Ltd. 本書の無断転載、複製を固く禁じます。14
LIFULL HOME‘S Android のアーキテクチャ変遷
1. 初期開発時は MVC
– Activity Only
2. リニューアル時も MVC
– Fragment を使い始める(ここでライフサイクルに悩まされ
る)
3. マテリアルデザイン対応時に MVVM
– Data Binding を導入(後から)
– だいぶ慣れたがライフサイクルには頭を抱えさせられ(ry
4. Android Architecture Components 登場
– Android にライフサイクルに対応できる
• 楽になる?入れよう!
© LIFULL Co.,Ltd. 本書の無断転載、複製を固く禁じます。15
Android Architecture Components
• Handling lifecycles
– Create a UI that automatically responds to lifecycle events.
• LiveData
– Build data objects that notify views when the underlying
database changes.
• ViewModel
– Store UI related data that isn’t destroyed on app rotations.
• Room
– Access you app’s SQLite database with in-app objects and compile-time
checks.
※ https://developer.android.com/topic/libraries/architecture/index.html
© LIFULL Co.,Ltd. 本書の無断転載、複製を固く禁じます。16
Android Architecture Components
※ https://developer.android.com/topic/libraries/architecture/guide.html
© LIFULL Co.,Ltd. 本書の無断転載、複製を固く禁じます。17
Android Architecture Components - LiveData
• Android のライフサイクルを考慮
– Observer が Lifecycle に紐づいているので、
Lifecycle が破棄されると Observer も解除される
• メモリリークしない
– Observer の Lifecycle が STARED or RESUMED の
状態の場合のみ、Observer が Active となる
• Activity / Fragment がいまどういった状態か?というライフ
サイクルのハンドリングから解放される
• Data Binding との相性がいい
© LIFULL Co.,Ltd. 本書の無断転載、複製を固く禁じます。18
Android Architecture Components - ViewModel
• Fragment 間でデータの共有が可能
• ViewModelProviders に Activity を渡しているため、
各Fragment で ViewModel の参照が可能
– Interface 地獄から解放
– Activity は Fragment のことを知らなくても良い
• ライフサイクルが Activity / Fragment にスコー
プされる
• Lifecycle がメモリ上から破棄されるまで存在する
– Fragment でデータを保持しすぎて、Bundle の容量制限に
引っかからなくなる
© LIFULL Co.,Ltd. 本書の無断転載、複製を固く禁じます。19
Android Architecture Components 導入してみて
• Android 特有のライフサイクルに対応
– lifecycle に関するコードが全体で統一されて、スッキリ
• 個別に導入が可能というのは楽
– Lifecycle だけ、LiveData だけ使いたいという場合にも導入が
簡単
– (逆に言えば)捨てる際にも乗せやすい
• Rooms は導入せず
– SQLite へのアクセスを Content Provider 経由で実現していた
ため、移行するするにはコストがでかかった
© LIFULL Co.,Ltd. 本書の無断転載、複製を固く禁じます。20
最新技術導入
© LIFULL Co.,Ltd. 本書の無断転載、複製を固く禁じます。21
最新技術導入 - Android OS
• 最新 OS が発表
– チャットを見るともう議論が始まる
– API 確認→出来ることとできないことがチーム内で共有
• 最新 OS が更新される
– チャットを見ると議論(ry
– 動作確認などを実施
– 安定してきたら機能開発
• 最新 OS がリリース
– なるべく早い段階でアプリは対応
– Pixel 2 が発売されないから今後どうするか
© LIFULL Co.,Ltd. 本書の無断転載、複製を固く禁じます。22
最新技術導入 - Firebase(Remote Config + Realtime Database)
• 特集配信
– 特集とは
• おすすめの検索条件のセット
– 目的
• 時期やユーザに合わせて、特
集を差し替えたい
• A/B テストなども実施したい
© LIFULL Co.,Ltd. 本書の無断転載、複製を固く禁じます。23
最新技術導入 - Firebase(Remote Config + Realtime Database)
• 実現手段
– Remote Config
• 特集ID のリストを配信
– Realtime Database
– 特集のパラメータを配信
– 特集IDと検索条件・画像URL・特集名が紐づいている
• メリット
– 配信先の切り替え
• セグメント毎、A / Bテストも容易
– データ同期
• 同期に関する実装不要、オフライン対応
© LIFULL Co.,Ltd. 本書の無断転載、複製を固く禁じます。24
最新技術導入 - Tango
• LIFULL HOME’S Room Style AR
– Tango 専用アプリ
– 実際のお部屋にカーテンのイメージデータを表示することで、
模様替え後のお部屋をよりリアルにシミューレションしていた
だけます
https://play.google.com/store/apps/details?id=com.lifull.homes.android.roomstyle_ar
© LIFULL Co.,Ltd. 本書の無断転載、複製を固く禁じます。25
最新技術導入 - Tango
• なぜ Tango アプリを開発することに?
– 今までにない新しい技術に興味があった
– 不動産領域でも面白いことができそうだと感じた
– 面白そうだよね?という問いに、面白そうと答えた
• 今後について
– リリース直後に Tango 終了のお知らせ
– アプリの対応端末がPHAB2 Pro のみ
– ARCore 楽しみですね。。。
© LIFULL Co.,Ltd. 本書の無断転載、複製を固く禁じます。26
ご静聴ありがとうございました

More Related Content

What's hot

dotcle 経験0から Meteor iOS アプリを2ヶ月半で作ってリリースしてみた
dotcle 経験0から Meteor iOS アプリを2ヶ月半で作ってリリースしてみたdotcle 経験0から Meteor iOS アプリを2ヶ月半で作ってリリースしてみた
dotcle 経験0から Meteor iOS アプリを2ヶ月半で作ってリリースしてみたNobutaka OSHIRO
 
Titaniumって何?
Titaniumって何?Titaniumって何?
Titaniumって何?Toshiro Yagi
 
App extension for iOS
App extension for iOSApp extension for iOS
App extension for iOStoyship
 
Xcode 7におけるUIテストとカバレジ計測 #yidev 第20回勉強会
Xcode 7におけるUIテストとカバレジ計測 #yidev 第20回勉強会Xcode 7におけるUIテストとカバレジ計測 #yidev 第20回勉強会
Xcode 7におけるUIテストとカバレジ計測 #yidev 第20回勉強会Koji Hasegawa
 
iOSアプリ UIテスト自動化入門
iOSアプリ UIテスト自動化入門iOSアプリ UIテスト自動化入門
iOSアプリ UIテスト自動化入門Shingo Tamaki
 
エンジニアリングするデザイナーが領域を超えて見えたこと
エンジニアリングするデザイナーが領域を超えて見えたことエンジニアリングするデザイナーが領域を超えて見えたこと
エンジニアリングするデザイナーが領域を超えて見えたことMayumi Narisawa
 
Realm meetup LT大会(Androidアプリへの適用経験談)
Realm meetup LT大会(Androidアプリへの適用経験談)Realm meetup LT大会(Androidアプリへの適用経験談)
Realm meetup LT大会(Androidアプリへの適用経験談)Kenichi Kambara
 
AWS Device Farm を Jenkins CI から叩いてみた
AWS Device Farm を Jenkins CI から叩いてみたAWS Device Farm を Jenkins CI から叩いてみた
AWS Device Farm を Jenkins CI から叩いてみたTatsuya Yamamoto
 
JaSST'16 Tokyo モバイルセッション
JaSST'16 Tokyo モバイルセッションJaSST'16 Tokyo モバイルセッション
JaSST'16 Tokyo モバイルセッションmirer
 
Android 6.0 Marshmallow 指紋認証対応のポイント
Android 6.0 Marshmallow 指紋認証対応のポイントAndroid 6.0 Marshmallow 指紋認証対応のポイント
Android 6.0 Marshmallow 指紋認証対応のポイントKenichi Kambara
 
[Stack Overflow Dev Days 2015]Android 6.0 Marshmallow App Permissions 応用編
[Stack Overflow Dev Days 2015]Android 6.0 Marshmallow App Permissions 応用編[Stack Overflow Dev Days 2015]Android 6.0 Marshmallow App Permissions 応用編
[Stack Overflow Dev Days 2015]Android 6.0 Marshmallow App Permissions 応用編Kenichi Kambara
 
自作アプリを watchOS 2 対応した話 〜FastCheckin編〜
自作アプリを watchOS 2 対応した話 〜FastCheckin編〜自作アプリを watchOS 2 対応した話 〜FastCheckin編〜
自作アプリを watchOS 2 対応した話 〜FastCheckin編〜Kosuke Ogawa
 
Appiumを用いたwebブラウザ自動テスト
Appiumを用いたwebブラウザ自動テストAppiumを用いたwebブラウザ自動テスト
Appiumを用いたwebブラウザ自動テストyumi_chappy
 
Android Studioの魅力
Android Studioの魅力Android Studioの魅力
Android Studioの魅力Keiji Ariyama
 
2015年のAndroidアプリ開発入門 - ABCD 2015 Kanazawa
2015年のAndroidアプリ開発入門 - ABCD 2015 Kanazawa2015年のAndroidアプリ開発入門 - ABCD 2015 Kanazawa
2015年のAndroidアプリ開発入門 - ABCD 2015 KanazawaKeiji Ariyama
 
Android-Binding Before / After
Android-Binding Before / AfterAndroid-Binding Before / After
Android-Binding Before / AfterTomonori Ohba
 
スマートフォンアプリ開発と自動化 〜なじむ。実に!なじむぞ!〜 #AsianAA
スマートフォンアプリ開発と自動化 〜なじむ。実に!なじむぞ!〜 #AsianAAスマートフォンアプリ開発と自動化 〜なじむ。実に!なじむぞ!〜 #AsianAA
スマートフォンアプリ開発と自動化 〜なじむ。実に!なじむぞ!〜 #AsianAAKoji Hasegawa
 

What's hot (20)

dotcle 経験0から Meteor iOS アプリを2ヶ月半で作ってリリースしてみた
dotcle 経験0から Meteor iOS アプリを2ヶ月半で作ってリリースしてみたdotcle 経験0から Meteor iOS アプリを2ヶ月半で作ってリリースしてみた
dotcle 経験0から Meteor iOS アプリを2ヶ月半で作ってリリースしてみた
 
Titaniumって何?
Titaniumって何?Titaniumって何?
Titaniumって何?
 
App extension for iOS
App extension for iOSApp extension for iOS
App extension for iOS
 
Xcode 7におけるUIテストとカバレジ計測 #yidev 第20回勉強会
Xcode 7におけるUIテストとカバレジ計測 #yidev 第20回勉強会Xcode 7におけるUIテストとカバレジ計測 #yidev 第20回勉強会
Xcode 7におけるUIテストとカバレジ計測 #yidev 第20回勉強会
 
日本Androidの会6周年パーティー
日本Androidの会6周年パーティー日本Androidの会6周年パーティー
日本Androidの会6周年パーティー
 
iOSアプリ UIテスト自動化入門
iOSアプリ UIテスト自動化入門iOSアプリ UIテスト自動化入門
iOSアプリ UIテスト自動化入門
 
エンジニアリングするデザイナーが領域を超えて見えたこと
エンジニアリングするデザイナーが領域を超えて見えたことエンジニアリングするデザイナーが領域を超えて見えたこと
エンジニアリングするデザイナーが領域を超えて見えたこと
 
Realm meetup LT大会(Androidアプリへの適用経験談)
Realm meetup LT大会(Androidアプリへの適用経験談)Realm meetup LT大会(Androidアプリへの適用経験談)
Realm meetup LT大会(Androidアプリへの適用経験談)
 
Alternative WebView
Alternative WebViewAlternative WebView
Alternative WebView
 
AWS Device Farm を Jenkins CI から叩いてみた
AWS Device Farm を Jenkins CI から叩いてみたAWS Device Farm を Jenkins CI から叩いてみた
AWS Device Farm を Jenkins CI から叩いてみた
 
JaSST'16 Tokyo モバイルセッション
JaSST'16 Tokyo モバイルセッションJaSST'16 Tokyo モバイルセッション
JaSST'16 Tokyo モバイルセッション
 
Android 6.0 Marshmallow 指紋認証対応のポイント
Android 6.0 Marshmallow 指紋認証対応のポイントAndroid 6.0 Marshmallow 指紋認証対応のポイント
Android 6.0 Marshmallow 指紋認証対応のポイント
 
[Stack Overflow Dev Days 2015]Android 6.0 Marshmallow App Permissions 応用編
[Stack Overflow Dev Days 2015]Android 6.0 Marshmallow App Permissions 応用編[Stack Overflow Dev Days 2015]Android 6.0 Marshmallow App Permissions 応用編
[Stack Overflow Dev Days 2015]Android 6.0 Marshmallow App Permissions 応用編
 
自作アプリを watchOS 2 対応した話 〜FastCheckin編〜
自作アプリを watchOS 2 対応した話 〜FastCheckin編〜自作アプリを watchOS 2 対応した話 〜FastCheckin編〜
自作アプリを watchOS 2 対応した話 〜FastCheckin編〜
 
Appiumを用いたwebブラウザ自動テスト
Appiumを用いたwebブラウザ自動テストAppiumを用いたwebブラウザ自動テスト
Appiumを用いたwebブラウザ自動テスト
 
Android Studioの魅力
Android Studioの魅力Android Studioの魅力
Android Studioの魅力
 
2015年のAndroidアプリ開発入門 - ABCD 2015 Kanazawa
2015年のAndroidアプリ開発入門 - ABCD 2015 Kanazawa2015年のAndroidアプリ開発入門 - ABCD 2015 Kanazawa
2015年のAndroidアプリ開発入門 - ABCD 2015 Kanazawa
 
AppCodeNight testcode
AppCodeNight testcodeAppCodeNight testcode
AppCodeNight testcode
 
Android-Binding Before / After
Android-Binding Before / AfterAndroid-Binding Before / After
Android-Binding Before / After
 
スマートフォンアプリ開発と自動化 〜なじむ。実に!なじむぞ!〜 #AsianAA
スマートフォンアプリ開発と自動化 〜なじむ。実に!なじむぞ!〜 #AsianAAスマートフォンアプリ開発と自動化 〜なじむ。実に!なじむぞ!〜 #AsianAA
スマートフォンアプリ開発と自動化 〜なじむ。実に!なじむぞ!〜 #AsianAA
 

Similar to 2018_02_01ヒカラボ登壇資料

20170510 タウンwi fixlifull_スマホアプリ開発の実例 (1)
20170510 タウンwi fixlifull_スマホアプリ開発の実例 (1)20170510 タウンwi fixlifull_スマホアプリ開発の実例 (1)
20170510 タウンwi fixlifull_スマホアプリ開発の実例 (1)LIFULL Co., Ltd.
 
【 ヒカ☆ラボ 】LIFULL Home's androidアプリの開発の裏側について
【 ヒカ☆ラボ 】LIFULL Home's androidアプリの開発の裏側について【 ヒカ☆ラボ 】LIFULL Home's androidアプリの開発の裏側について
【 ヒカ☆ラボ 】LIFULL Home's androidアプリの開発の裏側についてLIFULL Co., Ltd.
 
iQONの開発手法 at iQONエンジニアセミナー
iQONの開発手法 at iQONエンジニアセミナーiQONの開発手法 at iQONエンジニアセミナー
iQONの開発手法 at iQONエンジニアセミナーImamura Masayuki
 
勘違いだらけのAndroid UIデザイン
勘違いだらけのAndroid UIデザイン勘違いだらけのAndroid UIデザイン
勘違いだらけのAndroid UIデザインNobuya Sato
 
おすすめインフラ! for スタートアップ
おすすめインフラ! for スタートアップおすすめインフラ! for スタートアップ
おすすめインフラ! for スタートアップKoichiro Sumi
 
Meteor勉強会発表資料「MeteorでiOSアプリを作ろう!」
Meteor勉強会発表資料「MeteorでiOSアプリを作ろう!」Meteor勉強会発表資料「MeteorでiOSアプリを作ろう!」
Meteor勉強会発表資料「MeteorでiOSアプリを作ろう!」Nobutaka OSHIRO
 
Androidでもサクサク動くHTML5ハイブリッドアプリの作り⽅
Androidでもサクサク動くHTML5ハイブリッドアプリの作り⽅Androidでもサクサク動くHTML5ハイブリッドアプリの作り⽅
Androidでもサクサク動くHTML5ハイブリッドアプリの作り⽅アシアル株式会社
 
小さく早い改善がスマホのサービス開発を変える
小さく早い改善がスマホのサービス開発を変える小さく早い改善がスマホのサービス開発を変える
小さく早い改善がスマホのサービス開発を変えるHiroto Igarashi
 
モバイル対応Ui部品を利用したレスポンシブwebアプリ開発
モバイル対応Ui部品を利用したレスポンシブwebアプリ開発モバイル対応Ui部品を利用したレスポンシブwebアプリ開発
モバイル対応Ui部品を利用したレスポンシブwebアプリ開発Satoru Yamaguchi
 
ABS2015 のセッション紹介
ABS2015 のセッション紹介ABS2015 のセッション紹介
ABS2015 のセッション紹介l_b__
 
中規模Androidアプリ開発の過程に生じた問題と対策の紹介
中規模Androidアプリ開発の過程に生じた問題と対策の紹介中規模Androidアプリ開発の過程に生じた問題と対策の紹介
中規模Androidアプリ開発の過程に生じた問題と対策の紹介NilOne Ltd.
 
モバイルアプリ向けAWSネイティブアーキテクチャ
モバイルアプリ向けAWSネイティブアーキテクチャモバイルアプリ向けAWSネイティブアーキテクチャ
モバイルアプリ向けAWSネイティブアーキテクチャRikitake Oohashi
 
shibuya.apk vol21
shibuya.apk vol21shibuya.apk vol21
shibuya.apk vol21Takeshi Eto
 
スタートアップ向け!1人日でできるサービスの高速化方法と成果
スタートアップ向け!1人日でできるサービスの高速化方法と成果スタートアップ向け!1人日でできるサービスの高速化方法と成果
スタートアップ向け!1人日でできるサービスの高速化方法と成果Koichiro Sumi
 
スマートデバイスSIの落とし穴と適した開発手法とは?
スマートデバイスSIの落とし穴と適した開発手法とは?スマートデバイスSIの落とし穴と適した開発手法とは?
スマートデバイスSIの落とし穴と適した開発手法とは?Takuya Kitamura
 
ionic - cross platform mobile app 開発
ionic - cross platform mobile app 開発ionic - cross platform mobile app 開発
ionic - cross platform mobile app 開発Seunghun Lee
 
最新UIフレームワーク Onsen UI2で カッコイイWordPress連携アプリを作る方法
最新UIフレームワーク Onsen UI2でカッコイイWordPress連携アプリを作る方法最新UIフレームワーク Onsen UI2でカッコイイWordPress連携アプリを作る方法
最新UIフレームワーク Onsen UI2で カッコイイWordPress連携アプリを作る方法アシアル株式会社
 
Line Creators Studio Android With Kotlin
Line Creators Studio Android With KotlinLine Creators Studio Android With Kotlin
Line Creators Studio Android With KotlinLINE Corporation
 
Windowストアアプリ コントラクトとライフサイクル
Windowストアアプリ コントラクトとライフサイクルWindowストアアプリ コントラクトとライフサイクル
Windowストアアプリ コントラクトとライフサイクルHiroyuki Mori
 

Similar to 2018_02_01ヒカラボ登壇資料 (20)

20170510 タウンwi fixlifull_スマホアプリ開発の実例 (1)
20170510 タウンwi fixlifull_スマホアプリ開発の実例 (1)20170510 タウンwi fixlifull_スマホアプリ開発の実例 (1)
20170510 タウンwi fixlifull_スマホアプリ開発の実例 (1)
 
【 ヒカ☆ラボ 】LIFULL Home's androidアプリの開発の裏側について
【 ヒカ☆ラボ 】LIFULL Home's androidアプリの開発の裏側について【 ヒカ☆ラボ 】LIFULL Home's androidアプリの開発の裏側について
【 ヒカ☆ラボ 】LIFULL Home's androidアプリの開発の裏側について
 
iQONの開発手法 at iQONエンジニアセミナー
iQONの開発手法 at iQONエンジニアセミナーiQONの開発手法 at iQONエンジニアセミナー
iQONの開発手法 at iQONエンジニアセミナー
 
勘違いだらけのAndroid UIデザイン
勘違いだらけのAndroid UIデザイン勘違いだらけのAndroid UIデザイン
勘違いだらけのAndroid UIデザイン
 
おすすめインフラ! for スタートアップ
おすすめインフラ! for スタートアップおすすめインフラ! for スタートアップ
おすすめインフラ! for スタートアップ
 
Meteor勉強会発表資料「MeteorでiOSアプリを作ろう!」
Meteor勉強会発表資料「MeteorでiOSアプリを作ろう!」Meteor勉強会発表資料「MeteorでiOSアプリを作ろう!」
Meteor勉強会発表資料「MeteorでiOSアプリを作ろう!」
 
Androidでもサクサク動くHTML5ハイブリッドアプリの作り⽅
Androidでもサクサク動くHTML5ハイブリッドアプリの作り⽅Androidでもサクサク動くHTML5ハイブリッドアプリの作り⽅
Androidでもサクサク動くHTML5ハイブリッドアプリの作り⽅
 
小さく早い改善がスマホのサービス開発を変える
小さく早い改善がスマホのサービス開発を変える小さく早い改善がスマホのサービス開発を変える
小さく早い改善がスマホのサービス開発を変える
 
モバイル対応Ui部品を利用したレスポンシブwebアプリ開発
モバイル対応Ui部品を利用したレスポンシブwebアプリ開発モバイル対応Ui部品を利用したレスポンシブwebアプリ開発
モバイル対応Ui部品を利用したレスポンシブwebアプリ開発
 
ABS2015 のセッション紹介
ABS2015 のセッション紹介ABS2015 のセッション紹介
ABS2015 のセッション紹介
 
Androidアプリケーション開発中級研修 前編
Androidアプリケーション開発中級研修 前編Androidアプリケーション開発中級研修 前編
Androidアプリケーション開発中級研修 前編
 
中規模Androidアプリ開発の過程に生じた問題と対策の紹介
中規模Androidアプリ開発の過程に生じた問題と対策の紹介中規模Androidアプリ開発の過程に生じた問題と対策の紹介
中規模Androidアプリ開発の過程に生じた問題と対策の紹介
 
モバイルアプリ向けAWSネイティブアーキテクチャ
モバイルアプリ向けAWSネイティブアーキテクチャモバイルアプリ向けAWSネイティブアーキテクチャ
モバイルアプリ向けAWSネイティブアーキテクチャ
 
shibuya.apk vol21
shibuya.apk vol21shibuya.apk vol21
shibuya.apk vol21
 
スタートアップ向け!1人日でできるサービスの高速化方法と成果
スタートアップ向け!1人日でできるサービスの高速化方法と成果スタートアップ向け!1人日でできるサービスの高速化方法と成果
スタートアップ向け!1人日でできるサービスの高速化方法と成果
 
スマートデバイスSIの落とし穴と適した開発手法とは?
スマートデバイスSIの落とし穴と適した開発手法とは?スマートデバイスSIの落とし穴と適した開発手法とは?
スマートデバイスSIの落とし穴と適した開発手法とは?
 
ionic - cross platform mobile app 開発
ionic - cross platform mobile app 開発ionic - cross platform mobile app 開発
ionic - cross platform mobile app 開発
 
最新UIフレームワーク Onsen UI2で カッコイイWordPress連携アプリを作る方法
最新UIフレームワーク Onsen UI2でカッコイイWordPress連携アプリを作る方法最新UIフレームワーク Onsen UI2でカッコイイWordPress連携アプリを作る方法
最新UIフレームワーク Onsen UI2で カッコイイWordPress連携アプリを作る方法
 
Line Creators Studio Android With Kotlin
Line Creators Studio Android With KotlinLine Creators Studio Android With Kotlin
Line Creators Studio Android With Kotlin
 
Windowストアアプリ コントラクトとライフサイクル
Windowストアアプリ コントラクトとライフサイクルWindowストアアプリ コントラクトとライフサイクル
Windowストアアプリ コントラクトとライフサイクル
 

More from LIFULL Co., Ltd.

20220319_新卒から活躍し続けるエンジニアが大切にしている5つのこと
20220319_新卒から活躍し続けるエンジニアが大切にしている5つのこと20220319_新卒から活躍し続けるエンジニアが大切にしている5つのこと
20220319_新卒から活躍し続けるエンジニアが大切にしている5つのことLIFULL Co., Ltd.
 
趣味と仕事の違い、現場で求められるアプリケーションの可観測性
趣味と仕事の違い、現場で求められるアプリケーションの可観測性趣味と仕事の違い、現場で求められるアプリケーションの可観測性
趣味と仕事の違い、現場で求められるアプリケーションの可観測性LIFULL Co., Ltd.
 
Kubernetesセキュリティの歩き方
Kubernetesセキュリティの歩き方Kubernetesセキュリティの歩き方
Kubernetesセキュリティの歩き方LIFULL Co., Ltd.
 
LIFULLの全社アプリケーション実行基盤 KEEL について
LIFULLの全社アプリケーション実行基盤 KEEL についてLIFULLの全社アプリケーション実行基盤 KEEL について
LIFULLの全社アプリケーション実行基盤 KEEL についてLIFULL Co., Ltd.
 
Kubernetesクラスタバージョンアップを支える技術
Kubernetesクラスタバージョンアップを支える技術Kubernetesクラスタバージョンアップを支える技術
Kubernetesクラスタバージョンアップを支える技術LIFULL Co., Ltd.
 
LIFULL HOME'SでのSolrの構成と運用の変遷
LIFULL HOME'SでのSolrの構成と運用の変遷LIFULL HOME'SでのSolrの構成と運用の変遷
LIFULL HOME'SでのSolrの構成と運用の変遷LIFULL Co., Ltd.
 
LIFULLでは新卒エンジニアに 丸一日のテスト研修を行なっている
LIFULLでは新卒エンジニアに 丸一日のテスト研修を行なっているLIFULLでは新卒エンジニアに 丸一日のテスト研修を行なっている
LIFULLでは新卒エンジニアに 丸一日のテスト研修を行なっているLIFULL Co., Ltd.
 
SaPID を導入するまでとそれから
SaPID を導入するまでとそれからSaPID を導入するまでとそれから
SaPID を導入するまでとそれからLIFULL Co., Ltd.
 
3D間取りを支える技術
3D間取りを支える技術3D間取りを支える技術
3D間取りを支える技術LIFULL Co., Ltd.
 
LIFULL HOME'Sのおとり広告予測モデルの開発
LIFULL HOME'Sのおとり広告予測モデルの開発LIFULL HOME'Sのおとり広告予測モデルの開発
LIFULL HOME'Sのおとり広告予測モデルの開発LIFULL Co., Ltd.
 
大企業でアジャイル開発を推進できる条件とその心構え
大企業でアジャイル開発を推進できる条件とその心構え大企業でアジャイル開発を推進できる条件とその心構え
大企業でアジャイル開発を推進できる条件とその心構えLIFULL Co., Ltd.
 
スクラムを利用したアジャイルオフショア開発のとりくみ
スクラムを利用したアジャイルオフショア開発のとりくみスクラムを利用したアジャイルオフショア開発のとりくみ
スクラムを利用したアジャイルオフショア開発のとりくみLIFULL Co., Ltd.
 
実践 マーケティングテクノロジーエンジニア
実践 マーケティングテクノロジーエンジニア実践 マーケティングテクノロジーエンジニア
実践 マーケティングテクノロジーエンジニアLIFULL Co., Ltd.
 
エンジニア × マーケティングテクノロジー が必要な理由
エンジニア × マーケティングテクノロジー が必要な理由エンジニア × マーケティングテクノロジー が必要な理由
エンジニア × マーケティングテクノロジー が必要な理由LIFULL Co., Ltd.
 
「空飛ぶホームズくん」を実現するVR技術
「空飛ぶホームズくん」を実現するVR技術「空飛ぶホームズくん」を実現するVR技術
「空飛ぶホームズくん」を実現するVR技術LIFULL Co., Ltd.
 
ニオイセンサで思索する街の新たな指標
ニオイセンサで思索する街の新たな指標ニオイセンサで思索する街の新たな指標
ニオイセンサで思索する街の新たな指標LIFULL Co., Ltd.
 
Well-beingを測る「LIFE WILL」開発の舞台裏
Well-beingを測る「LIFE WILL」開発の舞台裏Well-beingを測る「LIFE WILL」開発の舞台裏
Well-beingを測る「LIFE WILL」開発の舞台裏LIFULL Co., Ltd.
 
㊗ LINE新着物件通知 リリース!! PJ進行に沿って話す、 PjM/PdMとして やったこと
㊗ LINE新着物件通知 リリース!! PJ進行に沿って話す、 PjM/PdMとして やったこと㊗ LINE新着物件通知 リリース!! PJ進行に沿って話す、 PjM/PdMとして やったこと
㊗ LINE新着物件通知 リリース!! PJ進行に沿って話す、 PjM/PdMとして やったことLIFULL Co., Ltd.
 
ウェブアクセシビリティ推進活動はじめました
ウェブアクセシビリティ推進活動はじめましたウェブアクセシビリティ推進活動はじめました
ウェブアクセシビリティ推進活動はじめましたLIFULL Co., Ltd.
 
大きめレガシープロジェクトのフロント行く末
大きめレガシープロジェクトのフロント行く末大きめレガシープロジェクトのフロント行く末
大きめレガシープロジェクトのフロント行く末LIFULL Co., Ltd.
 

More from LIFULL Co., Ltd. (20)

20220319_新卒から活躍し続けるエンジニアが大切にしている5つのこと
20220319_新卒から活躍し続けるエンジニアが大切にしている5つのこと20220319_新卒から活躍し続けるエンジニアが大切にしている5つのこと
20220319_新卒から活躍し続けるエンジニアが大切にしている5つのこと
 
趣味と仕事の違い、現場で求められるアプリケーションの可観測性
趣味と仕事の違い、現場で求められるアプリケーションの可観測性趣味と仕事の違い、現場で求められるアプリケーションの可観測性
趣味と仕事の違い、現場で求められるアプリケーションの可観測性
 
Kubernetesセキュリティの歩き方
Kubernetesセキュリティの歩き方Kubernetesセキュリティの歩き方
Kubernetesセキュリティの歩き方
 
LIFULLの全社アプリケーション実行基盤 KEEL について
LIFULLの全社アプリケーション実行基盤 KEEL についてLIFULLの全社アプリケーション実行基盤 KEEL について
LIFULLの全社アプリケーション実行基盤 KEEL について
 
Kubernetesクラスタバージョンアップを支える技術
Kubernetesクラスタバージョンアップを支える技術Kubernetesクラスタバージョンアップを支える技術
Kubernetesクラスタバージョンアップを支える技術
 
LIFULL HOME'SでのSolrの構成と運用の変遷
LIFULL HOME'SでのSolrの構成と運用の変遷LIFULL HOME'SでのSolrの構成と運用の変遷
LIFULL HOME'SでのSolrの構成と運用の変遷
 
LIFULLでは新卒エンジニアに 丸一日のテスト研修を行なっている
LIFULLでは新卒エンジニアに 丸一日のテスト研修を行なっているLIFULLでは新卒エンジニアに 丸一日のテスト研修を行なっている
LIFULLでは新卒エンジニアに 丸一日のテスト研修を行なっている
 
SaPID を導入するまでとそれから
SaPID を導入するまでとそれからSaPID を導入するまでとそれから
SaPID を導入するまでとそれから
 
3D間取りを支える技術
3D間取りを支える技術3D間取りを支える技術
3D間取りを支える技術
 
LIFULL HOME'Sのおとり広告予測モデルの開発
LIFULL HOME'Sのおとり広告予測モデルの開発LIFULL HOME'Sのおとり広告予測モデルの開発
LIFULL HOME'Sのおとり広告予測モデルの開発
 
大企業でアジャイル開発を推進できる条件とその心構え
大企業でアジャイル開発を推進できる条件とその心構え大企業でアジャイル開発を推進できる条件とその心構え
大企業でアジャイル開発を推進できる条件とその心構え
 
スクラムを利用したアジャイルオフショア開発のとりくみ
スクラムを利用したアジャイルオフショア開発のとりくみスクラムを利用したアジャイルオフショア開発のとりくみ
スクラムを利用したアジャイルオフショア開発のとりくみ
 
実践 マーケティングテクノロジーエンジニア
実践 マーケティングテクノロジーエンジニア実践 マーケティングテクノロジーエンジニア
実践 マーケティングテクノロジーエンジニア
 
エンジニア × マーケティングテクノロジー が必要な理由
エンジニア × マーケティングテクノロジー が必要な理由エンジニア × マーケティングテクノロジー が必要な理由
エンジニア × マーケティングテクノロジー が必要な理由
 
「空飛ぶホームズくん」を実現するVR技術
「空飛ぶホームズくん」を実現するVR技術「空飛ぶホームズくん」を実現するVR技術
「空飛ぶホームズくん」を実現するVR技術
 
ニオイセンサで思索する街の新たな指標
ニオイセンサで思索する街の新たな指標ニオイセンサで思索する街の新たな指標
ニオイセンサで思索する街の新たな指標
 
Well-beingを測る「LIFE WILL」開発の舞台裏
Well-beingを測る「LIFE WILL」開発の舞台裏Well-beingを測る「LIFE WILL」開発の舞台裏
Well-beingを測る「LIFE WILL」開発の舞台裏
 
㊗ LINE新着物件通知 リリース!! PJ進行に沿って話す、 PjM/PdMとして やったこと
㊗ LINE新着物件通知 リリース!! PJ進行に沿って話す、 PjM/PdMとして やったこと㊗ LINE新着物件通知 リリース!! PJ進行に沿って話す、 PjM/PdMとして やったこと
㊗ LINE新着物件通知 リリース!! PJ進行に沿って話す、 PjM/PdMとして やったこと
 
ウェブアクセシビリティ推進活動はじめました
ウェブアクセシビリティ推進活動はじめましたウェブアクセシビリティ推進活動はじめました
ウェブアクセシビリティ推進活動はじめました
 
大きめレガシープロジェクトのフロント行く末
大きめレガシープロジェクトのフロント行く末大きめレガシープロジェクトのフロント行く末
大きめレガシープロジェクトのフロント行く末
 

Recently uploaded

新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルCRI Japan, Inc.
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Gamesatsushi061452
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)Hiroshi Tomioka
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video UnderstandingToru Tamaki
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NTT DATA Technology & Innovation
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...Toru Tamaki
 
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Hiroshi Tomioka
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイスCRI Japan, Inc.
 

Recently uploaded (11)

新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
 
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 

2018_02_01ヒカラボ登壇資料

  • 1. © LIFULL Co.,Ltd. 本書の無断転載、複製を固く禁じます。1 Android アプリ開発の 裏側 2018/02/01 新UX開発部 デバイスソリューションU TechLead G 菊地 慧
  • 2. © LIFULL Co.,Ltd. 本書の無断転載、複製を固く禁じます。2 本日のアジェンダ • Android Instant Apps 対応 • アーキテクチャ載せ替え • 最新技術導入の話 – Android OS – Android Instant Apps – Firebase – AR(Tango)
  • 3. © LIFULL Co.,Ltd. 本書の無断転載、複製を固く禁じます。3 プロフィール • 名前 – 菊地 慧 • 所属 – 新UX開発部 デバイスソリューションユニット TechLead グループ
  • 4. © LIFULL Co.,Ltd. 本書の無断転載、複製を固く禁じます。4 Android Instant Apps 対応
  • 5. © LIFULL Co.,Ltd. 本書の無断転載、複製を固く禁じます。5 Android Instant Apps Android Instant App ネイティブアプリをインストールをしなくても使えるよう にする技術
  • 6. © LIFULL Co.,Ltd. 本書の無断転載、複製を固く禁じます。6 Android Instant Apps • 対応デバイス – 9億台を超えている • Instant Apps を起動する導線 – Web の URL が必要となる • Email • Twitter • Search • Etc…
  • 7. © LIFULL Co.,Ltd. 本書の無断転載、複製を固く禁じます。7 Android Instant Apps の制限 • Instant Apps の制限 未インストールのアプリに対するユーザーの期待にそぐ わない可能性のある一部機能が制限される • 制限(一部) – バックグラウンドサービスの使用 – バックグラウント通知の実行 – 一意の端末識別子へのアクセス
  • 8. © LIFULL Co.,Ltd. 本書の無断転載、複製を固く禁じます。8 Android Instant Apps - 今すぐ試す Play Store 今すぐ試す – ランディング画面があるアプリだけ表示 – 通常のアプリもインストール可能
  • 9. © LIFULL Co.,Ltd. 本書の無断転載、複製を固く禁じます。9 Android Instant Apps 対応 Instant Apps なら – (URL があれば)インストールしてもらう必要がない 検索からの流入が最も多いページである物件詳細を対応 – 検索結果に対して面が取れる – 広告費をかけずにアプリに呼び込むことができる アプリにはロイヤルユーザーが集まりやすい – ユーザー間で物件情報のやりとりが行われる際に、「物件詳細 のURL」が用いられることが多い アプリはインストールしてもらうのが大 変
  • 10. © LIFULL Co.,Ltd. 本書の無断転載、複製を固く禁じます。10 Android Instant Apps 対応 Google Play 「今すぐ試す」 – Google Play 上に表示 – Instant Apps の起動 Feature 物件検索 default-url https://www.homes.co.jp/index.html Feature 物件詳細 問合せ 物件詳細 – 物件情報が掲載 – 物件にお問合せなどが行える Base Library Library
  • 11. © LIFULL Co.,Ltd. 本書の無断転載、複製を固く禁じます。11 Android Instant Apps - 考慮ポイント • ライブラリの対応状況 – Google で動作確認が行われている • 一部、動作に制限があるものがある(Data Binding など) • 4MB の容量制限 – base module + feature module の組み合わせ – 外部ライブラリをたくさん使っていると困る • Resource 参照 – feature module の xml 内のリソース参照は実行時に base のリ ソースを参照する • コードから feature.R.** と指定することで回避が可能
  • 12. © LIFULL Co.,Ltd. 本書の無断転載、複製を固く禁じます。12 Android Instant Apps よくありそうな質問 • Instant Apps から Installed でデータの共有できるの? – できます • versionCode はどうすれば? – Instant Apps < Installed でなければいけません • Instant Apps 対応するのってどのくらい大変? – アプリの規模やプロジェクトの構造によります。2週〜6週らしい • Instant Apps が公開されるまでにどのくらいかかる – 通常のアプリと同じ感じ
  • 13. © LIFULL Co.,Ltd. 本書の無断転載、複製を固く禁じます。13 アーキテクチャ
  • 14. © LIFULL Co.,Ltd. 本書の無断転載、複製を固く禁じます。14 LIFULL HOME‘S Android のアーキテクチャ変遷 1. 初期開発時は MVC – Activity Only 2. リニューアル時も MVC – Fragment を使い始める(ここでライフサイクルに悩まされ る) 3. マテリアルデザイン対応時に MVVM – Data Binding を導入(後から) – だいぶ慣れたがライフサイクルには頭を抱えさせられ(ry 4. Android Architecture Components 登場 – Android にライフサイクルに対応できる • 楽になる?入れよう!
  • 15. © LIFULL Co.,Ltd. 本書の無断転載、複製を固く禁じます。15 Android Architecture Components • Handling lifecycles – Create a UI that automatically responds to lifecycle events. • LiveData – Build data objects that notify views when the underlying database changes. • ViewModel – Store UI related data that isn’t destroyed on app rotations. • Room – Access you app’s SQLite database with in-app objects and compile-time checks. ※ https://developer.android.com/topic/libraries/architecture/index.html
  • 16. © LIFULL Co.,Ltd. 本書の無断転載、複製を固く禁じます。16 Android Architecture Components ※ https://developer.android.com/topic/libraries/architecture/guide.html
  • 17. © LIFULL Co.,Ltd. 本書の無断転載、複製を固く禁じます。17 Android Architecture Components - LiveData • Android のライフサイクルを考慮 – Observer が Lifecycle に紐づいているので、 Lifecycle が破棄されると Observer も解除される • メモリリークしない – Observer の Lifecycle が STARED or RESUMED の 状態の場合のみ、Observer が Active となる • Activity / Fragment がいまどういった状態か?というライフ サイクルのハンドリングから解放される • Data Binding との相性がいい
  • 18. © LIFULL Co.,Ltd. 本書の無断転載、複製を固く禁じます。18 Android Architecture Components - ViewModel • Fragment 間でデータの共有が可能 • ViewModelProviders に Activity を渡しているため、 各Fragment で ViewModel の参照が可能 – Interface 地獄から解放 – Activity は Fragment のことを知らなくても良い • ライフサイクルが Activity / Fragment にスコー プされる • Lifecycle がメモリ上から破棄されるまで存在する – Fragment でデータを保持しすぎて、Bundle の容量制限に 引っかからなくなる
  • 19. © LIFULL Co.,Ltd. 本書の無断転載、複製を固く禁じます。19 Android Architecture Components 導入してみて • Android 特有のライフサイクルに対応 – lifecycle に関するコードが全体で統一されて、スッキリ • 個別に導入が可能というのは楽 – Lifecycle だけ、LiveData だけ使いたいという場合にも導入が 簡単 – (逆に言えば)捨てる際にも乗せやすい • Rooms は導入せず – SQLite へのアクセスを Content Provider 経由で実現していた ため、移行するするにはコストがでかかった
  • 20. © LIFULL Co.,Ltd. 本書の無断転載、複製を固く禁じます。20 最新技術導入
  • 21. © LIFULL Co.,Ltd. 本書の無断転載、複製を固く禁じます。21 最新技術導入 - Android OS • 最新 OS が発表 – チャットを見るともう議論が始まる – API 確認→出来ることとできないことがチーム内で共有 • 最新 OS が更新される – チャットを見ると議論(ry – 動作確認などを実施 – 安定してきたら機能開発 • 最新 OS がリリース – なるべく早い段階でアプリは対応 – Pixel 2 が発売されないから今後どうするか
  • 22. © LIFULL Co.,Ltd. 本書の無断転載、複製を固く禁じます。22 最新技術導入 - Firebase(Remote Config + Realtime Database) • 特集配信 – 特集とは • おすすめの検索条件のセット – 目的 • 時期やユーザに合わせて、特 集を差し替えたい • A/B テストなども実施したい
  • 23. © LIFULL Co.,Ltd. 本書の無断転載、複製を固く禁じます。23 最新技術導入 - Firebase(Remote Config + Realtime Database) • 実現手段 – Remote Config • 特集ID のリストを配信 – Realtime Database – 特集のパラメータを配信 – 特集IDと検索条件・画像URL・特集名が紐づいている • メリット – 配信先の切り替え • セグメント毎、A / Bテストも容易 – データ同期 • 同期に関する実装不要、オフライン対応
  • 24. © LIFULL Co.,Ltd. 本書の無断転載、複製を固く禁じます。24 最新技術導入 - Tango • LIFULL HOME’S Room Style AR – Tango 専用アプリ – 実際のお部屋にカーテンのイメージデータを表示することで、 模様替え後のお部屋をよりリアルにシミューレションしていた だけます https://play.google.com/store/apps/details?id=com.lifull.homes.android.roomstyle_ar
  • 25. © LIFULL Co.,Ltd. 本書の無断転載、複製を固く禁じます。25 最新技術導入 - Tango • なぜ Tango アプリを開発することに? – 今までにない新しい技術に興味があった – 不動産領域でも面白いことができそうだと感じた – 面白そうだよね?という問いに、面白そうと答えた • 今後について – リリース直後に Tango 終了のお知らせ – アプリの対応端末がPHAB2 Pro のみ – ARCore 楽しみですね。。。
  • 26. © LIFULL Co.,Ltd. 本書の無断転載、複製を固く禁じます。26 ご静聴ありがとうございました