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
110
Poniendo Kotlin en producción a palos
tuenti
0
95
Culture Matters
tuenti
1
170
Defensive Programming & Resilient systems in Real World (TM)
tuenti
1
1.4k
Testing Express: 0 to 100 in 30 slides
tuenti
5
360
How .Tuenti develops tech products
tuenti
0
74
Microservices and Testing, talking from the experience
tuenti
2
150
Love your tests
tuenti
0
1.2k
Experiences with Microservices at Tuenti
tuenti
0
240
Other Decks in Technology
See All in Technology
成立するElixirの再束縛(再代入)可という選択
kubell_hr
0
910
AWS CDK 実践的アプローチ N選 / aws-cdk-practical-approaches
gotok365
4
490
20250623 Findy Lunch LT Brown
3150
0
770
Workflows から Agents へ ~ 生成 AI アプリの成長過程とアプローチ~
belongadmin
3
170
(非公式) AWS Summit Japan と 海浜幕張 の歩き方 2025年版
coosuke
PRO
1
330
ユーザーのプロフィールデータを活用した推薦精度向上の取り組み
yudai00
0
480
Microsoft Build 2025 技術/製品動向 for Microsoft Startup Tech Community
torumakabe
1
200
IAMのマニアックな話 2025を執筆して、 見えてきたAWSアカウント管理の現在
nrinetcom
PRO
4
660
AIにどこまで任せる?実務で使える(かもしれない)AIエージェント設計の考え方
har1101
3
1.2k
JSX - 歴史を振り返り、⾯⽩がって、エモくなろう
pal4de
3
1.1k
AIの最新技術&テーマをつまんで紹介&フリートークするシリーズ #1 量子機械学習の入門
tkhresk
0
130
DenoとJSRで実現する最速MCPサーバー開発記 / Building MCP Servers at Lightning Speed with Deno and JSR
yamanoku
1
280
Featured
See All Featured
Optimising Largest Contentful Paint
csswizardry
37
3.3k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.4k
Designing for humans not robots
tammielis
253
25k
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
The World Runs on Bad Software
bkeepers
PRO
69
11k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
29
9.5k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
Git: the NoSQL Database
bkeepers
PRO
430
65k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
331
22k
Facilitating Awesome Meetings
lara
54
6.4k
YesSQL, Process and Tooling at Scale
rocio
173
14k
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