SlideShare una empresa de Scribd logo
Integrando AngularJS y Drupal
Iván G. Campaña N.
@icampana
¿Qué es
AngularJS?
Framework Javascript MVC de
código abierto desarrollado por
Google
Utiliza HTML5, CSS3 + Javascript
del lado del cliente.
Permite crear aplicaciones
enriquecidas que pueden funcionar
en el navegador o como apps
híbridas.
Conceptos básicos
● Se basa en MVC, pero no restringe a ese esquema.
● Elementos importantes:
○ Directivas
○ Controladores
○ Servicios (Factories)
○ Scopes ($scope, $rootScope)
● El procesamiento, filtrado y manipulación de datos sucede del lado del
cliente.
Alternativas a AngularJS
● Backbone.js
● Ember.js
● Knockout
● Agility.js
● KendoUI
¿Para qué voy a mezclar Drupal con
Angular?
Razones para utilizar AngularJS
App. híbrida
Mejorar rendimiento
de la web.
Crear una estructura
decoupled
¿Con qué trabajamos?
Componentes en Drupal
Views
Services
https://www.drupal.org/project/services
Services Views https://www.drupal.
org/project/services_views
CORS
https://www.drupal.org/project/cors
Image URL Formatter
https://www.drupal.org/project/image_url_formatter
¿Qué vamos a utilizar?
Componentes de maquetación e interacción:
● Material Design Lite
http://www.getmdl.io/
● Angular Material
https://material.angularjs.org/
● AngularJS 1.4
http://angularjs.org/
¿Qué vamos a utilizar?
¡Manos a la obra!
Herramientas que
simplifican el
trabajo
- YeoMan
- Bower
- Grunt
- Less
- Sass
- Ionic
- Cordova
Primeros pasos
● Habilitar los módulos necesarios para exponer los datos a través de
servicios (con sus dependencias):
○ Views
○ Services
○ Services Views
○ CORS
● drush pm-enable -y cors views services services_views rest_server
Crear una vista de datos
● Creamos inicialmente una
vista regular, tal y como
estamos acostumbrados.
Crear una vista de datos
● Services permite exponer
datos a través de módulos
personalizados
● Services Views permite
exponer esos datos como un
servicio (Similar - no igual - a
D8).
● El display de services utiliza en
general los mismos
formateadores
Problemas comunes
- Tipos de campos con formateadores no soportados
- Permisos al momento de conectarse con el servicio
- Resultados en caché para usuarios anónimos
Crear un service endpoint
● Nombre de máquina no
necesariamente es el
expuesto a los servicios
● El Server (protocolo) debe
ser habilitado antes de
crear el endpoint
● Asegurar la ruta que
utilizaremos para acceder
Seleccionar qué se va a hacer público
Primeras pruebas
- Tratemos de consumir el servicio, en este caso la ruta es:
- /api/listar-noticias
- Resultado obtenido desde local:
Seleccionar qué se va a hacer público
El módulo CORS habilita el
crossdomain access.
Seleccionar específicamente
qué rutas pueden ser
accedidas y bajo qué
parámetros.
Caso de prueba únicamente.
¡Voilá!
Se puede probar comunicación
directamente desde el navegador.
Herramienta recomendada:
Postman
https://chrome.google.
com/webstore/detail/postman/fhbjgbiflinjbd
ggehcddcbncdddomop
Servidor listo,
hora del cliente
- Podemos trabajar
directamente con estructura
HTML5 + CSS3, sin necesidad
de PHP
Estructura básica
Estructura básica
Controlador básico, pueden existir varios dentro de la misma
aplicación encargándose de funcionalidades diferentes.
El controlador inicializa
variables y controla el “flujo”
de la aplicación.
Es recomendable establecer
constantes que se puedan
definir como parámetros para
trabajar en diferentes
ambientes (desarrollo,
producción).
Estructura básica
Directivas de Angular que
permiten hacer “binding” con
el modelo de datos.
Una vez actualizado el modelo
en el controlador, el template
activa su funcionalidad
asociada.
Las directivas de
AngularMaterial se encargan
de la presentación.
Podemos crear nuestras
propias directivas.
Estructura básica
Cada elemento del arreglo es renderizado de forma independiente en base a sus
datos y representado dentro de la plantilla.
Agregando funcionalidad para el cliente
Podemos buscar, filtrar y manipular los datos que devolvió el servidor sin necesidad
de reconección
Una variable determina la visibilidad de los
elementos del arreglo.
Proyecto javascript con backend Drupal
Y si lo quiero hacer app móvil?
Integraciones que incluye por defecto
- Login
- Cambio de contraseña
- Recuperación de contraseña
- Registro de usuario
- Listado y consumo de nodos
¿Preguntas?

