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

Post on 20-Jan-2017

462 Views

Category:

Presentations & Public Speaking

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Aplicaciones web con AngularJS y la WP REST API

@marcelotena

#WCSantander

#1La aplicación

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

https://www.angularseries.com/

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

https://www.angularseries.com/

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

https://www.angularseries.com/

Aplicación de página única

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

https://www.angularseries.com/

Aplicación de página única

Enfoque por componentes

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

https://www.angularseries.com/

Aplicación de página única

Enfoque por componentes

Tema para 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

#2WordPress, plugins y la REST API

Primeros pasos

https://codex.wordpress.org/Theme_Development

Primeros pasos

1. Servidor local con Apache, MySQL y PHP:

Ejemplos: MAMP, WAMP, LAMP…

https://codex.wordpress.org/Theme_Development

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

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

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

Plugins1. WordPress REST API (Version 2)

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

Plugins2. ACF to WP REST API

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

Custom Post Types

Custom Post Types

Custom Post Types

Custom Post Types

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

Custom Post Types

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

Consultas a la REST API

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/

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

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

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

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

Postman

https://www.getpostman.com/

#3Entorno front-end: NPM y Gulp

Gestor de dependencias

1. NPM (incluido en NodeJS)

Automatización con Gulp

Automatización con Gulp

1. Hojas de estilo: SASS

Automatización con Gulp

1. Hojas de estilo: SASS

2. Prefijos de compatibilidad

Automatización con Gulp

1. Hojas de estilo: SASS

3. JavaScript: Dependencias y app

2. Prefijos de compatibilidad

Automatización con Gulp

1. Hojas de estilo: SASS

3. JavaScript: Dependencias y app

4. BrowserSync

2. Prefijos de compatibilidad

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

#4AngularJS

#4AngularJS

versión < 9

versión < 9

versión < 9

Estructura de la aplicación

Estructura de la aplicación

Estructura de la aplicación

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

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

1. app.js

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

1. app.js

2. header.php

Módulos secundarios

Módulos secundarios

1. components/home/home.js

Módulos secundarios

1. components/home/home.js

2. components/about/about.js

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

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

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

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

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

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

Servicios: Personalizar la respuesta

Servicios: Personalizar la respuesta

Servicios: Personalizar la respuesta

Servicios: Personalizar la respuesta

Servicios: Personalizar la respuesta

Servicios: Personalizar la respuesta

Vistas según la URL: UI-Router

Vistas según la URL: UI-Router

1. index.php

Vistas según la URL: UI-Router

1. index.php

Vistas según la URL: UI-Router

Vistas según la URL: UI-Router

1. home.component.js

Vistas según la URL: UI-Router

1. home.component.js

Vistas según la URL: UI-Router

1. home.component.js

Vistas según la URL: UI-Router

1. home.component.js

Vistas según la URL: UI-Router

1. home.component.js

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

Estructura de la vista “Home”

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

Estructura de la vista “Home”

home(/)

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

Estructura de la vista “Home”

list-item

home(/)

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

Estructura de la vista “Home”

list-item

home(/)

thumbnail

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

Estructura de la vista “Home”

list-item

home(/)

thumbnail

actors

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

Estructura de la vista “Home”

list-item

home(/)

thumbnail

actors

rating

Componentes

Componentes

1. home.component.html (template)

Componentes

1. home.component.html (template)

Componentes

Componentes

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

Componentes

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

Componentes

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

Componentes

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

Componentes

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

Componentes

Componentes

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

Componentes

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

Componentes

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

Componentes

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

Componentes

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

¿Preguntas?

@marcelotena

#WCSantander

top related