Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up for free
How to create a conference Android app with Groovy and Wordpress?
Sergio del Amo
March 19, 2016
Programming
0
470
How to create a conference Android app with Groovy and Wordpress?
Sergio del Amo
March 19, 2016
Tweet
Share
More Decks by Sergio del Amo
See All by Sergio del Amo
ApacheCon 2020 Micronaut + Groovy
sdelamo
0
210
Taming your browser with Geb
sdelamo
0
30
What's new in Grails 4
sdelamo
0
1.6k
GR8EU 2019 - Micronaut Security
sdelamo
0
220
What’s new with Grails 4
sdelamo
2
240
Test de aceptación con Geb - Commit Conf 2018
sdelamo
0
40
Mapping a Tree with GORM and Grails
sdelamo
0
1.1k
tvOS app development using TVMLKit and Grails
sdelamo
0
220
Grails Multi-Project Builds - Multitenancy
sdelamo
0
290
Other Decks in Programming
See All in Programming
Let's make a contract: the art of designing a Java API
mariofusco
0
160
Microsoft Teams の 会議アプリ開発のはじめかた / How to start Microsoft Teams app development
karamem0
0
1.7k
偏見と妄想で語るスクリプト言語としての Swift / Swift as a Scripting Language
lovee
2
290
アプリのログをチーム外で活用してもらうためにやったこと
shotakashihara
0
190
Hapticをカスタマイズしてみよう / ZOZO Tech Talk #6 Customize Haptic
endoumari
0
360
Kotlin KSP - Intro
taehwandev
1
510
dbtとBigQueryで始めるData Vault入門
kazk1018
0
200
Micro Frontends with Module Federation: Beyond the Basics @jax2022
manfredsteyer
PRO
1
300
近況PHP / PHP in now a days
uzulla
4
1.9k
About Type Syntax Proposal
quramy
1
1.2k
不具合に立ち向かう テスト戦略 ~ NestJSで作るCI環境 ~
naoki_haba
0
120
Micro Frontends with Module Federation: Beyond the Basics @codecrafts2022
manfredsteyer
PRO
0
130
Featured
See All Featured
Navigating Team Friction
lara
175
11k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
224
49k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
268
11k
Testing 201, or: Great Expectations
jmmastey
21
5.4k
VelocityConf: Rendering Performance Case Studies
addyosmani
316
22k
Building a Scalable Design System with Sketch
lauravandoore
447
30k
Designing the Hi-DPI Web
ddemaree
272
32k
Reflections from 52 weeks, 52 projects
jeffersonlam
337
17k
The Illustrated Children's Guide to Kubernetes
chrisshort
14
35k
Making the Leap to Tech Lead
cromwellryan
113
6.9k
Build your cross-platform service in a week with App Engine
jlugia
219
17k
How GitHub Uses GitHub to Build GitHub
holman
465
280k
Transcript
HOW TO CREATE A CONFERENCE ANDROID APP WITH GROOVY AND
WORDPRESS?
SERGIO DEL AMO ME@SERGIODELAMO.COM @SDELAMO
IOS APP APP STORE
GR8CONFAGENDA GOOGLEPLAY
GROOVYCALAMARI.COM A “weekly” curated email newsletter full of interesting, relevant
links about the Groovy Ecosystem
AUDIENCE BACKGROUND ▸ WORDPRESS AFICIONADO? ▸ WORDPRESS DEVELOPERS? ▸ ANDROID
DEVELOPERS? ▸ GROOVY DEVELOPERS?
SMALL ( < 20 EMPLOYEES ) MEDIUM-BIG ( > 20
EMPLOYEES )
WHY?
IS IT POSSIBLE TO HIRE GROOVY DEVELOPERS FOR A START-UP?
None
None
SHOPTIMIX PROFILE?
IS GROOVY TOO NICHE?
TEXT
TEXT
None
None
TEXT
DOES GROOVY NEED TO BE IN THE TOP 10?
GROOVY CAN BE ANDROID’ SWIFT
WORDPRESS
WHY WORDPRESS?
None
POWERS 25% OF ALL SITES ACROSS THE WEB WORDPRESS SOURCE
W3TECHS
CHEAP HOSTING
PRODUCT IS USER FRIENDLY
PRODUCT IS FLEXIBLE
LOTS OF PLUGINS!
HOW TO CREATE A CONFERENCE APP POWERED BY WORPRESS?
None
None
CUSTOM POST TYPES ▸ CONGRESS ▸ SPEAKER ▸ TALK
None
None
None
None
None
None
None
None
HTTP://EXAMPLE.COM/WP-JSON/POSTS?TYPE=TALK
None
ANDROID
https://github.com/groovy/groovy-android-gradle-plugin
http://mariogarcia.github.io/grooid-templates/
SQLite ENTITIES grooid_wpapi Activities Fragments Adapters USE CASES INTERFACE ADAPTERS
BotConf grooid_wpapi
REFRESH ▸ BACKGROUND TASK TO DOWNLOAD JSON ▸ UPDATE LOCAL
DATABASE ▸ NOTIFY UI OF CHANGES IN THE DATABASE AND DISPLAY CHANGES
https://github.com/Arasthel/SwissKnife
None
GROOID_WPAPI ▸ https://github.com/sdelamo/grooid-wpapi
None
None
None
None
None
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
None
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
PAGINATION
STRING INTERPOLATION
JAVA GROOVY
GROOVY WITH OPERATOR
AgendaSessionTimeHeader <IAgendaSession> TalkCard <IAgendaSession> AgendaSessionTimeHeader <IAgendaSession> AgendaSessionTimeHeader <IAgendaSession> TalkCard <IAgendaSession>
TalkCard <IAgendaSession> TalkCard <IAgendaSession>
None
CHRONOLOGICAL ORDER REVERSE CHRONOLOGICAL ORDER 12 Dec 2014 11 Dec
2014 13 Dec 2013 12 Dec 2013 14 Dec 2015 15 Dec 2015
None
SPOCK ON ANDROID ▸ https://github.com/pieces029/android-spock
None
JAVA GROOVY
SHARED PREFERENCES
TRAITS
None
MAIN ACTIVITY TALK ACTIVITY
None
None
CHALLENGES
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
ANDROID STUDIO SUPPORT
CALL TO ACTION
WORK IN PROGRESS ▸ GROOID_WPAPI (https://github.com/sdelamo/grooid-wpapi) ▸ BOTCONF (https://github.com/sdelamo/botconf)
CODE ANDROID PROJECTS ON GROOVY
GROOVYCALAMARI.COM A “weekly” curated email newsletter full of interesting, relevant
links about the Groovy Ecosystem
https://play.google.com/store/apps/details?id=com.botconf.ggx
?