Más contenido relacionado

PDF
SaaS Architecture.pdf
PPTX
Service Discovery and Registration in a Microservices Architecture
PDF
왜 컨테이너인가? - OpenShift 구축 사례와 컨테이너로 환경 전환 시 고려사항
PPT
Oracle WebLogic Server Basic Concepts
PDF
Salesforce CI/CD - A strategy for success
PPTX
What’s New in Angular 14?
PDF
Introducing WordPress Multitenancy (Wordcamp Vegas/Orlando 2015/WPCampus)
PPTX
Aggregating API Services with an API Gateway (BFF)
SaaS Architecture.pdf
Service Discovery and Registration in a Microservices Architecture
왜 컨테이너인가? - OpenShift 구축 사례와 컨테이너로 환경 전환 시 고려사항
Oracle WebLogic Server Basic Concepts
Salesforce CI/CD - A strategy for success
What’s New in Angular 14?
Introducing WordPress Multitenancy (Wordcamp Vegas/Orlando 2015/WPCampus)
Aggregating API Services with an API Gateway (BFF)

La actualidad más candente (20)

PDF
Dockers and kubernetes
PDF
Oracle Cloud Reference Architecture
PPTX
The Benefits of Using React JS for Web Development!
ODP
Beginners Guide to Drupal
PDF
Introduction to Docker
PPTX
Monolithic and Microservices styles of Architecture
PDF
8 - OpenShift - A look at a container platform: what's in the box
PDF
Containers, From Development to Production
PDF
Your Journey to Cloud-Native Begins with DevOps, Microservices, and Containers
PPTX
Angular 14.pptx
PDF
Kubernetes Basics
PPTX
MuleSoft Architecture Presentation
PDF
Kubernetes 101 - an Introduction to Containers, Kubernetes, and OpenShift
PPTX
ASP.NET Core MVC + Web API with Overview
PPTX
Angular
PPTX
Zenoss & ServiceNow Integration - Incident Management & CMDB
PPTX
reactJS
PPTX
Java Spring
PPTX
Agile vs dev ops
Dockers and kubernetes
Oracle Cloud Reference Architecture
The Benefits of Using React JS for Web Development!
Beginners Guide to Drupal
Introduction to Docker
Monolithic and Microservices styles of Architecture
8 - OpenShift - A look at a container platform: what's in the box
Containers, From Development to Production
Your Journey to Cloud-Native Begins with DevOps, Microservices, and Containers
Angular 14.pptx
Kubernetes Basics
MuleSoft Architecture Presentation
Kubernetes 101 - an Introduction to Containers, Kubernetes, and OpenShift
ASP.NET Core MVC + Web API with Overview
Angular
Zenoss & ServiceNow Integration - Incident Management & CMDB
reactJS
Java Spring
Agile vs dev ops
Publicidad

Destacado (20)

