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
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
La modularisation dans le développement Android
Search
Yves Kalume
January 13, 2022
Programming
22
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
La modularisation dans le développement Android
Yves Kalume
January 13, 2022
More Decks by Yves Kalume
See All by Yves Kalume
Bringing AI to Android With Gemini
yveskalume
0
18
Dompting the Elephant: Making Sense of Gradle for Android Developers
yveskalume
0
51
Practical AI for Android Developers with Android Studio’s AI Agent
yveskalume
0
49
Designing scalable Compose APIs
yveskalume
1
160
Demystifying Memory Leaks in Android
yveskalume
2
150
L’essentiel de Git et Github en max 20 minutes
yveskalume
1
63
Traitement des annotations en Kotlin
yveskalume
1
43
Modern Android Architecture
yveskalume
1
110
GDSC Alumni retour d’experience
yveskalume
0
35
Other Decks in Programming
See All in Programming
個人開発基盤をまるごとCloudflareに引っ越して爆速で総合的体験を向上させた話
tinykitten
0
130
Can LLMs Replicate 4 Years of Compose Migration? Exploring the boundaries of automation with 279 XML files from a real product
makun
0
130
ハーネス設計入門 〜プロンプト、コンテキストの次〜
kinopeee
55
36k
From 6 People Classroom Meetup to 100 People Regional Conference / FOSS4G Hiroshima 2026
furukawayasuto
0
120
一参加者から『中の人』へ 〜全通PHPerがブースに立って学んだ、カンファレンスを100倍楽しむコツ〜
wp_daisuke
0
130
typoなんかねぇよ
raspython3
0
670
Vibes Containers 〜AIで変わるコンテナ設計と運用〜
tkikuc
3
510
コンパウンドプロダクト開発のためのローカルプロセスマネージャー再発明 #layerxgo
izumin5210
0
660
Seeing Through Serverless: Observability for AWS Lambda with ADOT and CloudWatch Application Signals
seike460
PRO
1
130
PHPプロジェクトの結合バランスを可視化する #php_night
kajitack
0
230
GraphRAGのKnowledge Graphを 直接!見る/View-GraphRAG's-KnowledgeGraph-directly!
tyumugi1113
0
250
AI に Inclusive UI を書かせよう — Design Rules Skill で Compose UI を作り直す
theoriatec2024
1
460
Featured
See All Featured
GraphQLの誤解/rethinking-graphql
sonatard
75
12k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
2.1k
Why Mistakes Are the Best Teachers: Turning Failure into a Pathway for Growth
auna
0
260
Fashionably flexible responsive web design (full day workshop)
malarkey
408
67k
How Software Deployment tools have changed in the past 20 years
geshan
1
34k
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
123
22k
Winning Ecommerce Organic Search in an AI Era - #searchnstuff2025
aleyda
1
2.1k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.8k
B2B Lead Gen: Tactics, Traps & Triumph
marketingsoph
0
230
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
128
56k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1.5k
Transcript
La modularisation dans le développement Android Yves Kalume Lead, GDSC
Esisalama Lubumbashi
Modularisation,quid ?
App -> manifest -> Java -> src -> data ->
ui -> home -> HomeActivity.kt -> HomeViewModel.kt ... -> res -> layout -> activity_home.xml -> activity_search.xml -> item_content.xml
“It is not enough for code to work.” - Uncle
Bob
None
:app
Modulariser Décomposer une grosse application en modules, qui peuvent être
développés et améliorés indépendamment
App -> java ... -> HomeActivity -> HomeViewModel -> res
-> layout -> activity_home.xml -> ... Search -> java ... -> SeachActivity -> SearchViewModel -> res -> layout -> activity_search.xml -> ... plugins { id 'com.android.application' … } dependencies { implementation project(":search") … } plugins { id 'com.android.library' … }
Avantages
Maintenable et Scalable
:module1 :module2 :module3
Speed up build
App module1 App module2 module3
Testable & Reusable
App module1 App module2 module3
Dynamic delivery (feature module)
App :fonctionnalité A :fonctionnalité B :premium
Bonnes pratiques
Layer modularization UseCases,Enitity (RepositoryInterface) Repositories,DataSources,DTO Views,ViewModels
Gestion des dépendances • implementation Vs api • Dettes techniques
moduleA moduleB implementation project(":moduleA") implementation("com.lorem.lib:1.0") api("com.lorem.lib:1.0") • Dependances circulaire moduleA moduleB X Module1 build.gradle Module2 build.gradle Module3 build.gradle
Modularisation,quand ?
Maintenant ! Mais calmons nos ardeurs 👀
Merci !