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
130
Poniendo Kotlin en producción a palos
tuenti
0
110
Culture Matters
tuenti
1
190
Defensive Programming & Resilient systems in Real World (TM)
tuenti
1
1.6k
Testing Express: 0 to 100 in 30 slides
tuenti
5
390
How .Tuenti develops tech products
tuenti
0
85
Microservices and Testing, talking from the experience
tuenti
2
160
Love your tests
tuenti
0
1.2k
Experiences with Microservices at Tuenti
tuenti
0
270
Other Decks in Technology
See All in Technology
RALGO : AIを組織に組み込む方法 -アルゴリズム中心組織設計- #RSGT2026 / RALGO: How to Integrate AI into an Organization – Algorithm-Centric Organizational Design
kyonmm
PRO
3
1.2k
SES向け、生成AI時代におけるエンジニアリングとセキュリティ
longbowxxx
0
320
「アウトプット脳からユーザー価値脳へ」がそんなに簡単にできたら苦労しない #RSGT2026
aki_iinuma
11
5.1k
旬のブリと旬の技術で楽しむ AI エージェント設計開発レシピ
chack411
1
250
ファインディにおけるフロントエンド技術選定の歴史
puku0x
2
1.5k
AWSと生成AIで学ぶ!実行計画の読み解き方とSQLチューニングの実践
yakumo
2
450
困ったCSVファイルの話
mottyzzz
0
220
さくらのクラウドでのシークレット管理を考える/tamachi.sre#2
fujiwara3
1
100
#22 CA × atmaCup 3rd 1st Place Solution
yumizu
1
170
Introduction to Sansan Meishi Maker Development Engineer
sansan33
PRO
0
330
善意の活動は、なぜ続かなくなるのか ーふりかえりが"構造を変える判断"になった半年間ー
matsukurou
0
470
Everything As Code
yosuke_ai
0
510
Featured
See All Featured
Raft: Consensus for Rubyists
vanstee
141
7.3k
Reality Check: Gamification 10 Years Later
codingconduct
0
2k
What the history of the web can teach us about the future of AI
inesmontani
PRO
0
400
Building Adaptive Systems
keathley
44
2.9k
Breaking role norms: Why Content Design is so much more than writing copy - Taylor Woolridge
uxyall
0
130
Have SEOs Ruined the Internet? - User Awareness of SEO in 2025
akashhashmi
0
240
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
The Art of Programming - Codeland 2020
erikaheidi
57
14k
We Are The Robots
honzajavorek
0
130
Game over? The fight for quality and originality in the time of robots
wayneb77
1
78
GraphQLの誤解/rethinking-graphql
sonatard
74
11k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.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