wordcamp santander 2016 - aplicaciones web con angularjs y la rest api de wordpress

94
Aplicaciones web con AngularJS y la WP REST API @marcelotena #WCSantander

Upload: marcelo-tena-vicente

Post on 20-Jan-2017

463 views

Category:

Presentations & Public Speaking


0 download

TRANSCRIPT

Page 1: WordCamp Santander 2016 - Aplicaciones web con AngularJS y la REST API de WordPress

Aplicaciones web con AngularJS y la WP REST API

@marcelotena

#WCSantander

Page 2: WordCamp Santander 2016 - Aplicaciones web con AngularJS y la REST API de WordPress

#1La aplicación

Page 3: WordCamp Santander 2016 - Aplicaciones web con AngularJS y la REST API de WordPress

https://github.com/marcelotena/wcsantander16-demo

https://www.angularseries.com/

Page 4: WordCamp Santander 2016 - Aplicaciones web con AngularJS y la REST API de WordPress

https://github.com/marcelotena/wcsantander16-demo

https://www.angularseries.com/

Page 5: WordCamp Santander 2016 - Aplicaciones web con AngularJS y la REST API de WordPress

https://github.com/marcelotena/wcsantander16-demo

https://www.angularseries.com/

Aplicación de página única

Page 6: WordCamp Santander 2016 - Aplicaciones web con AngularJS y la REST API de WordPress

https://github.com/marcelotena/wcsantander16-demo

https://www.angularseries.com/

Aplicación de página única

Enfoque por componentes

Page 7: WordCamp Santander 2016 - Aplicaciones web con AngularJS y la REST API de WordPress

https://github.com/marcelotena/wcsantander16-demo

https://www.angularseries.com/

Aplicación de página única

Enfoque por componentes

Tema para WordPress

Page 8: WordCamp Santander 2016 - Aplicaciones web con AngularJS y la REST API de WordPress

https://github.com/marcelotena/wcsantander16-demo

https://www.angularseries.com/

Aplicación de página única

Enfoque por componentes

Tema para WordPress

Datos desde dos APIs

Page 9: WordCamp Santander 2016 - Aplicaciones web con AngularJS y la REST API de WordPress

#2WordPress, plugins y la REST API

Page 10: WordCamp Santander 2016 - Aplicaciones web con AngularJS y la REST API de WordPress

Primeros pasos

https://codex.wordpress.org/Theme_Development

Page 11: WordCamp Santander 2016 - Aplicaciones web con AngularJS y la REST API de WordPress

Primeros pasos

1. Servidor local con Apache, MySQL y PHP:

Ejemplos: MAMP, WAMP, LAMP…

https://codex.wordpress.org/Theme_Development

Page 12: WordCamp Santander 2016 - Aplicaciones web con AngularJS y la REST API de WordPress

Primeros pasos

1. Servidor local con Apache, MySQL y PHP:

Ejemplos: MAMP, WAMP, LAMP…

2. Instalación de WordPress

https://codex.wordpress.org/Theme_Development

Page 13: WordCamp Santander 2016 - Aplicaciones web con AngularJS y la REST API de WordPress

Primeros pasos

1. Servidor local con Apache, MySQL y PHP:

Ejemplos: MAMP, WAMP, LAMP…

2. Instalación de WordPress

3. Creación de repositorio en Github

https://codex.wordpress.org/Theme_Development

Page 14: WordCamp Santander 2016 - Aplicaciones web con AngularJS y la REST API de WordPress

Primeros pasos

1. Servidor local con Apache, MySQL y PHP:

Ejemplos: MAMP, WAMP, LAMP…

2. Instalación de WordPress

4. Base para nuestro tema: - style.css - index.php - functions.php

3. Creación de repositorio en Github

https://codex.wordpress.org/Theme_Development

Page 15: WordCamp Santander 2016 - Aplicaciones web con AngularJS y la REST API de WordPress

Plugins1. WordPress REST API (Version 2)

https://es.wordpress.org/plugins/rest-api/

Page 16: WordCamp Santander 2016 - Aplicaciones web con AngularJS y la REST API de WordPress

Plugins2. ACF to WP REST API

https://es.wordpress.org/plugins/acf-to-wp-rest-api/

Page 17: WordCamp Santander 2016 - Aplicaciones web con AngularJS y la REST API de WordPress

Custom Post Types

Page 18: WordCamp Santander 2016 - Aplicaciones web con AngularJS y la REST API de WordPress

Custom Post Types

Page 19: WordCamp Santander 2016 - Aplicaciones web con AngularJS y la REST API de WordPress

Custom Post Types

Page 20: WordCamp Santander 2016 - Aplicaciones web con AngularJS y la REST API de WordPress

Custom Post Types