PPTX
SISTEMA DE TRAMITE DOCUMENTARIO ERP
PDF
De idea a mvp, drupal para emprendedores
PDF
Sitios web de alto rendimiento y alta disponibilidad
PDF
Framework para desarrollo de apps móviles
PDF
Manual 1.3 HTML VICTOR
PDF
Flujograma
PPTX
Presentación1
PDF
Unidad de Administración Documentaria y Archivo
PDF
PDF
Perforce helix git swarm jan 2016(pva1) meetup
PDF
Joomla como plataforma de eCommerce - Joomla Day La Rioja 2016
PPTX
ds data systems. Productos y Servicios ofrecidos.
PDF
Software libre como fuente de poder en las empresas
PDF
Tramite documentario 2013 upig
PPTX
FSL Ayni
PPT
Presentacion ley emprendedores y modelos 2013
DOCX
Manual De Administracion Documentaria
PDF
Cookies y Big Data. Cómo funciona la venta de datos de personas en la publici...
PDF
Sistema MVNet, SMV Virtual, Gestión Documental y Microformas
SISTEMA DE TRAMITE DOCUMENTARIO ERP
De idea a mvp, drupal para emprendedores
Sitios web de alto rendimiento y alta disponibilidad
Framework para desarrollo de apps móviles
Manual 1.3 HTML VICTOR
Flujograma
Presentación1
Unidad de Administración Documentaria y Archivo
Perforce helix git swarm jan 2016(pva1) meetup
Joomla como plataforma de eCommerce - Joomla Day La Rioja 2016
ds data systems. Productos y Servicios ofrecidos.
Software libre como fuente de poder en las empresas
Tramite documentario 2013 upig
FSL Ayni
Presentacion ley emprendedores y modelos 2013
Manual De Administracion Documentaria
Cookies y Big Data. Cómo funciona la venta de datos de personas en la publici...
Sistema MVNet, SMV Virtual, Gestión Documental y Microformas
Publicidad

Similar a Integrando AngularJS y drupal (20)

PDF
Desarrollo de aplicaciones multiplataforma 2/2
PDF
003-Introduccion-Angular.pdf
PDF
Html5, Rest, JSON, Angular JS y Java EE 7 - Aplicaciones Web Modernas y Esca...
ODP
Desarrollo Web Ágil con Symfony, Bootstrap y Angular
PPTX
Introducción a AngularJS
ODP
Python Gae django
PPTX
Ionic y angular.js
PDF
Mis primeros pasos con Symfony 2
PDF
Semana 2 Configuración entorno de desarrollo
PDF
Introducciòn a AngularJS
PPTX
5.- PPT 2022 05 U01 T01 Desarrollo de Servicios Web I (1915).pptx
PPTX
Introduccion a AngularJS
PDF
Angular js
PPTX
ASP.NET MVC
PDF
Servicios web
PDF
Angular 6
PPT
Corp. In. Tec. S.A. - Capacitaciones en Informática - Programación con CodeIg...
PDF
Drupal 7 para sitios de alto rendimiento y alta disponibilidad
PPTX
5-Unidad 2: Diseños de Vista-2.2 Para Web
PPTX
5-Unidad 2: Diseño de Vista-2.2 Para Web
Desarrollo de aplicaciones multiplataforma 2/2
003-Introduccion-Angular.pdf
Html5, Rest, JSON, Angular JS y Java EE 7 - Aplicaciones Web Modernas y Esca...
Desarrollo Web Ágil con Symfony, Bootstrap y Angular
Introducción a AngularJS
Python Gae django
Ionic y angular.js
Mis primeros pasos con Symfony 2
Semana 2 Configuración entorno de desarrollo
Introducciòn a AngularJS
5.- PPT 2022 05 U01 T01 Desarrollo de Servicios Web I (1915).pptx
Introduccion a AngularJS
Angular js
ASP.NET MVC
Servicios web
Angular 6
Corp. In. Tec. S.A. - Capacitaciones en Informática - Programación con CodeIg...
Drupal 7 para sitios de alto rendimiento y alta disponibilidad
5-Unidad 2: Diseños de Vista-2.2 Para Web
5-Unidad 2: Diseño de Vista-2.2 Para Web

Último (20)

