giuffrida

50
WordPress: da blogging system ad application framework Relatore Lorenzo Giuffrida Roma - 13/14 Giugno 2015

Upload: yithemes

Post on 06-Aug-2015

22 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: Giuffrida

WordPress: da blogging system ad application framework

RelatoreLorenzo Giuffrida

Roma - 13/14 Giugno 2015

Page 2: Giuffrida

logiuffrida lorenzogiuffrida [email protected]

Website: www.lorenzogiuffrida.it

MI PRESENTOweb developer @Yithemes

Page 3: Giuffrida

DIFFUSIONE DI WORDPRESSQuanti siti web sono costruiti usando WordPress?

Page 4: Giuffrida

MARKET SHAREQuasi 1 sito online su 4

(poco più del 23%) è costruito con WordPress

Page 5: Giuffrida

MARKET SHARE CMS

Page 6: Giuffrida

CHANGELOG 0.70

WordPress nasce come blog system

Page 7: Giuffrida

WordPress è un blog system

WordPress è un CMS

CHANGELOG 3.0

Page 8: Giuffrida

CHANGELOG 4.3+WordPress è un CMS

““ The future of WordPress

is in social, mobile, and as an application platform.

Matt Mullenweg State of Word 2013

Page 9: Giuffrida

DEFINIZIONE DI APPLICATION PLATFORMUn middleware per velocizzare lo sviluppo di un’applicazione.

Page 10: Giuffrida

STANDARD WEB APPQuali funzionalità devo implementare

“ogni volta” che sviluppo un nuovo progetto?

Page 11: Giuffrida

USER MANAGEMENTGestione di utenti, ruoli, permessi.

Page 12: Giuffrida

WOOCOMMERCE È LA SCELTA MIGLIORE!

La sua grande diffusione e la flessibilità che lo caratterizzano hanno permesso lo sviluppo di un numero di plugin e temi tale da renderlo adatto a praticamente ogni progetto.

LOCALIZATIONIn un mercato globale bisogna offrire accesso a una vasta platea di potenziali clienti.

Page 13: Giuffrida

MEDIA MANAGEMENTUna web app moderna fornisce interazione utente.Non solo testo, sempre più immagini, video.

Page 14: Giuffrida

FRONT END & BACK ENDGli utenti finali interagiscono con l’app tramite la User Interface.

Page 15: Giuffrida

SPEEDLa velocità di fruizione è il primo parametro con cui l’utente giudica la validità di una web app.

Page 16: Giuffrida

IL TEMPO È DENARO•Non reinventare la ruota

•Focus sul core della web app

Page 17: Giuffrida

PERCHÉ SCEGLIERE UNA APPLICATION PLATFORM•Per la disponibilità di librerie, addon,

script di terze parti

•Aggiornamenti costanti

•Sample code, guide e community di user/developer

Page 18: Giuffrida

WORDPRESS OUT OF THE BOX•User management

•Media upload and management

•Template engine (front end)

•User friendly, customizable back end

Page 19: Giuffrida

WORDPRESS DATABASE•Database schema

•Custom post type

•C.R.U.D. API

Page 20: Giuffrida

WORDPRESS APICore API (shortcode, widget, HTTP, settings, …)

Page 21: Giuffrida

WORDPRESS FOR WEB SERVICESXML-RPC APIWP REST API (WP API)

Page 22: Giuffrida

REST•Representational State Transfer•Definisce solo delle linee guida

Page 23: Giuffrida

IDENTIFICAZIONE DELLE RISORSE

Ciascuna risorsa deve essere identificata univocamente

URI è il metodo naturale al quale siamo già abituati

Esempi :

•http://www.example.com/orders

•http://www.example.com/orders/2011

•http://www.example.com/orders?status=pending

Page 24: Giuffrida

UTILIZZO ESPLICITO DEI METODI HTTP

Accedere alle risorse usando solo metodi HTTP :

•GET

•POST

•PUT

•DELETE

Page 25: Giuffrida

RISORSE AUTODESCRITTIVE• I principi REST non pongono alcun vincolo sulle modalità

di rappresentazione di una risorsa.

•Opportuno usare uno standard adeguato (JSON; XML).

•Rappresentazioni multiple, il client chiederà il formato appropriato.

Page 26: Giuffrida

COLLEGAMENTI TRA RISORSE

Eventuali collegamenti tra risorse devono essere esplicitate nella rappresentazione della risorsa stessa.

Page 27: Giuffrida

COMUNICAZIONE SENZA STATO• Il risultato di una richiesta non

dipende dalle precedenti richieste.

•Scalabilità: cluster di server che possono rispondere alle richieste.

Page 28: Giuffrida

WP REST API (WP API)•REST API via HTTP

•JSON

•Espone post, pagine, commenti, custom post types..

Page 29: Giuffrida

WP REST API HTTP VERBS•GET www.example.com/wp-json/posts

•GET www.example.com/wp-json/posts?filter[s]=pretty

•POST www.example.com/wp-json/posts/4

Page 30: Giuffrida

JSON RESULT

Page 31: Giuffrida

WORDPRESS FOR MOBILE APPS•Oltre PHP

•Back end per app native

•Front end come opzione

•Migliore esperienza mobile

•JavaScript trend

Page 32: Giuffrida

WORDPRESS EXTENSIBILITYMVC pattern vs Plugin API

Page 33: Giuffrida

MVC PATTERN

USER

MODEL

CONTROLLERVIEW

UPDATES MANIPULATER

USESSEES

Page 34: Giuffrida

PLUGIN API

Page 35: Giuffrida

ACTION

Page 36: Giuffrida

FILTER

Page 37: Giuffrida

PLUGINPLUGIN FREE SU WORDPRESS.ORG

PLUGIN PREMIUM SUI MARKETPLACE32.000 3.500

Page 38: Giuffrida

ESEMPI•WPML

•YOAST

•Gravity Forms

•Visual Composer

•W3 Total Cache

Page 39: Giuffrida

COME SCRIVO CODICE PER WORDPRESS?

•WordPress è open source

•WordPress è PHP, JavaScript, CSS

Page 40: Giuffrida

COSA SERVE PER FAR GIRARE UN’APPLICAZIONE SU WORDPRESS?

•Apache, Nginx, IIS.

•Windows, Linux.

•MySQL.

Page 41: Giuffrida

APPLICAZIONI E PLUGIN•Che tipo di applicazioni è

possibile costruire?

•Fin dove posso personalizzare WordPress con un plugin?

Page 42: Giuffrida

E-COMMERCE•WP E-commerce•WooCommerce

Page 43: Giuffrida

FORUM•BBPress

Page 44: Giuffrida

SOCIAL NETWORK•BuddyPress

Page 45: Giuffrida

ALTRI ESEMPI•s2Member

•Booking system Pro

•Job boards

•e-learning/online courses

•Custom applications

Page 46: Giuffrida

PERCHÉ WORDPRESS?•Buona curva di apprendimento

•Back end user-friendly

•Diffusione della piattaforma

•Community

•Personalizzazione

•Redditività

Page 47: Giuffrida

E GLI ALTRI FRAMEWORK/PLATFORM?•Rails

• .NET

•Django

•Zend

•CakePHP

•Altri CMS

Page 48: Giuffrida

NON È LA SCELTA MIGLIORE...•Per applicazioni non content-driven.

•Applicazioni real-time.

•Quando un’altra tecnologia/framework porta al risultato più velocemente.

Page 49: Giuffrida

DOMANDE & RISPOSTE

Page 50: Giuffrida

GRAZIE