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
June 03, 2016
Technology
0
600
How to create a Conference Android app with Groovy and Wordpress?
Talk at GR8Conf EU 2016
Sergio del Amo
June 03, 2016
Tweet
Share
More Decks by Sergio del Amo
See All by Sergio del Amo
Getting Started with the Micronaut Framework
sdelamo
0
91
Getting Started with the Micronaut Framework Brighton Kotlin user group
sdelamo
0
150
Micronaut Turbo - Return of the Monolith
sdelamo
0
490
ApacheCon 2020 Micronaut + Groovy
sdelamo
0
390
Taming your browser with Geb
sdelamo
0
89
What's new in Grails 4
sdelamo
0
1.9k
GR8EU 2019 - Micronaut Security
sdelamo
0
410
What’s new with Grails 4
sdelamo
2
360
Test de aceptación con Geb - Commit Conf 2018
sdelamo
0
150
Other Decks in Technology
See All in Technology
KCD Brazil '25: Enabling Developers with Dapr & Backstage
salaboy
1
110
大規模プロジェクトにおける 品質管理の要点と実践 / 20250327 Suguru Ishii
shift_evolve
0
190
fukuoka.ts #3 社内でESLintの共通設定を配りたい2025年春版
pirosikick
1
270
Go製のマイグレーションツールの git-schemalex の紹介と運用方法
shinnosuke_kishida
1
330
Engineering Managementのグローバルトレンド #emoasis / Engineering Management Global Trend
kyonmm
PRO
6
910
【Oracle Cloud ウェビナー】VMware環境を短期間でクラウド化!ベネッセ様事例に学ぶ仮想環境クラウド移行のリアル
oracle4engineer
PRO
2
120
ルートユーザーの活用と管理を徹底的に深掘る
yuobayashi
5
630
ISUCONにPHPで挑み続けてできるようになっ(てき)たこと / phperkaigi2025
blue_goheimochi
0
120
LINE API Deep Dive Q1 2025: Unlocking New Possibilities
linedevth
1
140
これからクラウドエンジニアになるために本当に必要なスキル 5選
hiyanger
1
440
職種に名前が付く、ということ/The fact that a job title has a name
bitkey
1
200
ドメインイベントを活用したPHPコードのリファクタリング
kajitack
2
800
Featured
See All Featured
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
33
2.1k
Into the Great Unknown - MozCon
thekraken
35
1.7k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
14
1.1k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
16k
How STYLIGHT went responsive
nonsquared
99
5.4k
VelocityConf: Rendering Performance Case Studies
addyosmani
328
24k
Thoughts on Productivity
jonyablonski
69
4.5k
Optimising Largest Contentful Paint
csswizardry
34
3.1k
What's in a price? How to price your products and services
michaelherold
244
12k
Music & Morning Musume
bryan
46
6.4k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
34
2.9k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
49k
Transcript
HOW TO CREATE A CONFERENCE ANDROID APP WITH GROOVY AND
WORDPRESS?
SERGIO DEL AMO ME@SERGIODELAMO.COM @SDELAMO
GROOVYCALAMARI.COM A “weekly” curated email newsletter full of interesting, relevant
links about the Groovy Ecosystem
GR8CONFAGENDA GOOGLEPLAY
https://play.google.com/store/apps/details?id=com.botconf.ggx
https://play.google.com/store/apps/details?id=com.botconf.greach
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/ https://github.com/rvanderwerf/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
ASTS HTTPS://GITHUB.COM/MARIOGARCIA/MGUG-ANDROID
FROM:
TO:
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
?