app-ifiying wordpress: practical tips for using wordpress as an application platform

55
App-ifying WordPress: Practical Tips for Using WordPress as an Application Platform by Mandi Wise for WordCamp Vancouver 2014

Upload: mandi-wise

Post on 21-Aug-2015

735 views

Category:

Technology


3 download

TRANSCRIPT

Page 1: App-ifiying WordPress: Practical Tips for Using WordPress as an Application Platform

App-ifying WordPress: Practical Tips for

Using WordPress as an Application Platform

by Mandi Wise for WordCamp Vancouver 2014

Page 2: App-ifiying WordPress: Practical Tips for Using WordPress as an Application Platform

WP as an AP WTF?

Page 5: App-ifiying WordPress: Practical Tips for Using WordPress as an Application Platform

App vs. Website

Page 6: App-ifiying WordPress: Practical Tips for Using WordPress as an Application Platform

Tasks vs. Content

Photo Credit: JD Hancock

Page 7: App-ifiying WordPress: Practical Tips for Using WordPress as an Application Platform

Action-oriented vs. Information-oriented

Photo Credit: JD Hancock

Page 8: App-ifiying WordPress: Practical Tips for Using WordPress as an Application Platform

Creation vs. Consumption

Photo Credit: JD Hancock

Page 9: App-ifiying WordPress: Practical Tips for Using WordPress as an Application Platform

Many of us likely live here

App Site

Page 10: App-ifiying WordPress: Practical Tips for Using WordPress as an Application Platform

What Makes an App?

Page 11: App-ifiying WordPress: Practical Tips for Using WordPress as an Application Platform

Multi-Tier ArchitecturePresentation Tier

Application Tier

Database Tier

Page 12: App-ifiying WordPress: Practical Tips for Using WordPress as an Application Platform

Platform vs. Framework

Page 13: App-ifiying WordPress: Practical Tips for Using WordPress as an Application Platform

Why WordPress?Already known and loved.

Much of the work has been done for you.

Plenty of documentation and examples.

Page 14: App-ifiying WordPress: Practical Tips for Using WordPress as an Application Platform

But Should you?

Page 15: App-ifiying WordPress: Practical Tips for Using WordPress as an Application Platform

–Dr. Ian Malcolm

“Your scientists were so preoccupied with whether they could they didn’t stop to think if they should.”

Page 16: App-ifiying WordPress: Practical Tips for Using WordPress as an Application Platform

Who’s Already Doing It?

Page 17: App-ifiying WordPress: Practical Tips for Using WordPress as an Application Platform

PressBooksTurn WP Multisite into a self-hosted

writing/publishing app by installing the PressBooks theme.

Page 18: App-ifiying WordPress: Practical Tips for Using WordPress as an Application Platform
Page 19: App-ifiying WordPress: Practical Tips for Using WordPress as an Application Platform

HappytablesCreate, host, and manage a website for your restaurant using the Happytables

website builder.

Page 20: App-ifiying WordPress: Practical Tips for Using WordPress as an Application Platform
Page 21: App-ifiying WordPress: Practical Tips for Using WordPress as an Application Platform
Page 22: App-ifiying WordPress: Practical Tips for Using WordPress as an Application Platform

QuartzBackbone.js business up front, WordPress party in the back.

Page 23: App-ifiying WordPress: Practical Tips for Using WordPress as an Application Platform
Page 24: App-ifiying WordPress: Practical Tips for Using WordPress as an Application Platform

DMA FriendsAn app built with BadgeOS and a WordPress-

powered back-end to increase audience engagement at the Dallas Museum of Art.

Page 25: App-ifiying WordPress: Practical Tips for Using WordPress as an Application Platform
Page 26: App-ifiying WordPress: Practical Tips for Using WordPress as an Application Platform

AppPresserA plugin for creating native mobile apps by integrating PhoneGap with WordPress.

Page 27: App-ifiying WordPress: Practical Tips for Using WordPress as an Application Platform
Page 28: App-ifiying WordPress: Practical Tips for Using WordPress as an Application Platform

Different strokes for different folks.

Page 29: App-ifiying WordPress: Practical Tips for Using WordPress as an Application Platform

Your WordPress Toolbox

Page 30: App-ifiying WordPress: Practical Tips for Using WordPress as an Application Platform

Custom Post TypesThe world is your custom post type oyster.

Remember all the $args!

Page 31: App-ifiying WordPress: Practical Tips for Using WordPress as an Application Platform

Custom TaxonomiesA powerful way to filter, sort and connect

your post types and their posts.

