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
120
0
Share
Android Development in 2019. #devFestDakar
It's all about the tools we can use to build better android apps.
Souleymane Sidibe
December 14, 2019
More Decks by Souleymane Sidibe
See All by Souleymane Sidibe
Android new UI ToolKit: Jetpack Compose
soulesidibe
0
180
Code sharing with Kotlin multi-platform
soulesidibe
0
110
Android App Bundle
soulesidibe
0
95
Proguard: The open source optimizer for Java bytecode
soulesidibe
2
110
Kotlin why you should consider using it
soulesidibe
0
110
Les AsyncTasks
soulesidibe
0
69
Lightning talk : La trousse du développeur android
soulesidibe
0
67
Other Decks in Programming
See All in Programming
Inside Stream API
skrb
1
220
運用エージェントは "作る" から "育てる" へ - 記憶と自己進化の3層設計パターン / self-evolving-agents-three-layer-agent-design
gawa
12
3k
プロパティの順序で型推論が壊れる!? TypeScript6.0の修正からContext-Sensitivityの仕組みを追う
bicstone
2
1.1k
TypeScriptだけでAIエージェントを作る フロント・エージェント・インフラのフルスタック実践
har1101
6
1k
Migrations : C'est une question d'hygiène !
vinceamstoutz
0
2.2k
サーバーレスで作る、動画データ管理基盤
oyasumipants
0
280
生成AI時代にこそ効くGo | Why Go Works in the Age of Generative AI
mom0tomo
7
2.6k
ユニットテストの先へ:テスト技法で要求・仕様を整理するJava開発実践 / Beyond_Unit_Testing_Practical_Java_Development_Techniques_for_Organizing_Requirements_and_Specifications
shimashima35
0
240
AI駆動開発勉強会 広島支部 第一回勉強会 AI駆動開発概要とワークショップ
hayatoshimiu
0
390
Oxlintはいかにしてtsgolintのlint ruleを呼び出しているのか
syumai
2
600
TSKaigi 2026 TypeScriptバックエンドのオブザーバビリティ戦略 — Datadog × NestJSの実践
taiseiyamamotoan
1
200
Sans tests, vos agents ne sont pas fiables
nabondance
0
160
Featured
See All Featured
Lessons Learnt from Crawling 1000+ Websites
charlesmeaden
PRO
1
1.3k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.8k
16th Malabo Montpellier Forum Presentation
akademiya2063
PRO
0
130
Test your architecture with Archunit
thirion
1
2.2k
JAMstack: Web Apps at Ludicrous Speed - All Things Open 2022
reverentgeek
1
450
Imperfection Machines: The Place of Print at Facebook
scottboms
270
14k
HU Berlin: Industrial-Strength Natural Language Processing with spaCy and Prodigy
inesmontani
PRO
0
390
Thoughts on Productivity
jonyablonski
76
5.2k
State of Search Keynote: SEO is Dead Long Live SEO
ryanjones
0
200
We Are The Robots
honzajavorek
0
230
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
34
2.7k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.7k
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!