Ejemplo:https://www.angularseries.com/wp-json/v2/series

Page 21: WordCamp Santander 2016 - Aplicaciones web con AngularJS y la REST API de WordPress

Custom Post Types

Ejemplo:https://www.angularseries.com/wp-json/v2/series

Consultas a la REST API

Page 22: WordCamp Santander 2016 - Aplicaciones web con AngularJS y la REST API de WordPress

Custom Post Types

Ejemplo:https://www.angularseries.com/wp-json/v2/series

Consultas a la REST API1. Ruta base:

<tu-dominio>/wp-json/wp/v2/

Page 23: WordCamp Santander 2016 - Aplicaciones web con AngularJS y la REST API de WordPress

Custom Post Types

Ejemplo:https://www.angularseries.com/wp-json/v2/series

Consultas a la REST API1. Ruta base:

<tu-dominio>/wp-json/wp/v2/

2. Posts:<tu-dominio>/wp-json/wp/v2/posts

Page 24: WordCamp Santander 2016 - Aplicaciones web con AngularJS y la REST API de WordPress

Custom Post Types

Ejemplo:https://www.angularseries.com/wp-json/v2/series

Consultas a la REST API1. Ruta base:

<tu-dominio>/wp-json/wp/v2/

2. Posts:<tu-dominio>/wp-json/wp/v2/posts

3. Single-post con id=1:<tu-dominio>/wp-json/wp/v2/posts/1

Page 25: WordCamp Santander 2016 - Aplicaciones web con AngularJS y la REST API de WordPress

Custom Post Types

Ejemplo:https://www.angularseries.com/wp-json/v2/series

Consultas a la REST API1. Ruta base:

<tu-dominio>/wp-json/wp/v2/

2. Posts:<tu-dominio>/wp-json/wp/v2/posts

3. Single-post con id=1:<tu-dominio>/wp-json/wp/v2/posts/1

4. Filtros:<tu-dominio>/wp-json/wp/v2/posts?page=2

Page 26: WordCamp Santander 2016 - Aplicaciones web con AngularJS y la REST API de WordPress

Custom Post Types

Ejemplo:https://www.angularseries.com/wp-json/v2/series

Consultas a la REST API1. Ruta base:

<tu-dominio>/wp-json/wp/v2/

2. Posts:<tu-dominio>/wp-json/wp/v2/posts

3. Single-post con id=1:<tu-dominio>/wp-json/wp/v2/posts/1

4. Filtros:<tu-dominio>/wp-json/wp/v2/posts?page=2

5. Filtros encadenados:(…)/wp/v2/posts?categories=2,3,6&before=2016-10-31T23:59:59

Page 27: WordCamp Santander 2016 - Aplicaciones web con AngularJS y la REST API de WordPress

Postman

https://www.getpostman.com/

Page 28: WordCamp Santander 2016 - Aplicaciones web con AngularJS y la REST API de WordPress

#3Entorno front-end: NPM y Gulp

Page 29: WordCamp Santander 2016 - Aplicaciones web con AngularJS y la REST API de WordPress

Gestor de dependencias

1. NPM (incluido en NodeJS)

Page 30: WordCamp Santander 2016 - Aplicaciones web con AngularJS y la REST API de WordPress

Automatización con Gulp

Page 31: WordCamp Santander 2016 - Aplicaciones web con AngularJS y la REST API de WordPress

Automatización con Gulp

1. Hojas de estilo: SASS

Page 32: WordCamp Santander 2016 - Aplicaciones web con AngularJS y la REST API de WordPress

Automatización con Gulp

1. Hojas de estilo: SASS

2. Prefijos de compatibilidad

Page 33: WordCamp Santander 2016 - Aplicaciones web con AngularJS y la REST API de WordPress

Automatización con Gulp

1. Hojas de estilo: SASS

3. JavaScript: Dependencias y app

2. Prefijos de compatibilidad

Page 34: WordCamp Santander 2016 - Aplicaciones web con AngularJS y la REST API de WordPress

Automatización con Gulp

1. Hojas de estilo: SASS

3. JavaScript: Dependencias y app

4. BrowserSync

2. Prefijos de compatibilidad

Page 35: WordCamp Santander 2016 - Aplicaciones web con AngularJS y la REST API de WordPress

Automatización con Gulp

gulp-autoprefixergulp-concatgulp-sassgulp-sourcemapsgulp-uglifybrowser-sync

1. Hojas de estilo: SASS

3. JavaScript: Dependencias y app

4. BrowserSync

2. Prefijos de compatibilidad

Page 36: WordCamp Santander 2016 - Aplicaciones web con AngularJS y la REST API de WordPress

#4AngularJS

