Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
WWW Platform - Modern Landscape
Search
Adrian Aguirre
October 20, 2014
51
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
WWW Platform - Modern Landscape
Adrian Aguirre
October 20, 2014
More Decks by Adrian Aguirre
See All by Adrian Aguirre
WWW Platform - Legacy Landscape
adrianaguirre
0
50
Featured
See All Featured
Side Projects
sachag
456
43k
What's in a price? How to price your products and services
michaelherold
247
13k
First, design no harm
axbom
PRO
2
1.3k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.9k
A designer walks into a library…
pauljervisheath
211
25k
The Spectacular Lies of Maps
axbom
PRO
1
1.1k
How to optimise 3,500 product descriptions for ecommerce in one day using ChatGPT
katarinadahlin
PRO
3
3.9k
Navigating Weather and Climate Data
rabernat
0
560
Java REST API Framework Comparison - PWX 2021
mraible
34
9.8k
RailsConf 2023
tenderlove
30
1.6k
Automating Front-end Workflow
addyosmani
1369
210k
Discover your Explorer Soul
emna__ayadi
2
1.3k
Transcript
WWW Platform _modern landscape
[ ingredients ]
[ wp-multisite ]....
letʼs us manage multiple wordpress sites through one admin network.
video - create subsite
giveʼs LifeLock teams the ability to manage their own page
creation.
video - create page from template
giveʼs LifeLock teams the ability to manage their own page
content.
video - manage page content floodlight tags editable background images
editable text- tfn, cta, copy
giveʼs LifeLock teams the ability to manage press releases
video - manage press releases
giveʼs LifeLock teams the ability to manage upcoming events
video - manage upcoming events
WWW subsites / - Manage WWW /education - Manage ID101
/pr - Manage Press Releases
WWW Campaigning subsites /dm - Digital Marketing /offers - Partner
/rn - DM / Right Now
with every adventure, there comes some challenges
[challenge]
[optimization]
page speed
code redundancy
scalability
[ ingredients ] we need more
[ sass ] [ sass ]....
css files are getting larger.
more complex
harder to maintain
this is where [ sass] comes in..
[sass] letʼs us use features that don't exist in CSS
yet
variables, nesting, mixins, inheritance and others
video - sass globals: typography, extensions, sprites?
using pre-processed css enhances our ability to...
ACHIEVE OUR PERFORMANCE GOALS
to be optimal, we need to be modular.
the importance of modular architecture
helps with code convention, easier to leverage global elements
ships to QA/QE quicker. easier to debug
focuses on detail
mitigates regression
using sass, json, and html templating....
we can create reusable [modules]
[mySQL] a mutual relationship [ php] [json ]
get data faster?
several server calls [ ] mySQL] [ php
one call & cached?
this is where [ json & php] comes in..
[ php][ json]....
create a json controller
None
execute json using wp-api
wp-admin
[json ]
this is where { mustache } comes in..
{ mustache }....
Mustache? What?
Mustache is a simple logic-less template engine.
template : * {{ name }} * {{ age }}
* {{ company }} * {{{ company }}}
Use key => value to associate data to template
data : array( 'name' => "Chris", 'company' => '<b>GitHub</b>', );
output: * Chris * * <b>GitHub</b> * <b>GitHub</b>
only create a few html templates
data drives the view,
better performance
What does the final flow look like?
json_api_controllers curl json-api parse for mustache bind to mustache template
data defines pageview WordPress / mySQL browser render end-user content input < < < <