Page 32: App-ifiying WordPress: Practical Tips for Using WordPress as an Application Platform

Metaboxes & SettingsAlmost inevitable you’ll end up using these…

Check out Custom Metaboxes and Fields on Github.

Page 33: App-ifiying WordPress: Practical Tips for Using WordPress as an Application Platform

User Roles, Caps & MetaKey to customizing and controlling user

permissions in your app.

Page 34: App-ifiying WordPress: Practical Tips for Using WordPress as an Application Platform

Admin ThemesThe WordPress admin area doesn’t have to look

like WordPress anymore.

Page 35: App-ifiying WordPress: Practical Tips for Using WordPress as an Application Platform

The DashboardThere’s a good chance you won’t want the default dashboard widgets in your app.

Page 36: App-ifiying WordPress: Practical Tips for Using WordPress as an Application Platform

TemplatingDrag and drop your way to templated bliss…

maybe.

Page 37: App-ifiying WordPress: Practical Tips for Using WordPress as an Application Platform

Don’t Forget!Multisite

BuddyPress

And all of these other things…

Page 38: App-ifiying WordPress: Practical Tips for Using WordPress as an Application Platform

HeartBeat API wp_mail, wp_Cron & wp_ajax

Custom Database Tables Posts 2 Posts Gravity Forms

eCommerce Plugins Membership Plugins (…You Get the Point)

Page 39: App-ifiying WordPress: Practical Tips for Using WordPress as an Application Platform

That all sounds great, but what’s still missing?

Page 40: App-ifiying WordPress: Practical Tips for Using WordPress as an Application Platform

Some APIs aren’t as user-friendly as they could be. I’m looking at you, Settings API.

Custom post statuses are only half-way there.

Customizing the 3.5+ media uploader can be tricky if you don’t have some Backbone chops.

Very real real-time limitations.

Some things don’t like to be messed with.

Page 41: App-ifiying WordPress: Practical Tips for Using WordPress as an Application Platform

Things to think about

Page 42: App-ifiying WordPress: Practical Tips for Using WordPress as an Application Platform

Theme or Plugin?

Page 43: App-ifiying WordPress: Practical Tips for Using WordPress as an Application Platform

Get Organized

Photo Credit: Pietro Bellini

Page 44: App-ifiying WordPress: Practical Tips for Using WordPress as an Application Platform

Protect Your Users

Photo Credit: JD Hancock

Take privacy protection seriously.

Look for easy backdoors.

SSL where it’s needed.

It’s 10pm. Do you know where your servers are?

Page 45: App-ifiying WordPress: Practical Tips for Using WordPress as an Application Platform

Protect Yourself(Because unlike these guys, you don’t have a time machine.)

Malware and brute force attacks.

Custom database prefixes.

Data validation, sanitization, and escaping.

Use nonces.

Prepare and escape your custom SQL queries.

Make back-ups. Then back-up your back-ups.

Page 46: App-ifiying WordPress: Practical Tips for Using WordPress as an Application Platform

Debug & test

Page 47: App-ifiying WordPress: Practical Tips for Using WordPress as an Application Platform

Will it scale?

Hosting that can grow with you.

Caching and transients.

LEMP (nginx) vs. typical LAMP stack.

Minify scripts and styles, optimize images.

Localize your text strings for translation.

Page 48: App-ifiying WordPress: Practical Tips for Using WordPress as an Application Platform

Extending & Maintaining

Borrowed from xkcd.com

Page 49: App-ifiying WordPress: Practical Tips for Using WordPress as an Application Platform

The Road Ahead...

Page 50: App-ifiying WordPress: Practical Tips for Using WordPress as an Application Platform

JSON REST APIPick your flavour: Jetpack or WP API (in 4.1 core)

Page 51: App-ifiying WordPress: Practical Tips for Using WordPress as an Application Platform

JavaScript, Javascript, JavascriptThe Media Uploader was only the beginning…

Page 52: App-ifiying WordPress: Practical Tips for Using WordPress as an Application Platform

More and More Front-EndDevelopment of a front-end editor for core is

well-underway at make.wordpress.org.

Page 53: App-ifiying WordPress: Practical Tips for Using WordPress as an Application Platform

Metadata UI API?Still very alpha, but exciting to stalk on

make.wordpress.org and Github!

Page 54: App-ifiying WordPress: Practical Tips for Using WordPress as an Application Platform

Finally, Some Resources:github.com/mandiwise/appifying-wp-resources

Page 55: App-ifiying WordPress: Practical Tips for Using WordPress as an Application Platform

Thanks On Twitter and Github: @mandiwise