SlideShare una empresa de Scribd logo
1 de 27
Descargar para leer sin conexión
WordPress
como back-end
de nuestras
apps
@jaimefere jaimefere.es
2
<?php
Jaime Fernández
Desarrollador apps nativas en iOS con
Swift y en Android con Java / Kotlin.
Como freelance desde 2015.
@jaimefere en Twitter.
WordPress como back-end de nuestras apps jaimefere.es
Apartados
3
1
D
etonante
2
W
ordPress
com
o
servidor
3
¿M
obile
Backend
as
a
Service?
4
Ejem
plo
de
app,Tw
hilo
WordPress como back-end de nuestras apps jaimefere.es
1.
Detonante
WordPress como back-end de nuestras apps jaimefere.es
Servicios cloud
5
WordPress como back-end de nuestras apps jaimefere.es
Feria del Empleo
en la Era Digital
WordPress como back-end de nuestras apps jaimefere.es
6
App para acercar a candidatos y
empresas accediendo a los perfiles
registrados en un formulario del
WordPress.
2.
WordPress
como servidor
WordPress como back-end de nuestras apps jaimefere.es
7
↔ ↔
Mejorando prácticas
functions.php
Las credenciales de la
base de datos no salen
del servidor pero los
cambios en el tema
afectan a las apps.
child-themes
Los cambios en el tema
no afectan a las apps
pero un cambio de tema
sí.
plugins
Trabaja de forma
independiente al tema y
se puede activar /
desactivar.
8
WordPress como back-end de nuestras apps jaimefere.es
WordPress
REST API
Entró en el core de WordPress en
enero de 2017.
9
WordPress como back-end de nuestras apps jaimefere.es
API: Interfaz de Programación
de Aplicaciones
WordPress como back-end de nuestras apps jaimefere.es
10
↔ ↔
Conjunto de subrutinas, funciones,
métodos y procedimientos que ofrece
cierta biblioteca para ser utilizado por otro
software como una capa de abstracción.
{"name":"Feria del Empleo FEED","description":"Empleo en la Era
Digital","url":"http://feriadelempleo.es","home":"https://feriad
elempleo.es","gmt_offset":"0","timezone_string":"","namespaces":["oe
mbed/1.0","2fa/v1","wordfence/v1","tests/v5","feed/v5","wp/v2"
],"authentication":[],"routes":{"/":{"namespace":"","methods":["GET
"],"endpoints":[{"methods":["GET"],"args":{"context":{"required":fal
se,"default":"view"}}}],"_links":{"self":"https://feriadelempleo.e
s/wp-json/"}},"/oembed/1.0":{"namespace":"oembed/1.0","methods"
:["GET"],"endpoints":[{"methods":["GET"],"args":{"namespace":{"requi
red":false,"default":"oembed/1.0"},"context":{"required":false,"def
ault":"view"}}}],"_links":{"self":"https://feriadelempleo.es/wp-j
son/oembed/1.0"}},"/oembed/1.0/embed":{"namespace":"oembed/1.0
","methods":["GET"],"endpoints":[{"methods":["GET"],"args":{"url":{"
required":true},"format":{"required":false,"default":"json"},"maxwid
th":{"required":false,"default":600}}}],"_links":{"self":"https://
feriadelempleo.es/wp-json/oembed/1.0/embed"}},"/oembed/1.0/pr
oxy":{"namespace":"oembed/1.0","methods":["GET"],"endpoints":[{"met
hods":["GET"],...
11
Ejemplo de
respuesta en
miweb.com/wp-json
(en bruto)
/wp-json
WordPress como back-end de nuestras apps jaimefere.es
{
"name": "Feria del Empleo FEED",
"description": "Empleo en la Era Digital",
"url": "http://feriadelempleo.es",
"namespaces": ["oembed/1.0","jwt-auth/v1","feed/v5","wp/v2"],
"authentication": [ "oauth1" : {...} ],
"routes": {
"/wp/v2/posts": {
"namespace": "wp/v2",
"methods": [ “GET”, ”POST” ],
"endpoints": [2],
"_links": {
"self": "https://feriadelempleo.es/wp-json/wp/v2/posts"
}
}
},
"_links": {...}
}
12
Ejemplo de
respuesta en
miweb.com/wp-json
(formateado)
/wp-json
WordPress como back-end de nuestras apps jaimefere.es
class WCMad_Rest_Server extends WP_REST_Controller {
public function register_routes() {
$namespace = "wcmad/v1";
register_rest_route($namespace, '/fecha', array(
array(
'methods' => 'GET', // 'POST' 'PUT' 'DELETE'
'args' => array( 'año' => array('required' => true) )
'callback' => array($this, 'get_fecha')
)
));
}
public function hook_rest_server(){
add_action('rest_api_init', array($this, 'register_routes'));
}
public function get_fecha(WP_REST_Request $request){
$año = $request->get_param('año');
return new WP_REST_Response("6 de abril de $año", 200);
}
}
$wcmad_rest_server = new WCMad_Rest_Server();
$wcmad_rest_server->hook_rest_server();
13
Custom
endpoint
WordPress como back-end de nuestras apps jaimefere.es
Código completo
class WCMad_Rest_Server extends WP_REST_Controller {
public function register_routes() {
$namespace = "wcmad/v1";
register_rest_route($namespace, '/fecha', array(
array(
'methods' => 'GET', // 'POST' 'PUT' 'DELETE'
'args' => array('año' => array('required' => true))
'callback' => array($this, 'get_fecha')
)
));
}
public function hook_rest_server(){
add_action('rest_api_init', array($this, 'register_routes'));
}
public function get_fecha(WP_REST_Request $request){
$año = $request->get_param('año');
return new WP_REST_Response("6 de abril de $año", 200);
}
}
$wcmad_rest_server = new WCMad_Rest_Server();
$wcmad_rest_server->hook_rest_server();
14
Namespace
WordPress como back-end de nuestras apps jaimefere.es
Path, método,
parámetros y función
para devolver
resultado
class WCMad_Rest_Server extends WP_REST_Controller {
public function register_routes() {
register_rest_route("wcmad/v19", '/fecha', array(
array(
'methods' => 'GET', // 'POST' 'PUT' 'DELETE'
'args' => array( 'año' => array('required' => true) )
'callback' => array($this, 'get_fecha')
)
));
}
public function hook_rest_server(){
add_action('rest_api_init',
array($this, 'register_routes'));
}
public function get_fecha(WP_REST_Request $request){
$año = $request->get_param('año');
return new WP_REST_Response("6 de abril de $año", 200);
}
}
$wcmad_rest_server = new WCMad_Rest_Server();
$wcmad_rest_server->hook_rest_server();
15
WordPress como back-end de nuestras apps jaimefere.es
Registro
Se publica para ser
usado por las apps
Seguridad
Cookie (plugin)
Basic Authorization.
Usuario y contraseña en base64
en la cabecera de la llamada
Application password
Basic Authorization.
La clave (password) puede ser
renovada.
16
WordPress como back-end de nuestras apps jaimefere.es
OAuth 1.0a
Intercambio de tokens.
Token temporal -> permiso
usuario -> token larga duración
JSON Web Tokens
Standard RFC 7519
Usuario y contraseña solo en la
llamada que pide el token.
public function register_routes() {
register_rest_route("wcmad/v1", '/privado', array(
array(
'methods' => 'GET',
'callback' => array($this, 'get_datos_privados'),
'permission_callback' => 'chequear_permisos'
)
));
}
public function chequear_permisos(){
if( ! current_user_can( ... )){
return new WP_Error('rest_error', __('Error'));
}
return true;
}
public function get_datos_privados(){
return new WP_REST_Response(..., 200);
}
17
permission_callback
controla los permisos
de quien hace la
llamada
Permisos
WordPress como back-end de nuestras apps jaimefere.es
3.
¿MBaaS:
Mobile Backend
as a Service?
WordPress como back-end de nuestras apps jaimefere.es
18
Para ser un MBaaS
19
Estadísticas de usoAnalíticas
Librería para otras
plataformas
SDKWP REST APIAPI
MySQLBase de datos
/wp-content/uploadsAlmacenamiento
Usuarios y roles
Servicios de
autenticación
Trabajos CRON
Automatización de
tareas
WordPress como back-end de nuestras apps jaimefere.es
Panel de
administración
Dashboard
Desde PHP se puedeNotificaciones push
Informe de errores y
cierres
Crashes
4.
Ejemplo de app,
Twhilo
WordPress como back-end de nuestras apps jaimefere.es
20
Hilos de Twitter en
formato artículo.
Del microbloging al
blogging.
21
Twhilo
WordPress como back-end de nuestras apps jaimefere.es
Hilos de Twitter en
formato artículo.
Del microbloging al
blogging.
22
Twhilo
WordPress como back-end de nuestras apps jaimefere.es
Hilos de Twitter en
formato artículo.
Del microbloging al
blogging.
23
Twhilo
WordPress como back-end de nuestras apps jaimefere.es
register_rest_route('twhilo/v1', '/hilo', array(
array(
'methods' => WP_REST_Server::READABLE,
'args' => array('id_tuit' =>
array('required' => true))
'callback' => array($this, 'get_hilo'),
'permission_callback' => 'llamada_desde_app'
)
));
public function llamada_desde_app(){ }
public function get_hilo(){
$id_tuit = $request->get_param(id_tuit);
if( mira en MySQL si $id_tuit es respuesta de un hilo ){
return $hilo;
} else {
// pregunta a Twitter si el tuit pertenece a un hilo
return $hilo o "no es hilo";
}
}
24
Código ejemplo
namespace y
endpoint propios
WP
REST API
WordPress como back-end de nuestras apps jaimefere.es
25WordPress como back-end de nuestras apps jaimefere.es
Hilos de Twitter en
formato artículo.
Del microbloging al
blogging.
Twhilo
Recursos
Enlaces a elementos de interés:
● Mobile Backend as a Service (Wikipedia)
● Autenticación: OAuth, Application
passwords y JSON Web Tokens
● Envío de notificaciones push con PHP
● App Twhilo (Apple Store)
26
WordPress como back-end de nuestras apps jaimefere.es
?>
¿Preguntas?
Por poco tiempo o mucha vergüenza en:
● @jaimefere
● info@jaimefere.es
● jaimefere.es/#contact
27
¡Muchas gracias!
WordPress como back-end de nuestras apps jaimefere.es

Más contenido relacionado

La actualidad más candente

La actualidad más candente (12)

Facelets
FaceletsFacelets
Facelets
 
Primefaces
PrimefacesPrimefaces
Primefaces
 
Servicios Web Rest con Spring MVC
Servicios Web Rest con Spring MVCServicios Web Rest con Spring MVC
Servicios Web Rest con Spring MVC
 
primefaces cortesia del portal de java
primefaces cortesia del portal de javaprimefaces cortesia del portal de java
primefaces cortesia del portal de java
 
Primefaces hotel.. TERMINADO
Primefaces hotel.. TERMINADOPrimefaces hotel.. TERMINADO
Primefaces hotel.. TERMINADO
 
Servicios web java, php, perl, google
Servicios web java, php, perl, googleServicios web java, php, perl, google
Servicios web java, php, perl, google
 
tutorial de slide.com
tutorial de slide.comtutorial de slide.com
tutorial de slide.com
 
Rails intro
Rails introRails intro
Rails intro
 
Intro a cakephp
Intro a cakephpIntro a cakephp
Intro a cakephp
 
introduccion a Ajax
introduccion a Ajaxintroduccion a Ajax
introduccion a Ajax
 
Asp.net
Asp.netAsp.net
Asp.net
 
Tutorial de cakePHP itst
Tutorial de cakePHP itstTutorial de cakePHP itst
Tutorial de cakePHP itst
 

Similar a WordPress como back-end de nuestras apps

App todo gas: WordPress no es solo para web
App todo gas: WordPress no es solo para webApp todo gas: WordPress no es solo para web
App todo gas: WordPress no es solo para webPaco Marchante
 
Reportes En J Developer Parte 1 Y 2
Reportes En J Developer   Parte 1 Y 2Reportes En J Developer   Parte 1 Y 2
Reportes En J Developer Parte 1 Y 2Steven Gomez
 
Endpoints Seguros en nuestra Rest-API
Endpoints Seguros en nuestra Rest-APIEndpoints Seguros en nuestra Rest-API
Endpoints Seguros en nuestra Rest-APIEric Zeidan
 
Servicios web
Servicios webServicios web
Servicios webitoomac02
 
Servicios web
Servicios webServicios web
Servicios webitoomac02
 
Tecnologías para microservicios
Tecnologías para microserviciosTecnologías para microservicios
Tecnologías para microserviciosPedro J. Molina
 
"Los Imprescindibles de .NetCore"
"Los Imprescindibles de .NetCore""Los Imprescindibles de .NetCore"
"Los Imprescindibles de .NetCore"www.encamina.com
 
Tallerprogramacion
TallerprogramacionTallerprogramacion
Tallerprogramacionjohanadoria
 
Login social con node.js
Login social con node.jsLogin social con node.js
Login social con node.jsCarlos Azaustre
 
Informe grupal f_arinango_ cuenca
Informe grupal f_arinango_ cuencaInforme grupal f_arinango_ cuenca
Informe grupal f_arinango_ cuencapaulcuenca9
 
Descubriendo Ruby on Rails (Desarrollo Agil de Aplicaciones Web)
Descubriendo Ruby on Rails (Desarrollo Agil de Aplicaciones Web)Descubriendo Ruby on Rails (Desarrollo Agil de Aplicaciones Web)
Descubriendo Ruby on Rails (Desarrollo Agil de Aplicaciones Web)lenny
 
Descubriendo Ruby On Rails (Desarrollo Agil De Aplicaciones Web)
Descubriendo Ruby On Rails (Desarrollo Agil De Aplicaciones Web)Descubriendo Ruby On Rails (Desarrollo Agil De Aplicaciones Web)
Descubriendo Ruby On Rails (Desarrollo Agil De Aplicaciones Web)INSIGNIA4U
 

Similar a WordPress como back-end de nuestras apps (20)

App todo gas: WordPress no es solo para web
App todo gas: WordPress no es solo para webApp todo gas: WordPress no es solo para web
App todo gas: WordPress no es solo para web
 
Reportes En J Developer Parte 1 Y 2
Reportes En J Developer   Parte 1 Y 2Reportes En J Developer   Parte 1 Y 2
Reportes En J Developer Parte 1 Y 2
 
Endpoints Seguros en nuestra Rest-API
Endpoints Seguros en nuestra Rest-APIEndpoints Seguros en nuestra Rest-API
Endpoints Seguros en nuestra Rest-API
 
Servicios web
Servicios webServicios web
Servicios web
 
Servicios web
Servicios webServicios web
Servicios web
 
Tecnologías para microservicios
Tecnologías para microserviciosTecnologías para microservicios
Tecnologías para microservicios
 
"Los Imprescindibles de .NetCore"
"Los Imprescindibles de .NetCore""Los Imprescindibles de .NetCore"
"Los Imprescindibles de .NetCore"
 
Servicios web
Servicios webServicios web
Servicios web
 
Servicios web
Servicios webServicios web
Servicios web
 
WordPress y JavaScript
WordPress y JavaScriptWordPress y JavaScript
WordPress y JavaScript
 
APIREST LARAVEL Y PHP.pptx
APIREST LARAVEL Y PHP.pptxAPIREST LARAVEL Y PHP.pptx
APIREST LARAVEL Y PHP.pptx
 
Cien usos con serverless
Cien usos con serverlessCien usos con serverless
Cien usos con serverless
 
10 cosas de rails que deberías saber
10 cosas de rails que deberías saber10 cosas de rails que deberías saber
10 cosas de rails que deberías saber
 
Servicios web
Servicios webServicios web
Servicios web
 
Tallerprogramacion
TallerprogramacionTallerprogramacion
Tallerprogramacion
 
Login social con node.js
Login social con node.jsLogin social con node.js
Login social con node.js
 
Informe grupal f_arinango_ cuenca
Informe grupal f_arinango_ cuencaInforme grupal f_arinango_ cuenca
Informe grupal f_arinango_ cuenca
 
EXAMEN
EXAMENEXAMEN
EXAMEN
 
Descubriendo Ruby on Rails (Desarrollo Agil de Aplicaciones Web)
Descubriendo Ruby on Rails (Desarrollo Agil de Aplicaciones Web)Descubriendo Ruby on Rails (Desarrollo Agil de Aplicaciones Web)
Descubriendo Ruby on Rails (Desarrollo Agil de Aplicaciones Web)
 
Descubriendo Ruby On Rails (Desarrollo Agil De Aplicaciones Web)
Descubriendo Ruby On Rails (Desarrollo Agil De Aplicaciones Web)Descubriendo Ruby On Rails (Desarrollo Agil De Aplicaciones Web)
Descubriendo Ruby On Rails (Desarrollo Agil De Aplicaciones Web)
 

WordPress como back-end de nuestras apps

  • 2. 2 <?php Jaime Fernández Desarrollador apps nativas en iOS con Swift y en Android con Java / Kotlin. Como freelance desde 2015. @jaimefere en Twitter. WordPress como back-end de nuestras apps jaimefere.es
  • 4. 1. Detonante WordPress como back-end de nuestras apps jaimefere.es
  • 5. Servicios cloud 5 WordPress como back-end de nuestras apps jaimefere.es
  • 6. Feria del Empleo en la Era Digital WordPress como back-end de nuestras apps jaimefere.es 6 App para acercar a candidatos y empresas accediendo a los perfiles registrados en un formulario del WordPress.
  • 7. 2. WordPress como servidor WordPress como back-end de nuestras apps jaimefere.es 7 ↔ ↔
  • 8. Mejorando prácticas functions.php Las credenciales de la base de datos no salen del servidor pero los cambios en el tema afectan a las apps. child-themes Los cambios en el tema no afectan a las apps pero un cambio de tema sí. plugins Trabaja de forma independiente al tema y se puede activar / desactivar. 8 WordPress como back-end de nuestras apps jaimefere.es
  • 9. WordPress REST API Entró en el core de WordPress en enero de 2017. 9 WordPress como back-end de nuestras apps jaimefere.es
  • 10. API: Interfaz de Programación de Aplicaciones WordPress como back-end de nuestras apps jaimefere.es 10 ↔ ↔ Conjunto de subrutinas, funciones, métodos y procedimientos que ofrece cierta biblioteca para ser utilizado por otro software como una capa de abstracción.
  • 11. {"name":"Feria del Empleo FEED","description":"Empleo en la Era Digital","url":"http://feriadelempleo.es","home":"https://feriad elempleo.es","gmt_offset":"0","timezone_string":"","namespaces":["oe mbed/1.0","2fa/v1","wordfence/v1","tests/v5","feed/v5","wp/v2" ],"authentication":[],"routes":{"/":{"namespace":"","methods":["GET "],"endpoints":[{"methods":["GET"],"args":{"context":{"required":fal se,"default":"view"}}}],"_links":{"self":"https://feriadelempleo.e s/wp-json/"}},"/oembed/1.0":{"namespace":"oembed/1.0","methods" :["GET"],"endpoints":[{"methods":["GET"],"args":{"namespace":{"requi red":false,"default":"oembed/1.0"},"context":{"required":false,"def ault":"view"}}}],"_links":{"self":"https://feriadelempleo.es/wp-j son/oembed/1.0"}},"/oembed/1.0/embed":{"namespace":"oembed/1.0 ","methods":["GET"],"endpoints":[{"methods":["GET"],"args":{"url":{" required":true},"format":{"required":false,"default":"json"},"maxwid th":{"required":false,"default":600}}}],"_links":{"self":"https:// feriadelempleo.es/wp-json/oembed/1.0/embed"}},"/oembed/1.0/pr oxy":{"namespace":"oembed/1.0","methods":["GET"],"endpoints":[{"met hods":["GET"],... 11 Ejemplo de respuesta en miweb.com/wp-json (en bruto) /wp-json WordPress como back-end de nuestras apps jaimefere.es
  • 12. { "name": "Feria del Empleo FEED", "description": "Empleo en la Era Digital", "url": "http://feriadelempleo.es", "namespaces": ["oembed/1.0","jwt-auth/v1","feed/v5","wp/v2"], "authentication": [ "oauth1" : {...} ], "routes": { "/wp/v2/posts": { "namespace": "wp/v2", "methods": [ “GET”, ”POST” ], "endpoints": [2], "_links": { "self": "https://feriadelempleo.es/wp-json/wp/v2/posts" } } }, "_links": {...} } 12 Ejemplo de respuesta en miweb.com/wp-json (formateado) /wp-json WordPress como back-end de nuestras apps jaimefere.es
  • 13. class WCMad_Rest_Server extends WP_REST_Controller { public function register_routes() { $namespace = "wcmad/v1"; register_rest_route($namespace, '/fecha', array( array( 'methods' => 'GET', // 'POST' 'PUT' 'DELETE' 'args' => array( 'año' => array('required' => true) ) 'callback' => array($this, 'get_fecha') ) )); } public function hook_rest_server(){ add_action('rest_api_init', array($this, 'register_routes')); } public function get_fecha(WP_REST_Request $request){ $año = $request->get_param('año'); return new WP_REST_Response("6 de abril de $año", 200); } } $wcmad_rest_server = new WCMad_Rest_Server(); $wcmad_rest_server->hook_rest_server(); 13 Custom endpoint WordPress como back-end de nuestras apps jaimefere.es Código completo
  • 14. class WCMad_Rest_Server extends WP_REST_Controller { public function register_routes() { $namespace = "wcmad/v1"; register_rest_route($namespace, '/fecha', array( array( 'methods' => 'GET', // 'POST' 'PUT' 'DELETE' 'args' => array('año' => array('required' => true)) 'callback' => array($this, 'get_fecha') ) )); } public function hook_rest_server(){ add_action('rest_api_init', array($this, 'register_routes')); } public function get_fecha(WP_REST_Request $request){ $año = $request->get_param('año'); return new WP_REST_Response("6 de abril de $año", 200); } } $wcmad_rest_server = new WCMad_Rest_Server(); $wcmad_rest_server->hook_rest_server(); 14 Namespace WordPress como back-end de nuestras apps jaimefere.es Path, método, parámetros y función para devolver resultado
  • 15. class WCMad_Rest_Server extends WP_REST_Controller { public function register_routes() { register_rest_route("wcmad/v19", '/fecha', array( array( 'methods' => 'GET', // 'POST' 'PUT' 'DELETE' 'args' => array( 'año' => array('required' => true) ) 'callback' => array($this, 'get_fecha') ) )); } public function hook_rest_server(){ add_action('rest_api_init', array($this, 'register_routes')); } public function get_fecha(WP_REST_Request $request){ $año = $request->get_param('año'); return new WP_REST_Response("6 de abril de $año", 200); } } $wcmad_rest_server = new WCMad_Rest_Server(); $wcmad_rest_server->hook_rest_server(); 15 WordPress como back-end de nuestras apps jaimefere.es Registro Se publica para ser usado por las apps
  • 16. Seguridad Cookie (plugin) Basic Authorization. Usuario y contraseña en base64 en la cabecera de la llamada Application password Basic Authorization. La clave (password) puede ser renovada. 16 WordPress como back-end de nuestras apps jaimefere.es OAuth 1.0a Intercambio de tokens. Token temporal -> permiso usuario -> token larga duración JSON Web Tokens Standard RFC 7519 Usuario y contraseña solo en la llamada que pide el token.
  • 17. public function register_routes() { register_rest_route("wcmad/v1", '/privado', array( array( 'methods' => 'GET', 'callback' => array($this, 'get_datos_privados'), 'permission_callback' => 'chequear_permisos' ) )); } public function chequear_permisos(){ if( ! current_user_can( ... )){ return new WP_Error('rest_error', __('Error')); } return true; } public function get_datos_privados(){ return new WP_REST_Response(..., 200); } 17 permission_callback controla los permisos de quien hace la llamada Permisos WordPress como back-end de nuestras apps jaimefere.es
  • 18. 3. ¿MBaaS: Mobile Backend as a Service? WordPress como back-end de nuestras apps jaimefere.es 18
  • 19. Para ser un MBaaS 19 Estadísticas de usoAnalíticas Librería para otras plataformas SDKWP REST APIAPI MySQLBase de datos /wp-content/uploadsAlmacenamiento Usuarios y roles Servicios de autenticación Trabajos CRON Automatización de tareas WordPress como back-end de nuestras apps jaimefere.es Panel de administración Dashboard Desde PHP se puedeNotificaciones push Informe de errores y cierres Crashes
  • 20. 4. Ejemplo de app, Twhilo WordPress como back-end de nuestras apps jaimefere.es 20
  • 21. Hilos de Twitter en formato artículo. Del microbloging al blogging. 21 Twhilo WordPress como back-end de nuestras apps jaimefere.es
  • 22. Hilos de Twitter en formato artículo. Del microbloging al blogging. 22 Twhilo WordPress como back-end de nuestras apps jaimefere.es
  • 23. Hilos de Twitter en formato artículo. Del microbloging al blogging. 23 Twhilo WordPress como back-end de nuestras apps jaimefere.es
  • 24. register_rest_route('twhilo/v1', '/hilo', array( array( 'methods' => WP_REST_Server::READABLE, 'args' => array('id_tuit' => array('required' => true)) 'callback' => array($this, 'get_hilo'), 'permission_callback' => 'llamada_desde_app' ) )); public function llamada_desde_app(){ } public function get_hilo(){ $id_tuit = $request->get_param(id_tuit); if( mira en MySQL si $id_tuit es respuesta de un hilo ){ return $hilo; } else { // pregunta a Twitter si el tuit pertenece a un hilo return $hilo o "no es hilo"; } } 24 Código ejemplo namespace y endpoint propios WP REST API WordPress como back-end de nuestras apps jaimefere.es
  • 25. 25WordPress como back-end de nuestras apps jaimefere.es Hilos de Twitter en formato artículo. Del microbloging al blogging. Twhilo
  • 26. Recursos Enlaces a elementos de interés: ● Mobile Backend as a Service (Wikipedia) ● Autenticación: OAuth, Application passwords y JSON Web Tokens ● Envío de notificaciones push con PHP ● App Twhilo (Apple Store) 26 WordPress como back-end de nuestras apps jaimefere.es
  • 27. ?> ¿Preguntas? Por poco tiempo o mucha vergüenza en: ● @jaimefere ● info@jaimefere.es ● jaimefere.es/#contact 27 ¡Muchas gracias! WordPress como back-end de nuestras apps jaimefere.es