Page 37: WordCamp Santander 2016 - Aplicaciones web con AngularJS y la REST API de WordPress

#4AngularJS

Page 38: WordCamp Santander 2016 - Aplicaciones web con AngularJS y la REST API de WordPress

versión < 9

Page 39: WordCamp Santander 2016 - Aplicaciones web con AngularJS y la REST API de WordPress

versión < 9

Page 40: WordCamp Santander 2016 - Aplicaciones web con AngularJS y la REST API de WordPress

versión < 9

Page 41: WordCamp Santander 2016 - Aplicaciones web con AngularJS y la REST API de WordPress

Estructura de la aplicación

Page 42: WordCamp Santander 2016 - Aplicaciones web con AngularJS y la REST API de WordPress

Estructura de la aplicación

Page 43: WordCamp Santander 2016 - Aplicaciones web con AngularJS y la REST API de WordPress

Estructura de la aplicación

Page 44: WordCamp Santander 2016 - Aplicaciones web con AngularJS y la REST API de WordPress
Page 45: WordCamp Santander 2016 - Aplicaciones web con AngularJS y la REST API de WordPress
Page 46: WordCamp Santander 2016 - Aplicaciones web con AngularJS y la REST API de WordPress

Módulo principal y enlace de la aplicación (bootstrapping)

Page 47: WordCamp Santander 2016 - Aplicaciones web con AngularJS y la REST API de WordPress

Módulo principal y enlace de la aplicación (bootstrapping)

1. app.js

Page 48: WordCamp Santander 2016 - Aplicaciones web con AngularJS y la REST API de WordPress

Módulo principal y enlace de la aplicación (bootstrapping)

1. app.js

2. header.php

Page 49: WordCamp Santander 2016 - Aplicaciones web con AngularJS y la REST API de WordPress

Módulos secundarios

Page 50: WordCamp Santander 2016 - Aplicaciones web con AngularJS y la REST API de WordPress

Módulos secundarios

1. components/home/home.js

Page 51: WordCamp Santander 2016 - Aplicaciones web con AngularJS y la REST API de WordPress

Módulos secundarios

1. components/home/home.js

2. components/about/about.js

Page 52: WordCamp Santander 2016 - Aplicaciones web con AngularJS y la REST API de WordPress

Servicios: Acceso a los datos 1. services/series.service.js

Page 53: WordCamp Santander 2016 - Aplicaciones web con AngularJS y la REST API de WordPress

Servicios: Acceso a los datos 1. services/series.service.js

Page 54: WordCamp Santander 2016 - Aplicaciones web con AngularJS y la REST API de WordPress

Servicios: Acceso a los datos 1. services/series.service.js

Page 55: WordCamp Santander 2016 - Aplicaciones web con AngularJS y la REST API de WordPress

Servicios: Acceso a los datos 1. services/series.service.js

Page 56: WordCamp Santander 2016 - Aplicaciones web con AngularJS y la REST API de WordPress

Servicios: Acceso a los datos 1. services/series.service.js

Page 57: WordCamp Santander 2016 - Aplicaciones web con AngularJS y la REST API de WordPress

Servicios: Acceso a los datos 1. services/series.service.js

Page 58: WordCamp Santander 2016 - Aplicaciones web con AngularJS y la REST API de WordPress

Servicios: Personalizar la respuesta

Page 59: WordCamp Santander 2016 - Aplicaciones web con AngularJS y la REST API de WordPress

Servicios: Personalizar la respuesta

Page 60: WordCamp Santander 2016 - Aplicaciones web con AngularJS y la REST API de WordPress

Servicios: Personalizar la respuesta

Page 61: WordCamp Santander 2016 - Aplicaciones web con AngularJS y la REST API de WordPress

Servicios: Personalizar la respuesta

Page 62: WordCamp Santander 2016 - Aplicaciones web con AngularJS y la REST API de WordPress

Servicios: Personalizar la respuesta

Page 63: WordCamp Santander 2016 - Aplicaciones web con AngularJS y la REST API de WordPress

Servicios: Personalizar la respuesta

Page 64: WordCamp Santander 2016 - Aplicaciones web con AngularJS y la REST API de WordPress

Vistas según la URL: UI-Router

Page 65: WordCamp Santander 2016 - Aplicaciones web con AngularJS y la REST API de WordPress

Vistas según la URL: UI-Router

1. index.php

Page 66: WordCamp Santander 2016 - Aplicaciones web con AngularJS y la REST API de WordPress

Vistas según la URL: UI-Router

1. index.php

Page 67: WordCamp Santander 2016 - Aplicaciones web con AngularJS y la REST API de WordPress

Vistas según la URL: UI-Router

Page 68: WordCamp Santander 2016 - Aplicaciones web con AngularJS y la REST API de WordPress

