Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Review of Google I/O 2017 & Prepare for Google ...
Search
Keisuke Kobayashi
May 08, 2018
Programming
0
310
Review of Google I/O 2017 & Prepare for Google I/O 2018
Google IO Extended Tokyo 2018
Keisuke Kobayashi
May 08, 2018
Tweet
Share
More Decks by Keisuke Kobayashi
See All by Keisuke Kobayashi
今日から始める依存性の注入 / First Time Dependency Injection
kobakei
26
7.2k
iOSアプリの技術的負債をどう返済したか / How to repay the technical debt of iOS app
kobakei
2
910
iOSアプリ内で不正なSSL証明書を検知する / SSL Pinning for iOS apps
kobakei
34
11k
Kyashアプリ開発の現場
kobakei
4
2.7k
APIクライアントをCodableで置き換えた話
kobakei
0
1.5k
開発者が知っておきたい通知の歴史
kobakei
9
7.4k
mockito-kotlin
kobakei
1
500
2017年に新規アプリを立ち上げた話
kobakei
2
1k
Everything of CI/CD in Kyash Android
kobakei
0
1.6k
Other Decks in Programming
See All in Programming
生成 AI を活用した toitta 切片分類機能の裏側 / Inside toitta's AI-Based Factoid Clustering
pokutuna
0
570
Generative AI Use Cases JP (略称:GenU)奮闘記
hideg
0
150
【Kaigi on Rails 2024】YOUTRUST スポンサーLT
krpk1900
1
240
Kaigi on Rails 2024 - Rails APIモードのためのシンプルで効果的なCSRF対策 / kaigionrails-2024-csrf
corocn
5
3.4k
Server Driven Compose With Firebase
skydoves
0
400
Vue3の一歩踏み込んだパフォーマンスチューニング2024
hal_spidernight
3
3.1k
Vaporモードを大規模サービスに最速導入して学びを共有する
kazukishimamoto
4
4.3k
Nuxtベースの「WXT」でChrome拡張を作成する | Vue Fes 2024 ランチセッション
moshi1121
1
510
Macとオーディオ再生 2024/11/02
yusukeito
0
150
プロジェクト新規参入者のリードタイム短縮の観点から見る、品質の高いコードとアーキテクチャを保つメリット
d_endo
1
1k
Snowflake x dbtで作るセキュアでアジャイルなデータ基盤
tsoshiro
2
430
僕がつくった48個のWebサービス達
yusukebe
18
17k
Featured
See All Featured
A designer walks into a library…
pauljervisheath
202
24k
Embracing the Ebb and Flow
colly
84
4.4k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
27
790
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
280
13k
Build The Right Thing And Hit Your Dates
maggiecrowley
32
2.4k
Optimizing for Happiness
mojombo
376
69k
GitHub's CSS Performance
jonrohan
1030
460k
The Cult of Friendly URLs
andyhume
78
6k
Put a Button on it: Removing Barriers to Going Fast.
kastner
59
3.5k
A Tale of Four Properties
chriscoyier
156
23k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
328
21k
Six Lessons from altMBA
skipperchong
26
3.5k
Transcript
Review of Google I/O 2017 & Prepare for Google I/O
2018 Keisuke Kobayashi / kobakei Google I/O Extended Tokyo 2018
About Me • Keisuke Kobayashi • Twitter: kobakei122 • GitHub:
kobakei • Kyash, Inc • Android engineer / iOS engineer / Eng. Manager • ݸਓࣄۀओ
Kyash ID: kobakei ײँͷ39ԁʢThank Youʣͪ͜Β·Ͱʂ
ӡӦͷํʹґཔ͞Εͨ
ӡӦͷํʹґཔ͞Εͨ
None
தͩ͠ ΏΔ;ΘܥͷLTΛ͠·͢ ※ࠓίʔυҰग़·ͤΜ
ࠓ͢͜ͱ • Google I/O 2017ͷηογϣϯৼΓฦΓ • ࣮ࡍʹۀͰͬͨͷͱ͔ • Google I/O
2018ͷηογϣϯ • ಠஅͱภݟͰνϣΠε͠·͢ • ΄΅AndroidܥͷηογϣϯͰ͢
Google I/O 2017ͷ ৼΓฦΓ
ݸਓతʹࢥ͍ग़͕͋Δͷ • Kotlin • Android Studio 3.0 • Architecture Components
• Oreo௨ʢ௨νϟϯωϧʣ • Adaptive Icon • Firebase Performance Monitoring • SafetyNet in Developer Console
Kotlin • Kotlin͍͍ͧ • KyashϑϧKotlin
Λऴ͑ͨਓͨͪ • Retrolambda • KotlinʹϥϜμࣜ͋ΔͷͰෆཁ • Lightweight Stream API •
KotlinͷίϨΫγϣϯΠέͯΔͷͰෆཁ
࣮ࡍKotlinͲ͏ʁ • ؒҧ͍ͳ͘࠾༻ͯ͠Α͔ͬͨ • Null safetyʹΑΔNPEճආ • Delegated property, Class
delegation • ԿΑΓॻ͍ͯͯؾ͍͍࣋ͪ • །Ұࣄނͬͨͷ͕Parcelize • JellyBeansͰىಈ͠ͳ͘ͳΔόάʢࠓͬͨʣ
Android Studio 3.0 • ͳ͔ͳ͔ग़ͳ͔ͬͨʢ201711݄ϦϦʔε) • Oreoͷ৽ػೳ͕ͦΕ·Ͱ͑ͳͯ͘ਏ͔ͬͨ • Adaptive Icons,
Autosizing TextViews • Ϗϧυ͕ૣ͘ͳͬͨʢΒ͍͠ʣ • Profiler͕৽͘͠ͳ͚ͬͨͲɺਖ਼͋·Γͬͯͳ͍
Architecture Components • KyashͰࠓͷॴͬͯͳ͍ • ։ൃ࣌alpha~betaͩͬͨͷͰɺࣅͨΑ͏ͳΈΛࣗ࡞ͨ͠ • ෭ۀઌͰಋೖͨ͠ • Lifecycle
& ViewModel • RxJava & AutoDisposeͱΈ߹Θͤͨ • LiveData, Room, Pagingຊ൪Ͱͬͨ͜ͱͳ͍
Oreoͷ௨ • ௨νϟϯωϧͷՃ • Ϣʔβʔ͕νϟϯωϧ͝ͱʹ௨ͷදࣔʗ ඇදࣔԻɾόΠϒΛઃఆՄೳʹ • Target SDKΛ্͛ͨΒ௨͕ग़ͳ͘ͳͬͯɺ ରԠΛഭΒΕͨਓଟ͍ͷͰʁ
༨ஊ: DroidKaigi 2018Ͱͨ͠ • ʮ։ൃऀ͕͓͖͍ͬͯͨ௨ͷྺ࢙ʯͰݕ ࡧ͠Α͏ • ICSʙOreo·Ͱཏͯ͠௨ͷػೳΛհ͠ ͨ
એ: Android Pͷ௨࠷৽ͷςΫϒຊࢀর
Adaptive Icon • ɹɹ͕ରԠͯ͘͠Εͨ • OreoͳΒશͯͰΞχϝʔγϣϯ͢ΔΘɹ ͚Ͱͳ͍ • Nexus 5XΤϛϡϨʔλͰಈ͍ͨ
• Huawei Mate9ͰݟͨมΘΒͣ
Tips: ຊ൪ͱ։ൃ൛ΛΘ͔Γ͘͢
ic_launcher.xml • Build type͝ͱʹΞΠίϯͷഎܠ৭Λม͑Δ
Firebase Performance Monitoring • ىಈ࣌ؒಛఆͷϝιουͷ࣮ߦ࣌ؒΛܭଌ Ͱ͖Δ • ΊͪΌͪ͘Όظͯͨ͠ • ىಈ࣌ؒΛૣ͍ͨ͘͠Ϟνϕʔγϣϯ͕͋ͬ
ͨ
Firebase Performance Monitoring
͕ൃ֮ • ͋Δಥવ͏ͪͷPM͕KyashΛ͑ͳ͘ͳͬ ͨ • ௐͨͱ͜ΖɺHuaweiͷݹ͍Ͱىಈ࣌ʹ Ϋϥογϡ͢Δঢ়ଶʹͳͬͯͨ
None
None
SafetyNet • ϧʔτԽͨ͠GoogleͷೝূΛड͚͍ͯ ͳ͍Λ͘ • ΞϓϦ͔ΒݺΔAPIͱɺGoogle Play ConsoleͰͷΠϯετʔϧ੍ޚ͕͋Δ
ྫ͑͜ΜͳϨϏϡʔ • ͔ͤͬ͘Πϯετʔϧͨ͠ͷʹϧʔτͰ ͑ͳ͍ͬͯݴΘΕ·ͨ͠ɻ ΫιΞϓϦ
ͳͥ͜͏ͳΔͷ͔ʁ • ϥϯλΠϜͷΈϧʔτνΣοΫͯ͠ɺΠϯε τʔϧͰ͖ͯ͠·͏ͷͰɺGoogle PlayͰϨ ϏϡʔΛॻ͔Εͯ͠·͏ • ͦͯ͠େମ˒1͕͘ • SafetyNetͳΒɺΠϯετʔϧ࣌ͱϥϯλΠϜͰ
ಉ͡νΣοΫΛΒͤΔ͜ͱ͕Ͱ͖Δ
Google Play Developer Console Χλϩάˠআ֎͞Εͨˠআ֎ϧʔϧͷཧ
Google I/O 2018 ηογϣϯ
Fragments in the Architecture Components world • AACʹΑͬͯFragmentͷׂ͕ਐԽͨ͠ • ͦͷͷมߋͱਐߦதͷAPIมߋʹ͍ͭͯ
հ
Protips: a fresh look at advanced topics for Android experts
• Android͕ग़͔ͯΒ10ܦ͚ͭͲɺ૬มΘΒ ͣݹ͍πʔϧAPIͬͯΔਓ͕͍Δ • Ϟμϯͳπʔϧɺඇਪͷ࣮ύλʔϯΛ հ • ͓ͬ͞Μ͚ηογϣϯʁ
How to Kotlin - from the Lead Kotlin Language Designer
• JetBrainsͷKotlinͷϦʔυݴޠઃܭऀʹΑΔ ηογϣϯ • ΑΓKotlinΆ͍ॻ͖ํ͋·ΓΒΕͯͳ͍ ύϫϑϧͳػೳʹ͍ͭͯհͯ͘͠ΕΔ
Android KTX: sweetening Android Kotlin development • JakeਆʹΑΔηογϣϯ • KTXͰ1࣌ؒ͢͜ͱ͋ΔΜͩΖ͏͔
What's new with ConstraintLayout and Android Studio design tools •
ConstraintLayout 2.0ͷ৽ػೳͷհ
Paging with RecyclerView • AACʹ৽ͨʹՃ͞ΕͨPaging Libraryͷհ • RoomRetrofitͱΈ߹ΘͤΔํ๏ͳͲ
Enjoy Google I/O