Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
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
790
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
58
Getting Started with the Micronaut Framework Brighton Kotlin user group
sdelamo
0
140
Micronaut Turbo - Return of the Monolith
sdelamo
0
470
ApacheCon 2020 Micronaut + Groovy
sdelamo
0
360
Taming your browser with Geb
sdelamo
0
75
What's new in Grails 4
sdelamo
0
1.9k
GR8EU 2019 - Micronaut Security
sdelamo
0
380
What’s new with Grails 4
sdelamo
2
330
Test de aceptación con Geb - Commit Conf 2018
sdelamo
0
140
Other Decks in Programming
See All in Programming
Content Security Policy入門 セキュリティ設定と 違反レポートのはじめ方 / Introduction to Content Security Policy Getting Started with Security Configuration and Violation Reporting
uskey512
1
480
Ethereum_.pdf
nekomatu
0
370
3rd party scriptでもReactを使いたい! Preact + Reactのハイブリッド開発
righttouch
PRO
1
590
JavaでLチカしたい! / JJUG CCC 2024 Fall LT
nhayato
0
110
ActiveSupport::Notifications supporting instrumentation of Rails apps with OpenTelemetry
ymtdzzz
1
180
讓數據說話:用 Python、Prometheus 和 Grafana 講故事
eddie
0
390
Dev ContainersとGitHub Codespacesの素敵な関係
ymd65536
1
140
광고 소재 심사 과정에 AI를 도입하여 광고 서비스 생산성 향상시키기
kakao
PRO
0
160
Hotwire or React? ~アフタートーク・本編に含めなかった話~ / Hotwire or React? after talk
harunatsujita
1
110
Boost Performance and Developer Productivity with Jakarta EE 11
ivargrimstad
0
1.5k
Pinia Colada が実現するスマートな非同期処理
naokihaba
4
200
A Journey of Contribution and Collaboration in Open Source
ivargrimstad
0
430
Featured
See All Featured
Designing for Performance
lara
604
68k
It's Worth the Effort
3n
183
27k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
26
1.4k
Documentation Writing (for coders)
carmenintech
65
4.4k
Building Flexible Design Systems
yeseniaperezcruz
327
38k
YesSQL, Process and Tooling at Scale
rocio
168
14k
How to Ace a Technical Interview
jacobian
276
23k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
7
560
The Straight Up "How To Draw Better" Workshop
denniskardys
232
140k
The World Runs on Bad Software
bkeepers
PRO
65
11k
[RailsConf 2023] Rails as a piece of cake
palkan
51
4.9k
Keith and Marios Guide to Fast Websites
keithpitt
409
22k
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
?