Upgrade to Pro — share decks privately, control downloads, hide ads and more …

How to create a Conference Android app with Groovy and Wordpress?

How to create a Conference Android app with Groovy and Wordpress?

Talk at GR8Conf EU 2016

30995fcc876f40073628b63ea5cfab59?s=128

Sergio del Amo

June 03, 2016
Tweet

Transcript

  1. HOW TO CREATE A CONFERENCE ANDROID APP WITH GROOVY AND

    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. GR8CONFAGENDA GOOGLEPLAY

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

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

  7. AUDIENCE BACKGROUND ▸ WORDPRESS AFICIONADO? ▸ WORDPRESS DEVELOPERS? ▸ ANDROID

    DEVELOPERS? ▸ GROOVY DEVELOPERS?
  8. SMALL ( < 20 EMPLOYEES ) MEDIUM-BIG ( > 20

    EMPLOYEES )
  9. WHY?

  10. IS IT POSSIBLE TO HIRE GROOVY DEVELOPERS FOR A START-UP?

  11. None
  12. None
  13. SHOPTIMIX PROFILE?

  14. IS GROOVY TOO NICHE?

  15. TEXT

  16. TEXT

  17. None
  18. None
  19. TEXT

  20. DOES GROOVY NEED TO BE IN THE TOP 10?

  21. GROOVY CAN BE ANDROID’ SWIFT

  22. WORDPRESS

  23. WHY WORDPRESS?

  24. None
  25. POWERS 25% OF ALL SITES ACROSS THE WEB WORDPRESS SOURCE

    W3TECHS
  26. CHEAP HOSTING

  27. PRODUCT IS USER FRIENDLY

  28. PRODUCT IS FLEXIBLE

  29. LOTS OF PLUGINS!

  30. HOW TO CREATE A CONFERENCE APP POWERED BY WORPRESS?

  31. None
  32. None
  33. CUSTOM POST TYPES ▸ CONGRESS ▸ SPEAKER ▸ TALK

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

  43. None
  44. ANDROID

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

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

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

    BotConf grooid_wpapi
  48. REFRESH ▸ BACKGROUND TASK TO DOWNLOAD JSON ▸ UPDATE LOCAL

    DATABASE ▸ NOTIFY UI OF CHANGES IN THE DATABASE AND DISPLAY CHANGES
  49. https://github.com/Arasthel/SwissKnife

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

  52. None
  53. None
  54. None
  55. None
  56. None
  57. 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
  58. None
  59. 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
  60. PAGINATION

  61. STRING INTERPOLATION

  62. JAVA GROOVY

  63. GROOVY WITH OPERATOR

  64. AgendaSessionTimeHeader <IAgendaSession> TalkCard <IAgendaSession> AgendaSessionTimeHeader <IAgendaSession> AgendaSessionTimeHeader <IAgendaSession> TalkCard <IAgendaSession>

    TalkCard <IAgendaSession> TalkCard <IAgendaSession>
  65. None
  66. CHRONOLOGICAL ORDER REVERSE CHRONOLOGICAL ORDER 12 Dec 2014 11 Dec

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

  69. None
  70. JAVA GROOVY

  71. SHARED PREFERENCES

  72. TRAITS

  73. None
  74. MAIN ACTIVITY TALK ACTIVITY

  75. None
  76. None
  77. ASTS HTTPS://GITHUB.COM/MARIOGARCIA/MGUG-ANDROID

  78. FROM:

  79. TO:

  80. CHALLENGES

  81. 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
  82. ANDROID STUDIO SUPPORT

  83. CALL TO ACTION

  84. WORK IN PROGRESS ▸ GROOID_WPAPI (https://github.com/sdelamo/grooid-wpapi) ▸ BOTCONF (https://github.com/sdelamo/botconf)

  85. CODE ANDROID PROJECTS ON GROOVY

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

    links about the Groovy Ecosystem
  87. ?