Construye un app con Groovy en Android que consume un API JSON generado en con Wordpress

Construye un app con Groovy en Android que consume un API JSON generado en con Wordpress

Charla ofrecida en el grupo de usuarios de Groovy MadridGUG. En estas transparencias se explica como configurar una api JSON con Wordpress y como consumirlo mediante una librería Android escrita en Groovy. Así mismo se muestran las ventajas de programar en Android con Groovy.

30995fcc876f40073628b63ea5cfab59?s=128

Sergio del Amo

June 14, 2016
Tweet

Transcript

  1. CONSTRUYE UN APP CON GROOVY EN ANDROID Y CONSUME UN

    API JSON DE WORDPRESS
  2. SERGIO DEL AMO ME@SERGIODELAMO.COM @SDELAMO

  3. GROOVYCALAMARI.COM A “weekly” curated email newsletter full of interesting, relevant

    links about the Groovy Ecosystem
  4. https://play.google.com/store/apps/details?id=com.botconf.ggx

  5. https://play.google.com/store/apps/details?id=com.botconf.greach

  6. ASISTENTES ▸ USUARIO WORDPRESS? ▸ PROGRAMADOR WORDPRESS? ▸ PROGRAMADOR ANDROID?

    ▸ PROGRAMADOR GROOVY?
  7. PEQUEÑA ( < 20 EMPLEADOS ) MEDIANA-GRANDE ( > 20

    EMPLEADOS )
  8. PORQUE?

  9. ¿ES POSIBLE CONTRATAR PROGRAMADORES GROOVY PARA UNA STARTUP?

  10. None
  11. None
  12. PERFIL SHOPTIMIX?

  13. IS GROOVY TOO NICHE?

  14. TEXT

  15. TEXT

  16. None
  17. None
  18. TEXT

  19. ¿NECESITA GROOVY ESTAR EN EL TOP 10?

  20. GROOVY PODRÍA SER EL SWIFT DE ANDROID

  21. WORDPRESS

  22. ¿PORQUE WORDPRESS?

  23. None
  24. EL 25% DE TODAS LAS WEB SE EJECUTAN EN WORDPRESS

    SOURCE W3TECHS
  25. ALOJAMIENTO BARATO

  26. FÁCIL DE USAR

  27. PRODUCTO FLEXIBLE

  28. MUCHOS PLUGINS!

  29. ¿CÓMO CREAR EL APP DE (UNA CONFERENCIA) CON UN BACKEND

    DE WORPRESS?
  30. None
  31. None
  32. CUSTOM POST TYPES ▸ CONGRESS ▸ SPEAKER ▸ TALK

  33. None
  34. None
  35. None
  36. None
  37. None
  38. None
  39. None
  40. None
  41. HTTP://EXAMPLE.COM/WP-JSON/POSTS?TYPE=TALK

  42. None
  43. ANDROID

  44. https://github.com/groovy/groovy-android-gradle-plugin

  45. http://mariogarcia.github.io/grooid-templates/ https://github.com/rvanderwerf/grooid-templates

  46. SQLite ENTITIES grooid_wpapi Activities Fragments Adapters USE CASES INTERFACE ADAPTERS

    BotConf grooid_wpapi
  47. REFRESCO ▸ TAREA EN SEGUNDO PLANO PARA DESCARGAR EL JSON

    ▸ ACTUALIZAR BASE DE DATOS LOCAL ▸ NOTIFICAR UI DE CAMBIOS EN LA BASE DE DATOS Y ACTUALIZAR LA INTERFAZ
  48. https://github.com/Arasthel/SwissKnife

  49. None
  50. GROOID_WPAPI ▸ https://github.com/sdelamo/grooid-wpapi

  51. None
  52. None
  53. None
  54. ADAPTER PATTERN ▸ CONVERTS THE INTERFACE OF A CLASS INTO

    ANOTHER INTERFACE THE CLIENTS EXPECT. ADAPTERS LETS CLASSES WORK TOGETHER THAT COULDN’T OTHERWISE BECAUSE OF INCOMPATIBLE INTERFACES SOURCE HEAD FIRST PATTERNS
  55. None
  56. GROOID_WPAPI void loadConferenceData { List<IConference> conferences, List<ISpeaker> speakers, List<ITalk> talks

    -> } JSON PAYLOAD void fetchAllPosts(String url, String type, Closure customFields) { List<WPAPIPost> posts -> } SpeakerWPAPIPostAdapter SpeakeTalkWPAPIPostAdapter class RemoteRepositoryUseCase implements IRemoteRepository
  57. PAGINATION

  58. STRING INTERPOLATION

  59. JAVA GROOVY

  60. GROOVY WITH OPERATOR

  61. AgendaSessionTimeHeader <IAgendaSession> TalkCard <IAgendaSession> AgendaSessionTimeHeader <IAgendaSession> AgendaSessionTimeHeader <IAgendaSession> TalkCard <IAgendaSession>

    TalkCard <IAgendaSession> TalkCard <IAgendaSession>
  62. None
  63. CHRONOLOGICAL ORDER REVERSE CHRONOLOGICAL ORDER 12 Dec 2014 11 Dec

    2014 13 Dec 2013 12 Dec 2013 14 Dec 2015 15 Dec 2015
  64. None
  65. SPOCK ON ANDROID ▸ https://github.com/pieces029/android-spock

  66. None
  67. JAVA GROOVY

  68. SHARED PREFERENCES

  69. TRAITS

  70. None
  71. MAIN ACTIVITY TALK ACTIVITY

  72. None
  73. None
  74. ASTS HTTPS://GITHUB.COM/MARIOGARCIA/MGUG-ANDROID

  75. FROM:

  76. TO:

  77. CHALLENGES

  78. MULTI-DEX IS A NIGHTMARE ▸ Android 64k method limit METHOD

    COUNT COMPARISION 0 7500 15000 22500 30000 OKHTTP IO.FABRIC GSON RETROFIT GROOVY ANDROID SOURCE: HTTPS://GITHUB.COM/GROOVY/GROOVY-ANDROID-GRADLE-PLUGIN/ISSUES/65
  79. ANDROID STUDIO SUPPORT

  80. CALL TO ACTION

  81. YO: ▸ GROOID_WPAPI (https://github.com/sdelamo/grooid-wpapi) ▸ BOTCONF (https://github.com/sdelamo/botconf)

  82. PROGRAMA ANDROID APPS CON GROOVY TU:

  83. GROOVYCALAMARI.COM A “weekly” curated email newsletter full of interesting, relevant

    links about the Groovy Ecosystem
  84. ?