$30 off During Our Annual Pro Sale. View Details »
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
How to create a conference Android app with Gro...
Search
Sergio del Amo
March 19, 2016
Programming
0
880
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
Getting Started with the Micronaut Framework
sdelamo
0
140
Getting Started with the Micronaut Framework Brighton Kotlin user group
sdelamo
0
180
Micronaut Turbo - Return of the Monolith
sdelamo
0
530
ApacheCon 2020 Micronaut + Groovy
sdelamo
0
420
Taming your browser with Geb
sdelamo
0
110
What's new in Grails 4
sdelamo
0
2k
GR8EU 2019 - Micronaut Security
sdelamo
0
450
What’s new with Grails 4
sdelamo
2
400
Test de aceptación con Geb - Commit Conf 2018
sdelamo
0
160
Other Decks in Programming
See All in Programming
バックエンドエンジニアによる Amebaブログ K8s 基盤への CronJobの導入・運用経験
sunabig
0
160
【CA.ai #3】Google ADKを活用したAI Agent開発と運用知見
harappa80
0
310
ID管理機能開発の裏側 高速にSaaS連携を実現したチームのAI活用編
atzzcokek
0
230
これだけで丸わかり!LangChain v1.0 アップデートまとめ
os1ma
6
1.8k
30分でDoctrineの仕組みと使い方を完全にマスターする / phpconkagawa 2025 Doctrine
ttskch
4
870
C-Shared Buildで突破するAI Agent バックテストの壁
po3rin
0
390
チームをチームにするEM
hitode909
0
330
LLMで複雑な検索条件アセットから脱却する!! 生成的検索インタフェースの設計論
po3rin
3
730
DSPy Meetup Tokyo #1 - はじめてのDSPy
masahiro_nishimi
1
170
React Native New Architecture 移行実践報告
taminif
1
150
JETLS.jl ─ A New Language Server for Julia
abap34
1
400
AI時代を生き抜く 新卒エンジニアの生きる道
coconala_engineer
1
120
Featured
See All Featured
4 Signs Your Business is Dying
shpigford
186
22k
Learning to Love Humans: Emotional Interface Design
aarron
274
41k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
32
2.7k
Testing 201, or: Great Expectations
jmmastey
46
7.8k
A Tale of Four Properties
chriscoyier
162
23k
How to Think Like a Performance Engineer
csswizardry
28
2.4k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
231
22k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.3k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
Rails Girls Zürich Keynote
gr2m
95
14k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.2k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1.1k
Transcript
HOW TO CREATE A CONFERENCE ANDROID APP WITH GROOVY AND
WORDPRESS?
SERGIO DEL AMO
[email protected]
@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
?