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
Opinionated Android
Search
Javier Gamarra
November 21, 2014
Programming
0
130
Opinionated Android
Charla sobre buenas prácticas de Android realizada en la Codemotion 2014.
Javier Gamarra
November 21, 2014
Tweet
Share
More Decks by Javier Gamarra
See All by Javier Gamarra
2000 katas later @cylicon
nhpatt
0
110
2000 katas later @CAS15
nhpatt
0
97
Métricas: lo bueno, lo feo y lo malo
nhpatt
0
240
Working Effectively with Legacy Code
nhpatt
0
410
Performance myths in android
nhpatt
2
280
How *not* to design an SDK
nhpatt
0
48
Angular2 @SC Toledo
nhpatt
0
57
Cambiar una empresa con juegos ágiles
nhpatt
0
250
RxJava in practice
nhpatt
1
330
Other Decks in Programming
See All in Programming
AI Agent Tool のためのバックエンドアーキテクチャを考える #encraft
izumin5210
6
1.8k
AIによるイベントストーミング図からのコード生成 / AI-powered code generation from Event Storming diagrams
nrslib
2
1.9k
なぜSQLはAIぽく見えるのか/why does SQL look AI like
florets1
0
450
AI Schema Enrichment for your Oracle AI Database
thatjeffsmith
0
250
Smart Handoff/Pickup ガイド - Claude Code セッション管理
yukiigarashi
0
130
CSC307 Lecture 07
javiergs
PRO
0
550
MUSUBIXとは
nahisaho
0
130
「ブロックテーマでは再現できない」は本当か?
inc2734
0
880
Lambda のコードストレージ容量に気をつけましょう
tattwan718
0
110
AI巻き込み型コードレビューのススメ
nealle
1
150
AI時代の認知負荷との向き合い方
optfit
0
150
Vibe Coding - AI 驅動的軟體開發
mickyp100
0
170
Featured
See All Featured
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
287
14k
GitHub's CSS Performance
jonrohan
1032
470k
Rebuilding a faster, lazier Slack
samanthasiow
85
9.4k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
254
22k
AI: The stuff that nobody shows you
jnunemaker
PRO
2
250
Being A Developer After 40
akosma
91
590k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
The Anti-SEO Checklist Checklist. Pubcon Cyber Week
ryanjones
0
55
GraphQLの誤解/rethinking-graphql
sonatard
74
11k
YesSQL, Process and Tooling at Scale
rocio
174
15k
New Earth Scene 8
popppiees
1
1.5k
A designer walks into a library…
pauljervisheath
210
24k
Transcript
MADRID · NOV 21-22 · 2014 Opinionated Android Javier Gamarra
@nhpatt
MADRID · NOV 21-22 · 2014 ¿Quién? Javier Gamarra /
@nhpatt Tech Lead, @agilecyl, android/java/javascript
MADRID · NOV 21-22 · 2014 ¿Por qué? • Para
los novatos • Para los cómodos • Por dar una opinión (IMHO)
MADRID · NOV 21-22 · 2014 IDE Android Studio
MADRID · NOV 21-22 · 2014 Build tool Gradle.
MADRID · NOV 21-22 · 2014 Build tool
MADRID · NOV 21-22 · 2014 Código Java bien escrito:
Findbugs Checkstyle PMD/CPD Ignorad los field naming conventions del core de Android
MADRID · NOV 21-22 · 2014 Código • Clean Code
• SOLID
MADRID · NOV 21-22 · 2014 Buenas prácticas de Android
Usad Android Lint Huid de clases Application
MADRID · NOV 21-22 · 2014 Arquitectura No es un
juego de niños Pero hay buenas propuestas: • Clean Architecture • Arquitectura Hexagonal
MADRID · NOV 21-22 · 2014 Y en UI Separad
concerns! • MVP • MVP/MVVM Incluso podéis plantearos si usar fragments
MADRID · NOV 21-22 · 2014 Librerías Hay unas pocas
librerías… Con muchas recomendaciones... Pero algunas imprescindibles
MADRID · NOV 21-22 · 2014 Inyección de dependencias •
Usaréis alguna librería de inyección de dependencias, no?
MADRID · NOV 21-22 · 2014 Inyección de dependencias •
Roboguice • Dagger (+ButterKnife)
MADRID · NOV 21-22 · 2014 Buenas prácticas de Android
Ignorad el título de las guías “Avoid dependency injection frameworks“ Usad Proguard (vale, hay problemas)
MADRID · NOV 21-22 · 2014 APIs REST • Async
Tasks
MADRID · NOV 21-22 · 2014 APIs REST • Volley
• Retrofit
MADRID · NOV 21-22 · 2014 APIs REST public interface
GitHubService { @GET("/users/{user}/repos") List<Repo> listRepos(@Path("user") String user); } vs StringRequest stringRequest = new StringRequest(Request.Method.GET, url, new Response.Listener() { … }
MADRID · NOV 21-22 · 2014 Carga de imágenes •
Universal Image Loader • Picasso
MADRID · NOV 21-22 · 2014 Jake Wharton! https://github.com/JakeWharton/u2020 •
Dagger • ButterKnife • Retrofit • Picasso • OkHttp • RxJava • Timber • Madge • Scalpel • Hugo • StaggeredGrid • SDK Manager Plugin
MADRID · NOV 21-22 · 2014 BD? • SQL •
SQL con content providers?
MADRID · NOV 21-22 · 2014 BD? • ORMLite •
SugarORM • GreenDAO • ADAFramework • ActiveAndroid ORMLite / SugarORM
MADRID · NOV 21-22 · 2014 Comunicación entre servicios... Es
un dolor comunicar información entre servicios, actividades, async tasks… Bus de eventos al rescate!
MADRID · NOV 21-22 · 2014 Comunicación EventBus Otto
MADRID · NOV 21-22 · 2014 Comunicación eventBus.post(new AnyEventType(42)); eventBus.register(this);
public void onEvent(AnyEventType event) {...}; vs eventBus.post(new AnyEventType(42)); @Subscribe public void eventAvailable(AnyEventType event) {}
MADRID · NOV 21-22 · 2014 Keep an eye on
• Reactive programming en Android con RxJava • Echadle un ojo
MADRID · NOV 21-22 · 2014 Keep an eye on
RxJava(+[RxAndroid]) + Retrofit = Bliss eventAPI.login(). flatMap(status -> api.getUserStatus()). subscribe(onComplete, onError); api.login(new Callback<ResponseBody>() { @Override public void success(...) { api.getUserStatus(new Callback<UserStatus>() { @Override public void success() {
MADRID · NOV 21-22 · 2014 Testing TESTEAD!
MADRID · NOV 21-22 · 2014 Testing Escuchad a este
tío, en serio.
MADRID · NOV 21-22 · 2014 Testing JUnit + •
JMock • PowerMock • Mockito
MADRID · NOV 21-22 · 2014 Testing Robolectric + Espresso
Robotium/Calabash Appium
MADRID · NOV 21-22 · 2014 Testing Cómo siempre, echadle
un ojo a Square • Spoon • AssertJ Jenkins, plz.
MADRID · NOV 21-22 · 2014 Pls, Android guys Soporte
para Java 8? Mientras tanto tendremos que vivir con retrolambda
MADRID · NOV 21-22 · 2014 Brace yourselves Otros lenguajes!
• Kotlin?
MADRID · NOV 21-22 · 2014 Madrid? Soy nuevo en
Madrid Hay un meetup de Xamarin Dónde está nuestro meetup?
MADRID · NOV 21-22 · 2014 Preocupate por mejorar
MADRID · NOV 21-22 · 2014 ¿Qué leer/escuchar? Weekly Newsletter
Android Developers Backstage
MADRID · NOV 21-22 · 2014 ¿A quién seguir? -
world • Jake Wharton • Cyril Mottier • Mark Murphy • Romain Guy • Reto Meier
MADRID · NOV 21-22 · 2014 ¿A quién seguir? -
local • flipper83 • pedro_g_s • akelael • fernando_cejas
MADRID · NOV 21-22 · 2014 Libros The Busy Coder's
Guide to Android Development
MADRID · NOV 21-22 · 2014 Links • vogella •
buenas prácticas de futurice • muchas charlas!
MADRID · NOV 21-22 · 2014 Feedback tinyurl.com/codemotionandroid
MADRID · NOV 21-22 · 2014 ¿Dudas o preguntas?
MADRID · NOV 21-22 · 2014 Opinionated Android Javier Gamarra
@nhpatt