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
96
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
140
Code sharing with Kotlin multi-platform
soulesidibe
0
78
Android App Bundle
soulesidibe
0
49
Proguard: The open source optimizer for Java bytecode
soulesidibe
2
83
Kotlin why you should consider using it
soulesidibe
0
82
Les AsyncTasks
soulesidibe
0
49
Lightning talk : La trousse du développeur android
soulesidibe
0
46
Other Decks in Programming
See All in Programming
Architecture Decision Record (ADR)
nearme_tech
PRO
1
690
サーバーレスで負荷試験!Step Functions + Lambdaを使ったk6の分散実行
shuntakahashi
6
1.6k
長期運用プロダクトの開発速度を維持し続けるためのリファクタリング実践例
wataruss
8
2.7k
React + TextAliveでカッコいいLyric Applicatioinを作ろう!!
tosuri13
0
400
Crafting Cross-Platform Adventures: Building a Game Engine with Kotlin Multiplatform
dwursteisen
0
120
はじめてみよう量子プログラミング
itokoichi01
0
210
Findy - エンジニア向け会社紹介 / Findy Letter for Engineers
findyinc
4
90k
Lessons by WebAssembly app in production on CDN Edge Computing Service
tetsuharuohzeki
0
210
Perl 5 OOP機構30年史 - Perl 5's OOP Mechanism over the past 30 years
moznion
0
320
Swiftコードバトル必勝法
toshi0383
0
170
Google Sign-inの移行から始めるCredential Manager活用
clockvoid
0
310
A New Era of Testing
mannodermaus
2
510
Featured
See All Featured
Keith and Marios Guide to Fast Websites
keithpitt
408
22k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
29
2.6k
Automating Front-end Workflow
addyosmani
1365
200k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
43
2k
What's in a price? How to price your products and services
michaelherold
242
11k
Bootstrapping a Software Product
garrettdimon
PRO
304
110k
Designing with Data
zakiwarfel
98
5k
Into the Great Unknown - MozCon
thekraken
29
1.4k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
230
17k
The MySQL Ecosystem @ GitHub 2015
samlambert
250
12k
Reflections from 52 weeks, 52 projects
jeffersonlam
346
20k
Building Better People: How to give real-time feedback that sticks.
wjessup
359
19k
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!