SlideShare una empresa de Scribd logo
1 de 36
Descargar para leer sin conexión
Construyendo WebParts con SPFX
Olga Martí y Mario Cortés
Twitter: @olgaamarti @mariocortesf
Agenda
 Introducción a SPFx
 Entorno de desarrollo
 Desarrollando WebParts con SPFx + React
 Obtener datos de SharePoint
 Testeando nuestra aplicación
 Despliegue
SharePoint Framework
• Client-side.
• Se ejecuta en el contexto del usuario.
• Puede utilizarse en páginas modernas y en páginas
clásicas.
• SharePoint Online y SharePoint 2016 con FP2.
Cambios respecto al desarrollo clásico
SharePoint Framework
Extender la interfaz y
añadir scripts.
Botónes cusmizados
en los menús de listas
Modifica el
renderizado de una
columna
Crear controles/bloques que aparecerán
dentro de una página de SharePoint.
SharePoint Framework - WebParts
SharePoint Framework - Extensions
Entorno de desarrollo
Office 365
NodeJS + npm
npm install -g yo gulp
VS Code
npm install -g @microsoft/generator-
sharepoint@latest
Entorno de desarrollo
Construyendo un WebPart con React
Estructura del proyecto
Desarrollo basado en componentes web con React
• Dividir la interfaz en componentes
atómicos.
• Cada componente es responsable de
implementar una funcionalidad.
• No conoce los componentes superiores
que lo encapsulan.
• Solo conoce los controles hijos.
Componentes
• Un componente equivaldría al concepto de función.
• Recibe una entrada y genera un elemento de React.
Composición de componentes
• Un componente puede contener a su
vez otros componentes.
• Crearemos una jerarquía de
componentes.
Interfaz basada en JSX
• Expresión que describe cómo se pintara la interfaz.
• Manejos de estos objetos mediante programación.
Render
• Genera el DOM del componente.
• Los elementos son inmutables, una vez que has creado un elemento no puedes modificarlo.
• Podemos bindear a objetos.
BaseClientSideWebPart.Render
• La clase BaseClientSideWebPart contiene un método render encargado de crear los elementos del
componente.
Propiedades (props)
• Las entradas de datos de un componente se realiza mediante
“propiedades”.
• this.props
• Las propiedades son de solo lectura.
Estado(state)
• Son como propiedades privadas al componente.
• Cada componente mantiene sus propio estado.
• State es de lectura/escritura.
Actualizar el state
• Solo se puede actualizar el estado de 2 formas:
• En el constructor
• Mediante el método setState()
• setState es asíncrono
• El flujo de información siempre es de
arriba hacia abajo en la jerarquía de
componentes.
• Un componente puede pasar su estado a
un hijo mediante propiedades.
Lifecycle
Inicialización
1. getDefaultProps
2. getInitialState
3. componentWillMount
4. Render
5. componentDidMount
Actualizacion de estado
1. shouldComponentUpdate
2. componentWillUpdate
3. Render
4. componentDidUpdate
Actualizacion de propiedades
1. componentWillReceiveProps
2. componentWillUpdate
3. Render
4. componentDidUpdate
Unmount
1. componentWillUnmount
Eventos
• Permite capturar eventos de nuestro
componentes.
• Mecanismo que utilizaremos para
pasar información hacia arriba.
Conectar con SharePoint
SPHttpClient
• Cliente que permite realizar peticiones REST en el contexto del usuario.
PnP JavaScript Core
• Librearía con utilidades para conectar con SharePoint de una forma más natural.
• No necesitamos conocer la estructura de REST de SharePoint.
npm install sp-pnp-js --save
Environment.type
Permite detectar en qué entorno nos encontramos (EnvironmentType):
• Test: el código se ejecuta desde un test unitario.
• Local: nos encontramos en un equipo de desarrollo donde estamos probando nuestro desarrollo.
• SharePoint: el framework se ha cargado en una página de SharePoint.
• ClassicSharePoint: el framework se ha cargado en una página basada en el modelo clásico de páginas de
SharePoint.
Office Fabric UI
• Librearía con componentes, estilos e iconos para crear interfaces similares al estándar.
• npm i office-ui-fabric-react --save
Testeando nuestra aplicación
gulp serve
Testear tu codigo
Debugger for Chrome
Con Visual Studio Code y la
extensión de Chrome “Debugger
for Chrome” podemos
engancharnos al proceso de
Chrome. De esta manera nos
permite depurar directamente
desde Visual Studio Code
mientras utilizamos el Workbench
desde Chrome.
Despliegue
gulp bundle –ship
gulp package-solution --ship
Despliega tu aplicación
Habilitar el CDN
App Catalog a nivel de colección de sitio
# create site collection app catalog
Add-SPOSiteCollectionAppCatalog -Site $site
https://dev.office.com/sharepoint
https://github.com/SharePoint/sp-dev-fx-extensions
https://github.com/olgamarti
https://geeks.ms/rockyouroffice365
Recursos
THANKS!
Twitter: @olgaamarti

Más contenido relacionado

Similar a Construyendo WebParts con SPFx

Similar a Construyendo WebParts con SPFx (20)

2018.sps madrid.spfx workshop
2018.sps madrid.spfx workshop2018.sps madrid.spfx workshop
2018.sps madrid.spfx workshop
 
Iniciación Con CakePHP
Iniciación Con CakePHPIniciación Con CakePHP
Iniciación Con CakePHP
 
Webinar - Iniciación a React para desarrollo de interfaces de usuario
Webinar - Iniciación a React para desarrollo de interfaces de usuarioWebinar - Iniciación a React para desarrollo de interfaces de usuario
Webinar - Iniciación a React para desarrollo de interfaces de usuario
 
