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
Forgetting Android
Search
Tuenti
December 10, 2013
Technology
3
1.1k
Forgetting Android
Cómo preparar la arquitectura de tu aplicación para que Android no sea nada más que una plataforma
Tuenti
December 10, 2013
Tweet
Share
More Decks by Tuenti
See All by Tuenti
Creating a culture of learning at Tuenti
tuenti
1
82
Poniendo Kotlin en producción a palos
tuenti
0
80
Culture Matters
tuenti
1
160
Defensive Programming & Resilient systems in Real World (TM)
tuenti
1
1.4k
Testing Express: 0 to 100 in 30 slides
tuenti
5
330
How .Tuenti develops tech products
tuenti
0
67
Microservices and Testing, talking from the experience
tuenti
2
140
Love your tests
tuenti
0
1.2k
Experiences with Microservices at Tuenti
tuenti
0
210
Other Decks in Technology
See All in Technology
適材適所の技術選定 〜GraphQL・REST API・tRPC〜 / Optimal Technology Selection
kakehashi
1
160
OCI Security サービス 概要
oracle4engineer
PRO
0
6.5k
OCI 運用監視サービス 概要
oracle4engineer
PRO
0
4.8k
社内で最大の技術的負債のリファクタリングに取り組んだお話し
kidooonn
1
550
[CV勉強会@関東 ECCV2024 読み会] オンラインマッピング x トラッキング MapTracker: Tracking with Strided Memory Fusion for Consistent Vector HD Mapping (Chen+, ECCV24)
abemii
0
220
ISUCONに強くなるかもしれない日々の過ごしかた/Findy ISUCON 2024-11-14
fujiwara3
8
870
サイバーセキュリティと認知バイアス:対策の隙を埋める心理学的アプローチ
shumei_ito
0
380
AWS Lambdaと歩んだ“サーバーレス”と今後 #lambda_10years
yoshidashingo
1
170
Amazon CloudWatch Network Monitor のススメ
yuki_ink
1
200
DMARC 対応の話 - MIXI CTO オフィスアワー #04
bbqallstars
1
160
Can We Measure Developer Productivity?
ewolff
1
150
いざ、BSC討伐の旅
nikinusu
2
780
Featured
See All Featured
Large-scale JavaScript Application Architecture
addyosmani
510
110k
Designing on Purpose - Digital PM Summit 2013
jponch
115
7k
How GitHub (no longer) Works
holman
310
140k
The Language of Interfaces
destraynor
154
24k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
Fashionably flexible responsive web design (full day workshop)
malarkey
405
65k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
126
18k
The Power of CSS Pseudo Elements
geoffreycrofte
73
5.3k
Embracing the Ebb and Flow
colly
84
4.5k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
6
410
Being A Developer After 40
akosma
86
590k
BBQ
matthewcrist
85
9.3k
Transcript
Forgetting Android Jorge J. Barroso Tech Lead Android Core
[email protected]
@flipper83 jueves, 12 de diciembre de 13
jueves, 12 de diciembre de 13
Any fool can write code that a computer can understand.
Good programmers write code that humans can understand. Martin Fowler jueves, 12 de diciembre de 13
1 Solid jueves, 12 de diciembre de 13
Single responsibility principle Open/closed principle Liskov substitution principle Interface segregation
principle Dependency inversion principle jueves, 12 de diciembre de 13
Clean Architecture 2 jueves, 12 de diciembre de 13
A good architecture allows you to defer framework decisions. A
good architecture allows frameworks to act as plugins to the app. Robert Martin “The database is a detail, a hardware detail. We would not use one at all if all our data could fit in memory for ever” jueves, 12 de diciembre de 13
UI External Interfaces Db Push Network Storage Interfaces Interfaces Business
Model Interactors Interactors jueves, 12 de diciembre de 13
UI Layer UI Layer UI Data Model Data Mapper Boundary
Interactor Bussines Data Model Data Storage Test Storage Data Mapper Data Mapper Storage Data Model Test Data Model jueves, 12 de diciembre de 13
FeedViewModel FeedBoundary FeedListFragment FeedProvider GetFeed GetFeedImp List<Hipster> User DataSource Net
UserDataSource LikeDataSource Like DataSource Parse API UserApi API Retrofit api Parse api jueves, 12 de diciembre de 13
Conclusion 3 http://www.flickr.com/photos/inf3ktion/ jueves, 12 de diciembre de 13
Good Layer Responsabilites jueves, 12 de diciembre de 13
Easy to test and mock jueves, 12 de diciembre de
13
Easy to add or modify code jueves, 12 de diciembre
de 13
Easy to hide implementations: Dagger jueves, 12 de diciembre de
13
Easy to find smells jueves, 12 de diciembre de 13
Async code: RxJava jueves, 12 de diciembre de 13
Duplicate data model : Automaper jueves, 12 de diciembre de
13
Change your mind jueves, 12 de diciembre de 13
http://jobs.tuenti.com
[email protected]
@flipper83 jueves, 12 de diciembre de 13