Google IO Extended Tokyo 2018
Review of Google I/O 2017 &Prepare for Google I/O 2018Keisuke Kobayashi / kobakeiGoogle I/O Extended Tokyo 2018
View Slide
About Me• Keisuke Kobayashi• Twitter: kobakei122• GitHub: kobakei• Kyash, Inc• Android engineer / iOS engineer / Eng. Manager• ݸਓࣄۀओ
Kyash ID: kobakeiײँͷ39ԁʢThank Youʣͪ͜Β·Ͱʂ
ӡӦͷํʹґཔ͞Εͨ
தͩ͠ ΏΔ;Θܥͷ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 PerformanceMonitoring• ىಈ࣌ؒಛఆͷϝιουͷ࣮ߦ࣌ؒΛܭଌͰ͖Δ• ΊͪΌͪ͘Όظͯͨ͠• ىಈ࣌ؒΛૣ͍ͨ͘͠Ϟνϕʔγϣϯ͕͋ͬͨ
Firebase PerformanceMonitoring
͕ൃ֮• ͋Δಥવ͏ͪͷPM͕KyashΛ͑ͳ͘ͳͬͨ• ௐͨͱ͜ΖɺHuaweiͷݹ͍Ͱىಈ࣌ʹΫϥογϡ͢Δঢ়ଶʹͳͬͯͨ
SafetyNet• ϧʔτԽͨ͠GoogleͷೝূΛड͚͍ͯͳ͍Λ͘• ΞϓϦ͔ΒݺΔAPIͱɺGoogle PlayConsoleͰͷΠϯετʔϧ੍ޚ͕͋Δ
ྫ͑͜ΜͳϨϏϡʔ• ͔ͤͬ͘Πϯετʔϧͨ͠ͷʹϧʔτͰ͑ͳ͍ͬͯݴΘΕ·ͨ͠ɻ ΫιΞϓϦ
ͳͥ͜͏ͳΔͷ͔ʁ• ϥϯλΠϜͷΈϧʔτνΣοΫͯ͠ɺΠϯετʔϧͰ͖ͯ͠·͏ͷͰɺGoogle PlayͰϨϏϡʔΛॻ͔Εͯ͠·͏• ͦͯ͠େମ˒1͕͘• SafetyNetͳΒɺΠϯετʔϧ࣌ͱϥϯλΠϜͰಉ͡νΣοΫΛΒͤΔ͜ͱ͕Ͱ͖Δ
Google Play Developer ConsoleΧλϩάˠআ֎͞Εͨˠআ֎ϧʔϧͷཧ
Google I/O 2018ηογϣϯ
Fragments in the ArchitectureComponents world• AACʹΑͬͯFragmentͷׂ͕ਐԽͨ͠• ͦͷͷมߋͱਐߦதͷAPIมߋʹ͍ͭͯհ
Protips: a fresh look at advancedtopics for Android experts• Android͕ग़͔ͯΒ10ܦ͚ͭͲɺ૬มΘΒͣݹ͍πʔϧAPIͬͯΔਓ͕͍Δ• Ϟμϯͳπʔϧɺඇਪͷ࣮ύλʔϯΛհ• ͓ͬ͞Μ͚ηογϣϯʁ
How to Kotlin - from the LeadKotlin Language Designer• JetBrainsͷKotlinͷϦʔυݴޠઃܭऀʹΑΔηογϣϯ• ΑΓKotlinΆ͍ॻ͖ํ͋·ΓΒΕͯͳ͍ ύϫϑϧͳػೳʹ͍ͭͯհͯ͘͠ΕΔ
Android KTX: sweeteningAndroid Kotlin development• JakeਆʹΑΔηογϣϯ• KTXͰ1࣌ؒ͢͜ͱ͋ΔΜͩΖ͏͔
What's new with ConstraintLayoutand Android Studio design tools• ConstraintLayout 2.0ͷ৽ػೳͷհ
Paging with RecyclerView• AACʹ৽ͨʹՃ͞ΕͨPaging Libraryͷհ• RoomRetrofitͱΈ߹ΘͤΔํ๏ͳͲ
Enjoy Google I/O