PDF
TESTAMENTO DE DESCRIPTIVA ..............
PDF
GUÍA PARA LA IMPLEMENTACIÓN DEL PLAN PARA LA REDUCCIÓN DEL RIESGO DE DESASTRES
PDF
COMPARACION DE LA NUEVA LEY DE CONTRATAIONES DEL ESTADO 30269.pdf
PPTX
Gestion de seguridad y salud ocupacional.pptx
PPTX
Software para la educación instituciones superiores
PDF
Electricidad-Estatica-Peligros-Prevencion.pdf
PDF
Armado de estructura Media tensión de 22.9
PDF
1132-2018 espectrofotometro uv visible.pdf
PDF
Primera formulación de cargos de la SEC en contra del CEN
PDF
CI digitales -1. Introduccion 2024-25.pdf
PPTX
Notificacion e investigación de incidentes y accidentes de trabajo.pptx
PDF
Sugerencias Didacticas 2023_Diseño de Estructuras Metalicas_digital.pdf
PPTX
GEOLOGIA, principios , fundamentos y conceptos
PDF
Oficio SEC 293416 Comision Investigadora
PPT
PRIMEROS AUXILIOS EN EL SECTOR EMPRESARIAL
PPTX
MODULO 2. METODOLOGIAS PARA ANALISIS DE RIESGOS 2da Parte.pptx
PDF
SUBDIVISIÓN URBANA PUEDE ENFRENTAR SERVIDUMBRE DE PASO.pdf
DOCX
CONCEPTOS BASICOS DE LA PROGRAMACION STEP
PDF
Comité de Seguridad y Salud en el Trabajo.pdf
PPTX
Presentacion_Palcoma_Alta energia solar eolica
TESTAMENTO DE DESCRIPTIVA ..............
GUÍA PARA LA IMPLEMENTACIÓN DEL PLAN PARA LA REDUCCIÓN DEL RIESGO DE DESASTRES
COMPARACION DE LA NUEVA LEY DE CONTRATAIONES DEL ESTADO 30269.pdf
Gestion de seguridad y salud ocupacional.pptx
Software para la educación instituciones superiores
Electricidad-Estatica-Peligros-Prevencion.pdf
Armado de estructura Media tensión de 22.9
1132-2018 espectrofotometro uv visible.pdf
Primera formulación de cargos de la SEC en contra del CEN
CI digitales -1. Introduccion 2024-25.pdf
Notificacion e investigación de incidentes y accidentes de trabajo.pptx
Sugerencias Didacticas 2023_Diseño de Estructuras Metalicas_digital.pdf
GEOLOGIA, principios , fundamentos y conceptos
Oficio SEC 293416 Comision Investigadora
PRIMEROS AUXILIOS EN EL SECTOR EMPRESARIAL
MODULO 2. METODOLOGIAS PARA ANALISIS DE RIESGOS 2da Parte.pptx
SUBDIVISIÓN URBANA PUEDE ENFRENTAR SERVIDUMBRE DE PASO.pdf
CONCEPTOS BASICOS DE LA PROGRAMACION STEP
Comité de Seguridad y Salud en el Trabajo.pdf
Presentacion_Palcoma_Alta energia solar eolica

