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
Android Development in 2019. #devFestDakar
Search
Souleymane Sidibe
December 14, 2019
Programming
0
110
Android Development in 2019. #devFestDakar
It's all about the tools we can use to build better android apps.
Souleymane Sidibe
December 14, 2019
Tweet
Share
More Decks by Souleymane Sidibe
See All by Souleymane Sidibe
Android new UI ToolKit: Jetpack Compose
soulesidibe
0
150
Code sharing with Kotlin multi-platform
soulesidibe
0
89
Android App Bundle
soulesidibe
0
67
Proguard: The open source optimizer for Java bytecode
soulesidibe
2
96
Kotlin why you should consider using it
soulesidibe
0
89
Les AsyncTasks
soulesidibe
0
56
Lightning talk : La trousse du développeur android
soulesidibe
0
58
Other Decks in Programming
See All in Programming
モバイルアプリからWebへの横展開を加速した話_Claude_Code_実践術.pdf
kazuyasakamoto
0
330
go test -json そして testing.T.Attr / Kyoto.go #63
utgwkk
3
310
はじめてのMaterial3 Expressive
ym223
2
770
AIを活用し、今後に備えるための技術知識 / Basic Knowledge to Utilize AI
kishida
22
5.8k
AIでLINEスタンプを作ってみた
eycjur
1
230
Navigating Dependency Injection with Metro
zacsweers
3
990
時間軸から考えるTerraformを使う理由と留意点
fufuhu
16
4.8k
@Environment(\.keyPath)那么好我不允许你们不知道! / atEnvironment keyPath is so good and you should know it!
lovee
0
120
Design Foundational Data Engineering Observability
sucitw
3
200
さようなら Date。 ようこそTemporal! 3年間先行利用して得られた知見の共有
8beeeaaat
3
1.5k
MCPとデザインシステムに立脚したデザインと実装の融合
yukukotani
4
1.4k
奥深くて厄介な「改行」と仲良くなる20分
oguemon
1
540
Featured
See All Featured
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
15
1.7k
Faster Mobile Websites
deanohume
309
31k
Code Reviewing Like a Champion
maltzj
525
40k
Navigating Team Friction
lara
189
15k
Designing for humans not robots
tammielis
253
25k
Rebuilding a faster, lazier Slack
samanthasiow
83
9.2k
The Cult of Friendly URLs
andyhume
79
6.6k
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
The Cost Of JavaScript in 2023
addyosmani
53
8.9k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
126
53k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
34
6k
Designing Experiences People Love
moore
142
24k
Transcript
About me •Souleymane Sidibé •Kotlin/Android dev •Android developer CoinAfrique •Developer
of KobiriApp •@soulesidibe
Android development in 2019 @soulesidibe 2
The purpose of this talk
The purpose of this talk • The tools • How
we build android apps • Is it worth it to build native apps • ⤴ Flutter, Ionic, React native ⤴ = native apps
Numbers
Numbers • Android 1.0 (Relese date 2008) • Android 2.3
(Relese date 2011) Gingerbread • Android 10 (2019) Source: Statcounter
Numbers • 76% of the Mobile Operating system market share.
Worldwide • 83% of Africa Market share • 90% of Senegal Market share • 40% of OS market share behind Windows. Source: Statcounter
Numbers • The most popular OS in Africa • The
most accessible OS (cheap phones) • An open OS • Millions of apps available
Build an android App
Basic tools
Build an android App Compatible with Java Great Tooling Null
Safety Easy to learn Coroutines Java is not dead yet Type inference
Build an android App
Build an android App
Build an android App
Build an android App Android App Bundle Dynamic Feature Instant
App Play Console Internal Test
And so many more…
Architecture A style and method of design and construction.
Architecture • Onboarding new devs is easier • Focus on
the feature not on the plumbing • The team speak the same language • Write testable code • Team size: 1+
Architecture • Old Android (XML Activity) • MVP (Model View
Presenter) • MVVM (Model View ViewModel)
Google Opinion
Testing
Test • FOR ME • UI Testing is mandatory •
Unit testing is good • 100% coverage means nothing
Test • Unit Testing(Junit, Mockito, etc) • UI Testing (Espresso,
Robolectric) • Firebase Test Lab
Wrap up
Wrap up • Native android development is stable • Still
evolving • Huge community(Conferences, open source, libraries) • At scale, “native is best”
Alternatives
Alternatives • React Native(js) • Ionic(js) • Flutter(dart)
Pros • One code base/one team • Well known web
technologies • Easy to find talented devs
Cons • One code base but 2 targets • Javascript
• Some native features not available for both android and IOS
Conclusion • Android for life! • But Flutter is really
great • Learn both!
Thanks!