Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Android Dev Summit 2018
Search
Zhanibek Marshal
November 30, 2018
Programming
63
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Android Dev Summit 2018
Review of Android Dev Summit 2018, which held on 7-8 November.
Zhanibek Marshal
November 30, 2018
More Decks by Zhanibek Marshal
See All by Zhanibek Marshal
Your Design System Has Two Codebases. Let's Fix That.
johnmars
0
35
Maestro: Reliable E2E testing made easy
johnmars
0
37
Maestro - UI testing framework
johnmars
1
380
Design System Driven Android Development: A Guide to Automation Tools
johnmars
1
180
Jetpack Compose Navigation
johnmars
1
180
Как в 21 году стать Android разработчиком
johnmars
0
110
По чесноку о бизнесе или зачем нам нужен domain layer
johnmars
0
160
Google I/O 19 - Extended at Kolesa Group
johnmars
0
86
Улучшаем жизнь Android разработчика с Kotlin Coroutines и ViewModel
johnmars
1
190
Other Decks in Programming
See All in Programming
AIで開発が速くなった先で、開発チームは何を目指すか
shihochan
1
1.7k
JAWS-UG 東京支部が始める、JAWS-UG支部コラボ / JAWS-UG lunchtime LT Collaboration
y0hgi
0
300
AWS CDKのカスタムリソースでContinuum(旧Security Agent)を実装した話 | Implementing Continuum (formerly Security Agent) via AWS CDK Custom Resource
akihisaikeda
2
160
設計次第でAIコードの読む量は減らせる / designing-for-code-reading
minodriven
35
17k
dotNET_vulnclicker_intro.pdf
deka_morita
0
150
コーディング自動化の次へ。人の介入をゼロにするファクトリーとサポートAIによる実践
timakin
5
4.3k
最近”作らせてる” ローカルAIアプリの話
akit37
0
490
Vue Fes Japan の “作る側”に関わってみて
naokihaba
1
180
golang-bob.pdf
iwatsukayura
0
130
phperだってパンチカードでコーディングしたい
o0h
PRO
0
390
graphql-ruby を Spinel で速くしようとした話
mtsmfm
0
110
sbt 2.0: takeoff
eed3si9n
0
170
Featured
See All Featured
End of SEO as We Know It (SMX Advanced Version)
ipullrank
3
4.4k
Marketing Yourself as an Engineer | Alaka | Gurzu
gurzu
0
330
Tell your own story through comics
letsgokoyo
1
1.1k
Navigating the Design Leadership Dip - Product Design Week Design Leaders+ Conference 2024
apolaine
2
480
Leading Effective Engineering Teams in the AI Era
addyosmani
9
2.8k
Unlocking the hidden potential of vector embeddings in international SEO
frankvandijk
0
1k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.9k
Java REST API Framework Comparison - PWX 2021
mraible
34
9.8k
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
1.5k
Designing for Timeless Needs
cassininazir
1
530
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.7k
The AI Search Optimization Roadmap by Aleyda Solis
aleyda
2
6.3k
Transcript
Android Dev Summit Janibek Marshal 7-8 November 2018
Istanbul → New York → San Francisco
42 hours of flight. 8 sessions + 1 mini talk.
Over 1000 Android Developers.
Keynote History and Future of Android Development
Celebrating 10 years of Android
Get your app ready for foldable phones
To Machine Learning First Shifting from Mobile First
Smartphones are getting Smarter with ML
Android is Everywhere
Safety and Wellbeing
Android Developer Experience Architect Code Reach
Security
None
80% of top 1,000 apps use new Android Jetpack libraries
*we also
Android Slices
Jetpack: Navigation
Build Speed What’s affecting build speed overall: • Expanding code
bases • Custom plug-ins • Annotation processors • New languages • Number of modules
USB 3 enhances deployment Especially on Android P
Chromebook With Android Studio
Android App Bundle • Reducing size of application • Have
to store release key on Google Play • Enables new cool features Kolesa 45.7%
None
None
Dynamic Feature Module • Install and Uninstall features on demand
• Defer install in the background BASE Kaspi Shop Retush etc
Application updates
Application updates
Instant App Is deprecated Replaced by Google Play Instant
Google Play Instant • Limit raised to 10MB • URL
is optional • Supported automatically with Android App Bundle
Responsible for: 1. Installing modules on demand 2. Managing modules
Single Activity
What’s Activity? How the Android Framework starts your UI and
controls its window positioning
Sharing data within an Activity
Make navigation great again What challenges appear when we have
multiple destinations? Update global UI as the current destination changes Navigating between destinations
None
Then why Fragment Once we enter to activity, system don't
care how you handle flow Fragment is easier to create graph
Navigation Testing Rule #1 Don’t test at destination level Extract
business logic out of your destination Write tests against a ViewModel Fragment Scenario
Don’t contort your App architecture Do what’s right for your
app
Lint Use it on Android Studio and with gradle Lint
option → base line = shows only new warnings Very useful tool to check your code
Android X testing ActivityScenario FragmentScenario getTargetContext - under testing getContext
- instrumentation WTF?! Merged as getApplicationContext()
User flow Reactivating user is important as users are updating
their phones every 2 years Use "smart Lock for password" And “Autofill”
Fun with LiveData
Map: X → Y SwitchMap: X → LiveData<Y> Transformation Mediator
LiveData - Add Source - Compute Result
You can group folders in cache I order to free
up together Use content uri instead of file uri - as file requires permission Discover with MediaStore class Storing Why it’s really hard to get simple image from gallery and camera
No sessions about Flutter
Nothing new, just reviewing Android Suspenders (Coroutines)
Sessions about View and Style Thanks to Chiu-Ki Chan
@chiuki
@chiuki
@chiuki
Android development in Google
Android development at Google 100+ Android App ~2B Lines of
code 20K Builds per day 27M Test runs per day
Developer workflow Changes get reviewed by peers Development at head
(Mono Repo) Testing is a requirement Large CI system 1 2 3 4
None
Project Nitrogen Instrumentation test на Android framework очень сложные Design
for any build system Build cross platform Build with extensibility in mind Single configuration
Nightmare to maintain
Unified solution
Running tests at scale with Nitrogen
None
None
Fireside chat And many more sessions