Integrando AngularJS y drupal

  • 1. Integrando AngularJS y Drupal Iván G. Campaña N. @icampana
  • 2. ¿Qué es AngularJS? Framework Javascript MVC de código abierto desarrollado por Google Utiliza HTML5, CSS3 + Javascript del lado del cliente. Permite crear aplicaciones enriquecidas que pueden funcionar en el navegador o como apps híbridas.
  • 3. Conceptos básicos ● Se basa en MVC, pero no restringe a ese esquema. ● Elementos importantes: ○ Directivas ○ Controladores ○ Servicios (Factories) ○ Scopes ($scope, $rootScope) ● El procesamiento, filtrado y manipulación de datos sucede del lado del cliente.
  • 4. Alternativas a AngularJS ● Backbone.js ● Ember.js ● Knockout ● Agility.js ● KendoUI
  • 5. ¿Para qué voy a mezclar Drupal con Angular?
  • 6. Razones para utilizar AngularJS App. híbrida Mejorar rendimiento de la web. Crear una estructura decoupled
  • 8. Componentes en Drupal Views Services https://www.drupal.org/project/services Services Views https://www.drupal. org/project/services_views CORS https://www.drupal.org/project/cors Image URL Formatter https://www.drupal.org/project/image_url_formatter
  • 9. ¿Qué vamos a utilizar? Componentes de maquetación e interacción: ● Material Design Lite http://www.getmdl.io/ ● Angular Material https://material.angularjs.org/ ● AngularJS 1.4 http://angularjs.org/
  • 10. ¿Qué vamos a utilizar?
  • 11. ¡Manos a la obra!
  • 12. Herramientas que simplifican el trabajo - YeoMan - Bower - Grunt - Less - Sass - Ionic - Cordova
  • 13. Primeros pasos ● Habilitar los módulos necesarios para exponer los datos a través de servicios (con sus dependencias): ○ Views ○ Services ○ Services Views ○ CORS ● drush pm-enable -y cors views services services_views rest_server
  • 14. Crear una vista de datos ● Creamos inicialmente una vista regular, tal y como estamos acostumbrados.
  • 15. Crear una vista de datos ● Services permite exponer datos a través de módulos personalizados ● Services Views permite exponer esos datos como un servicio (Similar - no igual - a D8). ● El display de services utiliza en general los mismos formateadores
  • 16. Problemas comunes - Tipos de campos con formateadores no soportados - Permisos al momento de conectarse con el servicio - Resultados en caché para usuarios anónimos
  • 17. Crear un service endpoint ● Nombre de máquina no necesariamente es el expuesto a los servicios ● El Server (protocolo) debe ser habilitado antes de crear el endpoint ● Asegurar la ruta que utilizaremos para acceder
  • 18. Seleccionar qué se va a hacer público
  • 19. Primeras pruebas - Tratemos de consumir el servicio, en este caso la ruta es: - /api/listar-noticias - Resultado obtenido desde local:
  • 20. Seleccionar qué se va a hacer público El módulo CORS habilita el crossdomain access. Seleccionar específicamente qué rutas pueden ser accedidas y bajo qué parámetros. Caso de prueba únicamente.
  • 21. ¡Voilá! Se puede probar comunicación directamente desde el navegador. Herramienta recomendada: Postman https://chrome.google. com/webstore/detail/postman/fhbjgbiflinjbd ggehcddcbncdddomop
  • 22. Servidor listo, hora del cliente - Podemos trabajar directamente con estructura HTML5 + CSS3, sin necesidad de PHP
  • 24. Estructura básica Controlador básico, pueden existir varios dentro de la misma aplicación encargándose de funcionalidades diferentes. El controlador inicializa variables y controla el “flujo” de la aplicación. Es recomendable establecer constantes que se puedan definir como parámetros para trabajar en diferentes ambientes (desarrollo, producción).
  • 25. Estructura básica Directivas de Angular que permiten hacer “binding” con el modelo de datos. Una vez actualizado el modelo en el controlador, el template activa su funcionalidad asociada. Las directivas de AngularMaterial se encargan de la presentación. Podemos crear nuestras propias directivas.
  • 26. Estructura básica Cada elemento del arreglo es renderizado de forma independiente en base a sus datos y representado dentro de la plantilla.
  • 27. Agregando funcionalidad para el cliente Podemos buscar, filtrar y manipular los datos que devolvió el servidor sin necesidad de reconección Una variable determina la visibilidad de los elementos del arreglo.
  • 28. Proyecto javascript con backend Drupal
  • 29. Y si lo quiero hacer app móvil?
  • 30. Integraciones que incluye por defecto - Login - Cambio de contraseña - Recuperación de contraseña - Registro de usuario - Listado y consumo de nodos