Successfully reported this slideshow.
Your SlideShare is downloading. ×

Opinionated android

Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Loading in …3
×

Check these out next

1 of 44 Ad

Opinionated android

Download to read offline

Charla sobre buenas prácticas de Android realizada en la Codemotion 2014.

Puedes seguirme en twitter en @nhpatt

Charla sobre buenas prácticas de Android realizada en la Codemotion 2014.

Puedes seguirme en twitter en @nhpatt

Advertisement
Advertisement

More Related Content

Advertisement
Advertisement

Opinionated android

  1. 1. MADRID · NOV 21-22 · 2014 Opinionated Android Javier Gamarra @nhpatt
  2. 2. MADRID · NOV 21-22 · 2014 ¿Quién? Javier Gamarra / @nhpatt Tech Lead, @agilecyl, android/java/javascript
  3. 3. MADRID · NOV 21-22 · 2014 ¿Por qué? ● Para los novatos ● Para los cómodos ● Por dar una opinión (IMHO)
  4. 4. MADRID · NOV 21-22 · 2014 IDE Android Studio
  5. 5. MADRID · NOV 21-22 · 2014 Build tool Gradle.
  6. 6. MADRID · NOV 21-22 · 2014 Build tool
  7. 7. MADRID · NOV 21-22 · 2014 Código Java bien escrito: Findbugs Checkstyle PMD/CPD Ignorad los field naming conventions del core de Android
  8. 8. MADRID · NOV 21-22 · 2014 Código ● Clean Code ● SOLID
  9. 9. Buenas prácticas de Android Usad Android Lint MADRID · NOV 21-22 · 2014 Huid de clases Application
  10. 10. MADRID · NOV 21-22 · 2014 Arquitectura No es un juego de niños Pero hay buenas propuestas: ● Clean Architecture ● Arquitectura Hexagonal
  11. 11. MADRID · NOV 21-22 · 2014 Y en UI Separad concerns! ● MVP ● MVP/MVVM Incluso podéis plantearos si usar fragments
  12. 12. MADRID · NOV 21-22 · 2014 Librerías Hay unas pocas librerías… Con muchas recomendaciones... Pero algunas imprescindibles
  13. 13. Inyección de dependencias ● Usaréis alguna librería de inyección de dependencias, no? MADRID · NOV 21-22 · 2014
  14. 14. MADRID · NOV 21-22 · 2014 Inyección de dependencias ● Roboguice ● Dagger (+ButterKnife)
  15. 15. 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
  16. 16. MADRID · NOV 21-22 · 2014 APIs REST ● Async Tasks
  17. 17. MADRID · NOV 21-22 · 2014 APIs REST ● Volley ● Retrofit
  18. 18. 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() { … }
  19. 19. MADRID · NOV 21-22 · 2014 Carga de imágenes ● Universal Image Loader ● Picasso
  20. 20. 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
  21. 21. MADRID · NOV 21-22 · 2014 BD? ● SQL ● SQL con content providers?
  22. 22. MADRID · NOV 21-22 · 2014 BD? ● ORMLite ● SugarORM ● GreenDAO ● ADAFramework ● ActiveAndroid ORMLite / SugarORM
  23. 23. Comunicación entre servicios... Es un dolor comunicar información entre servicios, actividades, async tasks… MADRID · NOV 21-22 · 2014 Bus de eventos al rescate!
  24. 24. MADRID · NOV 21-22 · 2014 Comunicación EventBus Otto
  25. 25. 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) {}
  26. 26. Keep an eye on ● Reactive programming en Android con RxJava MADRID · NOV 21-22 · 2014 ● Echadle un ojo
  27. 27. Keep an eye on RxJava(+[RxAndroid]) + Retrofit = Bliss MADRID · NOV 21-22 · 2014 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() {
  28. 28. MADRID · NOV 21-22 · 2014 Testing TESTEAD!
  29. 29. MADRID · NOV 21-22 · 2014 Testing Escuchad a este tío, en serio.
  30. 30. MADRID · NOV 21-22 · 2014 Testing JUnit + ● JMock ● PowerMock ● Mockito
  31. 31. MADRID · NOV 21-22 · 2014 Testing Robolectric + Espresso Robotium/Calabash Appium
  32. 32. Testing Cómo siempre, echadle un ojo a Square ● Spoon ● AssertJ MADRID · NOV 21-22 · 2014 Jenkins, plz.
  33. 33. MADRID · NOV 21-22 · 2014 Pls, Android guys Soporte para Java 8? Mientras tanto tendremos que vivir con retrolambda
  34. 34. MADRID · NOV 21-22 · 2014 Brace yourselves Otros lenguajes! ● Kotlin?
  35. 35. MADRID · NOV 21-22 · 2014 Madrid? Soy nuevo en Madrid Hay un meetup de Xamarin Dónde está nuestro meetup?
  36. 36. MADRID · NOV 21-22 · 2014 Preocupate por mejorar
  37. 37. MADRID · NOV 21-22 · 2014 ¿Qué leer/escuchar? Weekly Newsletter Android Developers Backstage
  38. 38. MADRID · NOV 21-22 · 2014 ¿A quién seguir? - world ● Jake Wharton ● Cyril Mottier ● Mark Murphy ● Romain Guy ● Reto Meier
  39. 39. MADRID · NOV 21-22 · 2014 ¿A quién seguir? - local ● flipper83 ● pedro_g_s ● akelael ● fernando_cejas
  40. 40. Libros The Busy Coder's Guide to Android Development MADRID · NOV 21-22 · 2014
  41. 41. MADRID · NOV 21-22 · 2014 Links ● vogella ● buenas prácticas de futurice ● muchas charlas!
  42. 42. MADRID · NOV 21-22 · 2014 Feedback tinyurl.com/codemotionandroid
  43. 43. ¿Dudas o preguntas? MADRID · NOV 21-22 · 2014
  44. 44. MADRID · NOV 21-22 · 2014 Opinionated Android Javier Gamarra @nhpatt

×