Curso SharePoint 2013 overview
Curso SharePoint 2013 overviewCurso SharePoint 2013 overview
Curso SharePoint 2013 overview
 
Aplicaciones Autohosted, el nuevo modelo para extender SharePoint online
Aplicaciones Autohosted, el nuevo modelo para extender SharePoint onlineAplicaciones Autohosted, el nuevo modelo para extender SharePoint online
Aplicaciones Autohosted, el nuevo modelo para extender SharePoint online
 
Cross development - React para desarrolladores de asp.net
Cross development - React para desarrolladores de asp.netCross development - React para desarrolladores de asp.net
Cross development - React para desarrolladores de asp.net
 
CrossDvlpu - REACT para desarrolladores de ASP.NET
CrossDvlpu - REACT para desarrolladores de ASP.NETCrossDvlpu - REACT para desarrolladores de ASP.NET
CrossDvlpu - REACT para desarrolladores de ASP.NET
 
Html5
Html5Html5
Html5
 
Asp .net
Asp .netAsp .net
Asp .net
 
Combinación ganadora: Plone como CMS, tu framework preferido como frontend
Combinación ganadora: Plone como CMS, tu framework preferido como frontendCombinación ganadora: Plone como CMS, tu framework preferido como frontend
Combinación ganadora: Plone como CMS, tu framework preferido como frontend
 
5.- PPT 2022 05 U01 T01 Desarrollo de Servicios Web I (1915).pptx
5.- PPT 2022 05 U01 T01 Desarrollo de Servicios Web I (1915).pptx5.- PPT 2022 05 U01 T01 Desarrollo de Servicios Web I (1915).pptx
5.- PPT 2022 05 U01 T01 Desarrollo de Servicios Web I (1915).pptx
 
Migacion forms apex
Migacion forms   apexMigacion forms   apex
Migacion forms apex
 
Desarrollo De Web Parts En Share Point2007
Desarrollo De Web Parts En Share Point2007Desarrollo De Web Parts En Share Point2007
Desarrollo De Web Parts En Share Point2007
 
01 webinar caso_migracion_portalweb_v1.4.1-intix
01 webinar caso_migracion_portalweb_v1.4.1-intix01 webinar caso_migracion_portalweb_v1.4.1-intix
01 webinar caso_migracion_portalweb_v1.4.1-intix
 
UDA-Componentes RUP. Migas
UDA-Componentes RUP. MigasUDA-Componentes RUP. Migas
UDA-Componentes RUP. Migas
 
UDA-Componentes RUP. Formulario
UDA-Componentes RUP. FormularioUDA-Componentes RUP. Formulario
UDA-Componentes RUP. Formulario
 
UDA-Componentes RUP. Formulario (v2.1.1 deprecado)
UDA-Componentes RUP. Formulario  (v2.1.1 deprecado)UDA-Componentes RUP. Formulario  (v2.1.1 deprecado)
UDA-Componentes RUP. Formulario (v2.1.1 deprecado)
 
UDA-Componentes RUP. Tabla Avanzada
UDA-Componentes RUP. Tabla AvanzadaUDA-Componentes RUP. Tabla Avanzada
UDA-Componentes RUP. Tabla Avanzada
 
EFC-Programación .net-Luis Fernando Aguas - 15012022 1500.pptx
EFC-Programación .net-Luis Fernando Aguas - 15012022 1500.pptxEFC-Programación .net-Luis Fernando Aguas - 15012022 1500.pptx
EFC-Programación .net-Luis Fernando Aguas - 15012022 1500.pptx
 
UDA-Componentes RUP. Tabla.v2.4.6
UDA-Componentes RUP. Tabla.v2.4.6UDA-Componentes RUP. Tabla.v2.4.6
UDA-Componentes RUP. Tabla.v2.4.6
 

Más de Olga Martí

Más de Olga Martí (7)

Desarrollando Apps en Microsoft Teams - M365 Madrid Virtual
Desarrollando Apps en Microsoft Teams - M365 Madrid Virtual Desarrollando Apps en Microsoft Teams - M365 Madrid Virtual
Desarrollando Apps en Microsoft Teams - M365 Madrid Virtual
 
What's new in Office 365 (Updated January 2018)
What's new in Office 365 (Updated January 2018)What's new in Office 365 (Updated January 2018)
What's new in Office 365 (Updated January 2018)
 
What's new in Office 365 (January 2018)
What's new in Office 365 (January 2018)What's new in Office 365 (January 2018)
What's new in Office 365 (January 2018)
 
SPFx Extensions - Personaliza tus modern sites
SPFx Extensions - Personaliza tus modern sitesSPFx Extensions - Personaliza tus modern sites
SPFx Extensions - Personaliza tus modern sites
 
Trasladando procesos de negocio a Office 365 - PowerApps y Flow
Trasladando procesos de negocio a Office 365 - PowerApps y FlowTrasladando procesos de negocio a Office 365 - PowerApps y Flow
Trasladando procesos de negocio a Office 365 - PowerApps y Flow
 
Office 365 - La nueva intranet
Office 365 - La nueva intranetOffice 365 - La nueva intranet
Office 365 - La nueva intranet
 
Extending Microsoft Teams
Extending Microsoft TeamsExtending Microsoft Teams
Extending Microsoft Teams
 

Último

EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
FagnerLisboa3
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
241521559
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
silviayucra2
 

Último (10)

Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdf
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptx
 

Construyendo WebParts con SPFx