Vistas según la URL: UI-Router

1. home.component.js

Page 69: WordCamp Santander 2016 - Aplicaciones web con AngularJS y la REST API de WordPress

Vistas según la URL: UI-Router

1. home.component.js

Page 70: WordCamp Santander 2016 - Aplicaciones web con AngularJS y la REST API de WordPress

Vistas según la URL: UI-Router

1. home.component.js

Page 71: WordCamp Santander 2016 - Aplicaciones web con AngularJS y la REST API de WordPress

Vistas según la URL: UI-Router

1. home.component.js

Page 72: WordCamp Santander 2016 - Aplicaciones web con AngularJS y la REST API de WordPress

Vistas según la URL: UI-Router

1. home.component.js

Page 73: WordCamp Santander 2016 - Aplicaciones web con AngularJS y la REST API de WordPress

https://github.com/marcelotena/wcsantander16-demohttps://www.angularseries.com/

Estructura de la vista “Home”

Page 74: WordCamp Santander 2016 - Aplicaciones web con AngularJS y la REST API de WordPress

https://github.com/marcelotena/wcsantander16-demohttps://www.angularseries.com/

Estructura de la vista “Home”

home(/)

Page 75: WordCamp Santander 2016 - Aplicaciones web con AngularJS y la REST API de WordPress

https://github.com/marcelotena/wcsantander16-demohttps://www.angularseries.com/

Estructura de la vista “Home”

list-item

home(/)

Page 76: WordCamp Santander 2016 - Aplicaciones web con AngularJS y la REST API de WordPress

https://github.com/marcelotena/wcsantander16-demohttps://www.angularseries.com/

Estructura de la vista “Home”

list-item

home(/)

thumbnail

Page 77: WordCamp Santander 2016 - Aplicaciones web con AngularJS y la REST API de WordPress

https://github.com/marcelotena/wcsantander16-demohttps://www.angularseries.com/

Estructura de la vista “Home”

list-item

home(/)

thumbnail

actors

Page 78: WordCamp Santander 2016 - Aplicaciones web con AngularJS y la REST API de WordPress

https://github.com/marcelotena/wcsantander16-demohttps://www.angularseries.com/

Estructura de la vista “Home”

list-item

home(/)

thumbnail

actors

rating

Page 79: WordCamp Santander 2016 - Aplicaciones web con AngularJS y la REST API de WordPress

Componentes

Page 80: WordCamp Santander 2016 - Aplicaciones web con AngularJS y la REST API de WordPress

Componentes

1. home.component.html (template)

Page 81: WordCamp Santander 2016 - Aplicaciones web con AngularJS y la REST API de WordPress

Componentes

1. home.component.html (template)

Page 82: WordCamp Santander 2016 - Aplicaciones web con AngularJS y la REST API de WordPress

Componentes

Page 83: WordCamp Santander 2016 - Aplicaciones web con AngularJS y la REST API de WordPress

Componentes

1. home/list-item/list-item.component.html

Page 84: WordCamp Santander 2016 - Aplicaciones web con AngularJS y la REST API de WordPress

Componentes

1. home/list-item/list-item.component.html

Page 85: WordCamp Santander 2016 - Aplicaciones web con AngularJS y la REST API de WordPress

Componentes

1. home/list-item/list-item.component.html

Page 86: WordCamp Santander 2016 - Aplicaciones web con AngularJS y la REST API de WordPress

Componentes

1. home/list-item/list-item.component.html

Page 87: WordCamp Santander 2016 - Aplicaciones web con AngularJS y la REST API de WordPress

Componentes

1. home/list-item/list-item.component.html

Page 88: WordCamp Santander 2016 - Aplicaciones web con AngularJS y la REST API de WordPress

Componentes

Page 89: WordCamp Santander 2016 - Aplicaciones web con AngularJS y la REST API de WordPress

Componentes

1. home/list-item/actors/actors.component.js

Page 90: WordCamp Santander 2016 - Aplicaciones web con AngularJS y la REST API de WordPress

Componentes

1. home/list-item/actors/actors.component.js

Page 91: WordCamp Santander 2016 - Aplicaciones web con AngularJS y la REST API de WordPress

Componentes

1. home/list-item/actors/actors.component.js

Page 92: WordCamp Santander 2016 - Aplicaciones web con AngularJS y la REST API de WordPress

Componentes

1. home/list-item/actors/actors.component.js

Page 93: WordCamp Santander 2016 - Aplicaciones web con AngularJS y la REST API de WordPress

Componentes

1. home/list-item/actors/actors.component.js

Page 94: WordCamp Santander 2016 - Aplicaciones web con AngularJS y la REST API de WordPress

¿Preguntas?

@marcelotena

#WCSantander