Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
El SharePoint Framework (SPFx) es un nuevo modelo de desarrollo para la extensibilidad de la interfaz de usuario de SharePoint. Lo usan primero y terceros, complementando las opciones de personalización y extensibilidad existentes, como el modelo de complemento de SharePoint. El SharePoint Framework permite un enfoque estructurado y compatible para enriquecer y ampliar la interfaz de usuario de SharePoint mediante marcos del lado cliente. Según los estándares web modernos, ofrece un conjunto único de características para que las personalizaciones de SharePoint estén disponibles ampliamente para desarrolladores y empresas, pero al mismo tiempo se alinea con modelos y patrones anteriores en SharePoint. En esta página, proporcionamos a los administradores los antecedentes, las ventajas y los conocimientos que necesitan para administrar correctamente los componentes basados en SharePoint Framework dentro de sus entornos de SharePoint.
Información previa
SharePoint se ha usado durante mucho tiempo como una aplicación y plataforma de desarrollo y ofrece una amplia variedad de conjuntos de opciones de personalización y desarrollo, desde la ejecución de código de plena confianza en los servidores de SharePoint hasta soluciones de espacio aislado, complementos y personalizaciones de la interfaz obtenidas con las características integradas o la inserción de JavaScript/CSS.
En SharePoint Online multiempresa, nunca se ha admitido el código de plena confianza y el servicio de código de espacio aislado está en desuso. Los modelos más comunes para las personalizaciones de SharePoint Online son los complementos, la ejecución de código remoto (ejecutar código en otro lugar, como en Azure) con las API estándar y la inserción de JavaScript. Aunque la inserción de JavaScript permitió ampliar SharePoint de manera eficaz, también resulta difícil mantener al día con el modelo en continua evolución de SharePoint Online. SharePoint Framework tiene como objetivo solucionar estos problemas al ofrecer un marco estandarizado sobre cómo crear extensiones personalizadas de la interfaz de usuario, y compilar aplicaciones sobre SharePoint Online de una forma compatible y preparada para el futuro.
SharePoint Framework extiende la interfaz de usuario de SharePoint con los elementos web del lado cliente y las extensiones.
Elementos web del lado cliente
Los elementos web del lado cliente usan el conocido paradigma de los elementos web, que fue uno de los factores de éxito de SharePoint a lo largo de los años. Los usuarios finales pueden agregarlos a las páginas y personalizarlos de forma independiente. Estos elementos web del lado cliente funcionan tanto en las nuevas páginas modernas como en las páginas clásicas, e incluso en la aplicación móvil de SharePoint.
Nota:
Para obtener más información, vea Introducción a los elementos web del lado cliente de SharePoint.
Extensiones
Las extensiones de SPFx permiten a los desarrolladores implementar determinadas personalizaciones de la interfaz de usuario en la experiencia "moderna" que era posible en la experiencia "clásica" de SharePoint. Los desarrolladores pueden agregar JavaScript a cualquier página, agregar encabezados y pies de página, agregar elementos de menú a listas y bibliotecas y personalizar la vista de un campo de una lista.
Modelo de desarrollo y conjunto de herramientas
SharePoint Framework se crea desde cero con un TypeScript moderno basado en la pila web, JavaScript, HTML y CSS. Todas las partes de los artefactos generados se ejecutan en el explorador del usuario final. SharePoint Framework también incluye un conjunto de herramientas nuevo. Este nuevo conjunto de herramientas es multiplataforma y funciona en Windows, macOS, Linux y se basa en tecnologías de código abierto, como Node.js, Gulp, Webpack y Yeoman. Estos marcos y herramientas se usan en tiempo de compilación para simplificar la experiencia del desarrollador para compilar, empaquetar e implementar (no se necesitan para la ejecución en sí del código de SharePoint Framework).
Estado actual de SharePoint Framework
El SharePoint Framework se liberó de SharePoint Online en febrero de 2017. La versión más reciente de SharePoint Framework y todas las anteriores se hospedan y están disponibles en SharePoint Online.
SharePoint Framework también está disponible para SharePoint Server 2016 (con Feature Pack 2) como versión v1.1 y SharePoint Server 2019 como versión v1.4.1.
Desde el punto de vista de un desarrollador
Todos los desarrolladores de SharePoint, tanto los nuevos como los experimentados, tienen algo que ganar con SharePoint Framework. Permite al desarrollador, de una forma segura y estructurada, ampliar las funciones de la interfaz de usuario de SharePoint mediante componentes del lado cliente. Estos componentes se ejecutan en el lado cliente y pueden funcionar con datos en SharePoint, en Microsoft 365 mediante Microsoft Graph o incluso con sus propias API web personalizadas que usen los métodos estándar OAuth y REST.
Los desarrolladores de SharePoint experimentados ya conocerán los conceptos, como los elementos web y el modelo de datos de SharePoint. Sin embargo, las herramientas para compilar, empaquetar e implementar elementos web del lado cliente serán nuevas. Los desarrolladores necesitan obtener aptitudes, especialmente de TypeScript, que es el lenguaje principal para desarrollar artefactos de SharePoint Framework. En comparación con JavaScript, TypeScript ofrece varias ventajas adicionales que son importantes para el desarrollo empresarial, como objetos fuertemente tipados, herencia de objetos, clases e interfaces, conceptos que resultarán conocidos a los desarrolladores actuales de .NET, Java y C/C++. Desde el punto de vista de la compilación y el empaquetado, los desarrolladores ya no necesitan tener Visual Studio como la única opción para escribir soluciones de SharePoint; con tecnologías y proyectos de código abierto (como node.js, npm y Gulp), el desarrollo de SharePoint Framework se puede realizar en cualquier plataforma con el editor de código o IDE preferido de los desarrolladores (por ejemplo, Visual Studio Code, Sublime o incluso el Bloc de notas).
Para los desarrolladores que nunca han creado soluciones de SharePoint anteriormente, pero que están familiarizados con las tecnologías web modernas, no hay una curva de aprendizaje significativa. Muchos desarrolladores ya se han movido al desarrollo del lado cliente o a una combinación de este. El desarrollo del lado cliente puede ofrecer una experiencia mejor, más dinámica y con mayor capacidad de respuesta para los usuarios, e incluso una experiencia más sencilla para los desarrolladores. Como se puede elegir libremente el editor de código y se usan marcos y tecnologías de código abierto conocidos y populares, muchos desarrolladores que puede que no hayan trabajado en el ecosistema de Microsoft pueden ponerse al día fácilmente con la compilación de extensiones de SharePoint.
Uno de los modelos más comunes en la extensibilidad de SharePoint Online es el uso de inserciones de JavaScript (también conocido como inserción de JavaScript). En este método se usa, por ejemplo, el elemento web de Script Editor para insertar de forma arbitraria código de JavaScript en la página y, después, se usa la manipulación de DOM (Document Object Model) del explorador web para insertar HTML, CSS y JavaScript a fin de compilar una solución o aplicación. Este método tiene muchos inconvenientes y, en muchos casos, incluso no permite a los clientes aprovechar las nuevas características de SharePoint Online debido a sus dependencias estrictas en relación con la forma en que SharePoint compila la estructura de HTML y CSS. SharePoint Framework ofrece un método mejor, aunque aún no es un sustituto completo para estas personalizaciones de inserciones de JavaScript. Como se indicó anteriormente, SharePoint Framework usa TypeScript, que permite una transición bastante sencilla desde las inserciones de JavaScript a un método estandarizado y preparado para el futuro. La iniciativa OfficeDev PnP también tiene proyectos de ejemplo y directrices sobre cómo realizar esta transición.
En perspectiva: SharePoint Framework en la plataforma más amplia de SharePoint
SharePoint Framework es un nuevo modelo, que se suma a los métodos ya existentes, pero que se centra en ofrecer más valor para las personalizaciones de la interfaz de usuario, como los elementos web del lado cliente. Este marco se diseñó para que funcione con los modelos de trabajo existentes y también permite crear fácilmente personalizaciones de la interfaz de usuario de una forma que ofrece un mayor soporte y sostenibilidad.
Importante
El DOM de HTML de la página de SharePoint no es una API. Debe evitar la toma de dependencias en la estructura de DOM de la página o estilos CSS, que están sujetos a cambios y podrían romper las soluciones. SharePoint Framework ofrece una amplia API para personalizar la experiencia de SharePoint de formas confiables y es la única forma compatible de interactuar con el DOM de HTML de la página de SharePoint.
Comparación con los complementos
Los Complementos de SharePoint, que se introdujeron en SharePoint 2013 como aplicaciones SharePoint pero se cambiaron de nombre más tarde, eran una de las únicas opciones disponibles para agregar personalizaciones a SharePoint Online de forma admitida y gobernada. Pero los complementos de SharePoint necesitan una infraestructura mucho mayor que la necesaria en muchos casos (como una personalización sencilla de la interfaz de usuario).
Hay dos tipos de complementos de SharePoint: hospedados en SharePoint y hospedados por el proveedor. Los complementos hospedados en SharePoint eran uno de los métodos para ejecutar código del lado cliente en SharePoint de forma admitida, pero, como se indicó anteriormente, necesita un esfuerzo mucho mayor que el necesario para incluir solo un sencillo elemento web del lado cliente (JavaScript). En muchos casos, los complementos hospedados en SharePoint se compilaron solo para implementar artefactos, como listas y elementos web, en un sitio de SharePoint. Estos complementos se encuentran en un sitio "especial" denominado web de aplicación, que es un sitio con características limitadas.
Los complementos hospedados por el proveedor son complementos que se ejecutan de forma remota desde SharePoint (Online) y que pueden usar código del lado servidor y el código del lado cliente. Esto tiene una ventaja para los ISV que quieran proteger su propiedad intelectual, de código o lógica, así como para escenarios en los que no se puede ejecutar en el lado cliente con JavaScript (como operaciones con gran número de cálculos y de ejecución prolongada o el acceso a datos remotos que no se puede realizar con scripting del lado cliente).
La ventaja principal de los complementos es el aislamiento: como el código en sí no se ejecuta en el explorador del sitio de SharePoint, las protecciones de scripting entre sitios no permiten que el complemento obtenga el mismo acceso que tiene el usuario. Los complementos están limitados a los permisos concedidos al complemento en el momento de la instalación. Esto hace que los complementos sean una opción más segura para escenarios en los que un administrador usa un complemento de un tercero y también permite que Microsoft tenga una tienda desde donde puede descargar complementos.
SharePoint Framework funciona en paralelo, tanto con complementos hospedados en SharePoint como con complementos hospedados por el proveedor, pero también se puede usar como una alternativa en escenarios en los que solo se necesita scripting del lado cliente. Por ejemplo, los complementos pueden agregar elementos de aplicaciones al sitio donde se hospeden. Estos elementos de aplicaciones son similares a los elementos web, pero, en lugar de ejecutarse en el contexto de la página, se ejecutan en su propio dominio (web de aplicación o web hospedada por el proveedor) en un iFrame de la página. Esto impide que el complemento obtenga el contexto del usuario a partir del resto de la página.
SharePoint Framework no se ejecuta en un Iframe. Por este motivo, puede ejecutarse sin ningún problema en el contexto de la página con todos los permisos del usuario que ve el elemento. Aunque esta es la clave para habilitarlo para ejecutar funciones avanzadas, también quiere decir que no tiene el mismo nivel de controles de seguridad que los complementos. Debido a esto, las soluciones de SharePoint Framework también se conocen como soluciones del lado cliente de plena confianza. Los Iframe tienen el problema de que no son receptivos, por lo que la representación de la página web no será tan fluida en un teléfono móvil o en un tamaño de pantalla alternativo.
En el momento de escribir este documento, las soluciones de SharePoint Framework no tienen un almacén donde se puedan descargar e instalar soluciones debido al aspecto de seguridad mencionado anteriormente. En muchos casos, usar el contexto del usuario es un escenario deseado en el que se puede usar SharePoint Framework en su lugar.
Inserción de JavaScript en HTML
Uno de los enfoques más populares usado por los desarrolladores era usar un método llamado inserciones de JavaScript (también conocido como inyecciones de JavaScript). Esto quiere decir que se inserta código JavaScript arbitrario en sitios y páginas (por ejemplo, con acciones personalizadas, páginas maestras o diseños de página, e incluso con elementos web de Script Editor). Este método es más sencillo que crear complementos hospedados en SharePoint y permite que el código del script se ejecute en el contexto completo de los usuarios, por lo que tiene una gran popularidad. El inconveniente de este enfoque es que muchas de estas inserciones dependían de la manipulación de DOM, por lo que los desarrolladores necesitaban aptitudes específicas para crearlas y mantenerlas.
Debido a la naturaleza en continua evolución de SharePoint Online, estas soluciones compiladas con inserciones de JavaScript podían dejar de funcionar cada vez que se actualizara SharePoint Online, ya que los desarrolladores podían eliminar dependencias (incluso por error) sobre cómo se estructuran las páginas de SharePoint o cómo se les agregan estilos. Realizar actualizaciones en SharePoint, aunque sean secundarias y sutiles, puede tener un gran impacto en las soluciones y hacer que las inserciones de JavaScript dejen de funcionar por completo.
Ahora, con SharePoint Framework, hay una forma estandarizada y compatible con Microsoft de obtener muchas de estas soluciones que anteriormente se compilaban con inserciones de JavaScript.
Elementos web Script Editor
La forma más común de insertar de forma arbitraria personalizaciones de HTML, JavaScript o CSS en SharePoint es usar el elemento web de Script Editor o el elemento web del editor de contenido. Los elementos web de Script Editor ganaron popularidad debido a la facilidad con que se pueden agregar scripts personalizados a cualquier página. Cualquier editor de un sitio puede agregar un elemento web de Script Editor a una página, copiar y pegar código de JavaScript en este y hacer que el código JavaScript realice las personalizaciones necesarias. Como en las inserciones de JavaScript, controlar los elementos web de Script Editor puede ser una tarea difícil para los administradores.
En muchos casos, estas configuraciones de elementos web de Script Editor se pueden cambiar directamente por SharePoint Framework.
Control de funciones de scripting en SharePoint Online
SharePoint Online permite a los administradores controlar la capacidad de agregar scripts personalizados a sitios y páginas a fin de aumentar la seguridad y la integridad del espacio empresarial. Esto se consigue con la característica "Script personalizado" del sitio de administración de SharePoint Online, o de forma individual por sitio con PowerShell.
Los scripts personalizados se pueden deshabilitar en todos los sitios o solo en los sitios personales. De forma predeterminada, los nuevos espacios empresariales tienen deshabilitado el scripting en los sitios personales, en todos los sitios creados con la función de autoservicio y en la colección de sitios raíz del espacio empresarial.
Al deshabilitar los scripts personalizados, los editores de sitios no podrán agregar elementos web, como el elemento web de Script Editor. Pero sí que se pueden usar las soluciones de SharePoint Framework, ya que se consideran seguras después de que un administrador las apruebe en el Catálogo de aplicaciones.
Diferencias en la forma de crear soluciones de SharePoint Framework (y por qué es importante)
SharePoint Framework usa un nuevo paradigma para los desarrolladores de SharePoint en la forma de diseñar, compilar e implementar personalizaciones de SharePoint, ya que usa un enfoque de pila web moderno y se centra en personalizaciones basadas en el explorador o en el lado cliente.
Esto establece un cambio importante en la forma en que se considera el desarrollo de SharePoint.
Al usar tecnologías y marcos (como TypeScript, Node.js, Yeoman, Gulp y más), SharePoint Framework atrae a públicos de desarrolladores que no usaban tradicionalmente el ecosistema de SharePoint (o incluso de Microsoft). Además, al mismo tiempo, permite que los desarrolladores de SharePoint existentes compilen personalizaciones de SharePoint mediante un enfoque más moderno y estandarizado.
Crear soluciones
Debido a la necesidad de herramientas específicas y dirigidas proporcionadas a través de Visual Studio, el desarrollo de SharePoint se realizó a través de Visual Studio en un entorno de desarrollo basado en Windows con una instancia de SharePoint instalada y configurada localmente. Esto limitaba las preferencias de hardware y usuario y aumentaba los costes de desarrollo. Por otra parte, SharePoint Framework usa diferentes herramientas web de código abierto comunes que están disponibles para muchas plataformas, como macOS y Linux, lo que permite una mayor flexibilidad en el desarrollo.
Las soluciones de SharePoint Framework se crean con una herramienta denominada Yeoman y con un generador específico de SharePoint Framework, que está basado en Node.js. Yeoman es una herramienta de scaffolding de proyectos que crea un proyecto y genera los artefactos necesarios, instala los paquetes de Node.js necesarios y configura el sistema de compilación.
Después de generar el proyecto, se puede editar en un editor de cualquier sistema operativo como Visual Studio, Visual Studio Code, Sublime o Atom. Esto ofrece un uso más amplio de preferencias y estilos, en equipos y entre equipos. El generador de Yeoman se puede ejecutar varias veces en el mismo proyecto para agregar otros artefactos, como elementos web del lado cliente.
Desarrollar y compilar soluciones
El sistema de compilación se basa en Gulp. Gulp es un ejecutor de tareas que compila, empaqueta y, de manera opcional, implementa los artefactos de SharePoint Framework. Al igual que Yeoman, Gulp también se basa en Node.js y permite que los desarrolladores compilen e implementen en cualquier sistema operativo.
Una parte del conjunto de herramientas de compilación de SharePoint Framework es Workbench. Workbench es una herramienta que permite al desarrollador hospedar y probar su solución de SharePoint Framework. Workbench es reactivo y volverá a cargar automáticamente los artefactos cuando el desarrollador guarde un archivo, de forma que los desarrolladores puedan ver y probar la solución rápidamente.
Existen dos versiones de Workbench. Una versión existe fuera de SharePoint, hospedada de forma local en el equipo de desarrollo que se ejecuta “sin conexión” (sin acceso ni datos de SharePoint). Esto permite al equipo y a los diseñadores compilar y diseñar soluciones con datos ficticios para centrarse en la interfaz de usuario.
La otra versión de Workbench se hospeda dentro de SharePoint y se usa si es necesario probar una solución de SharePoint Framework con datos y contexto de SharePoint reales.
Importante
Workbench local requiere un explorador perenne moderno. Workbench local no admite Internet Explorer 11.
Implementar soluciones de SharePoint Framework
La implementación de soluciones de SharePoint Framework se realiza mediante la implementación de un paquete de solución en el catálogo de aplicaciones y su aprobación para su uso en su espacio empresarial o colección de sitios.
Para las soluciones implementadas en SharePoint Online, puede usar la red CDN hospedada de Microsoft 365 para almacenar y servir los artefactos en la solución que se usan para implementar los componentes del lado cliente. Para obtener más información, vea la sección red CDN pública de Microsoft 365.
En el caso de las soluciones implementadas en SharePoint Server, deberá determinar dónde se almacenarán los artefactos. Este es un paso de implementación adicional que SharePoint Online no necesita. El único requisito es que los artefactos sean accesibles para los usuarios de su solución.
Alternativas a la red CDN de SharePoint Online
Los desarrolladores de la solución de SharePoint Framework pueden usar cualquier servicio de red CDN, como Azure Storage, Azure CDN o incluso SharePoint en sí, preferiblemente con las características de red CDN de SharePoint (que verá posteriormente en este documento). Usar una red CDN pública (donde los activos implementados en la red CDN están disponibles públicamente en Internet) permite que varios espacios empresariales puedan usar la solución de SharePoint Framework. En una solución de SharePoint Framework implementada en una red CDN de SharePoint, los scripts y recursos implementados solo están disponibles para el espacio empresarial donde se implementaron.
De forma predeterminada, hay una tarea integrada en las herramientas de compilación para implementar la solución empaquetada en Azure Blob Storage. Esto es algo que suele extenderse (por SI o ISV) para admitir ubicaciones o configuraciones personalizadas de una red CDN.
Después de cambiar el código y compilar la solución, la cadena de herramientas de SharePoint Framework genera un nuevo paquete de solución (*.sppkg) y un conjunto de archivos de script. Estos archivos de script incluyen un hash único en su nombre de archivo, lo que indica que el contenido de estos archivos se diferencia de las versiones implementadas anteriormente. Para usar una nueva versión de la solución, necesita implementar el nuevo conjunto de scripts en su red CDN y actualizar el paquete de solución en el Catálogo de aplicaciones. Aunque, en teoría, podría reemplazar el contenido de los archivos de script existentes y evitar actualizar el paquete de solución, este procedimiento no es confiable y no se recomienda. Según la configuración de su CDN, podría ser que los archivos de script descargados previamente se almacenen en caché durante mucho tiempo en los equipos cliente, lo que complica la implementación de la solución a los usuarios finales.
La ubicación de la red CDN es importante. La ubicación donde se hospedan los activos de SharePoint Framework necesita tener una alta disponibilidad, por lo que le recomendamos usar los proveedores de redes CDN de confianza (como Azure, Akamai o similares, y SharePoint en sí). Desde un punto de vista de la seguridad, es importante conocer qué redes CDN usan las soluciones de SharePoint Framework implementadas. Una red CDN inoperativa también puede hacer que las soluciones de SharePoint Framework dejen de funcionar y, en el peor de los casos, una red CDN en peligro también podría poner en peligro los datos del espacio empresarial de SharePoint (Online).
Al aprobar soluciones de SharePoint Framework de terceros, un elemento habitual en la lista de comprobación es comprobar la autoridad y confianza de la ubicación de la red CDN y de todos los terceros que puedan hospedarlas. El motivo es que, después de instalar y usar la aplicación en colecciones de sitios de SharePoint, estas colecciones de sitios tendrán una dependencia en la ubicación de la red CDN. En el momento de escribir ese documento, no se dispone de una forma sencilla para controlar ese punto de conexión. El proveedor de terceros de la red CDN puede realizar actualizaciones (tanto con cambios deseados como no deseados) sin el conocimiento de los usuarios, lo que genera una superficie expuesta a ataques, ya que SharePoint Framework se ejecuta en el contexto de los usuarios y puede hacer todo lo que el usuario tenga permiso para hacer.
Les recomendamos a los administradores de TI que realicen un seguimiento de las redes CDN usadas y de las redes CDN aprobadas por la organización (que también es necesario comunicar a los desarrolladores empresariales).
Red CDN pública de Microsoft 365
La red CDN pública de Microsoft 365 es una nueva funcionalidad de Microsoft 365 y SharePoint Online que permite a los administradores hospedar automáticamente activos estáticos (como archivos JavaScript, imágenes y estilos CSS) en una red CDN para mejorar el rendimiento. La red CDN pública de Microsoft 365 es una característica de almacenamiento en caché distribuida geográficamente que mantiene los activos estáticos lo más cerca posible de los exploradores de los usuarios finales que los solicitan.
Los administradores pueden habilitar la función de red CDN pública de Microsoft 365 en una o varias bibliotecas de documentos, que servirán como el origen de los activos estáticos. La administración de las bibliotecas y de la red CDN se realiza con cmdlets de PowerShell de SharePoint Online. Los activos en la biblioteca de documentos se replicarán a la red CDN de Microsoft 365 y serán accesibles a través de las direcciones URL de la red CDN pública de Microsoft 365 generadas y asociadas a la biblioteca de documentos. Las actualizaciones realizadas en los activos se reflejarán en los puntos de conexión de la red CDN en 15 minutos. Los activos de las bibliotecas de documentos estarán disponibles para los usuarios anónimos por el punto de conexión de la red CDN.
SharePoint Framework en la empresa
SharePoint es una de las plataformas de colaboración empresarial de mayor éxito y uno de los motivos de su éxito son las opciones de extensibilidad y usarla como plataforma de aplicaciones e integraciones. SharePoint Framework ampliará aún más este éxito al convertir SharePoint en una plataforma más moderna en la que compilar personalizaciones del lado cliente de una forma admitida y estandarizada.
Desarrolladores empresariales
SharePoint Framework permite a los desarrolladores empresariales (normalmente, desarrolladores que crean aplicaciones para su uso dentro de una organización) ampliar SharePoint (Online) con nuevas funciones de una forma estructurada y admitida. SharePoint Framework ofrece todo (desde el marco de desarrollo y la canalización de compilación, hasta la implementación en sí) y permite a los desarrolladores obtener acceso en un breve período de tiempo a todas las colecciones de sitios con nuevas soluciones y características, todas controladas por el Catálogo de aplicaciones. En un escenario empresarial, también tiene un control total de las ubicaciones de las redes CDN (externas o internas en SharePoint) y puede implementar fácilmente correcciones y actualizaciones en toda la organización.
En la empresa, los administradores y los desarrolladores necesitan crear de forma conjunta un modelo para especificar cómo tienen que implementarse las soluciones de SharePoint Framework. El modelo necesita contener detalles sobre los marcos del lado cliente preferidos, ubicaciones de redes CDN, etc.
Para obtener más información, vea la sección Crear un plan para las personalizaciones de SharePoint Framework.
Desarrolladores independientes
Durante mucho tiempo, los desarrolladores independientes usaban SharePoint para compilar aplicaciones empresariales con muchos métodos y técnicas.
SharePoint Framework será, para determinados escenarios (en concreto, inserciones de JavaScript y soluciones de elementos web de Script Editor), un método adecuado para avanzar. Esto hará que las soluciones sean más estandarizadas y fáciles de mantener con el paso del tiempo. Puede que los desarrolladores independientes se enfrenten a una curva de aprendizaje para ajustarse a este nuevo método estructurado de compilar soluciones, pero que, a largo plazo, es más estable, seguro y fácil de mantener.
Si los métodos de control de scripts personalizados mencionados anteriormente están en uso, los desarrolladores independientes no podrán agregar de forma arbitraria código JavaScript ni elementos web de Script Editor. Esto puede hacer que el entorno de SharePoint sea más estable y fácil de mantener, pero, al mismo tiempo, puede poner trabas a la innovación en la compañía, por lo que necesita asegurarse de que, en adelante, los desarrolladores independientes se alineen con los desarrolladores empresariales sobre el uso de SharePoint Framework.
Diseñadores de la experiencia del usuario y desarrolladores de front-end
Para los desarrolladores web o los diseñadores de interfaz o experiencia de usuario, el SharePoint Framework será valioso. Workbench permite a los desarrolladores de front-end trabajar con una solución de SharePoint Framework en cualquier sistema operativo y con sus herramientas de edición preferidas sin SharePoint (siempre que usen datos ficticios), por lo que podrán centrarse en la experiencia del usuario.
SharePoint Framework se publica en paralelo con Office UI Fabric, que es el marco de desarrollo de front-end oficial de Office y Microsoft 365, y permite a los diseñadores de la experiencia del usuario crear una experiencia unificada en Office, Microsoft 365 y las soluciones personalizadas.
Integradores de sistemas (SI)
Si trabaja con integradores de sistemas (SI) o asesores para compilar sus soluciones de SharePoint y Microsoft 365, necesitará realizar recomendaciones (o incluso requisitos) en cuanto a la forma en que tienen que compilar las soluciones de SharePoint Framework para que se alineen con su plan de empresa para SharePoint Framework.
Normalmente, los integradores de sistemas tienen un método preferido de compilar sus soluciones (que puede que no siempre se alinee con su gobierno), por lo que es importante tener esta discusión con los integradores de sistemas y, en última instancia, facilitará el trabajo a todas las partes.
Un escenario típico con los integradores de sistemas es que compilan la solución para su compañía y, después de completar el proyecto, es la compañía la que tiene que mantener y actualizar la solución, lo que demuestra que es necesario alinearse con los SI en cuanto a la forma de compilar y hospedar las soluciones de SharePoint Framework.
Proveedores de software independientes (ISV)
Los proveedores de software independientes (ISV) son organizaciones que compilan soluciones de terceros para el mercado general y puede que no siempre se adapten a su plan para las soluciones de SharePoint Framework. Además, los ISV suelen ser los propietarios del código y la propiedad intelectual, por lo que le resultará difícil cambiar la forma en que implementan y hospedan sus soluciones.
Al usar soluciones de SharePoint Framework de proveedores de terceros, necesita analizar específicamente cómo administran las actualizaciones y cómo se hospedan sus soluciones. Por ejemplo, ¿permite que la solución se actualice sin su conocimiento? ¿Permite que los activos estáticos se hospeden en la red CDN del ISV sin su control? ¿Cuál es su relación de confianza con este ISV?
Recuerde que cualquier código del lado cliente en SharePoint Framework se ejecuta en el contexto actual de los usuarios, lo que no admite restricciones (como sí que se admite con los Complementos de SharePoint).
Crear un plan para las personalizaciones de SharePoint Framework
Al introducir SharePoint Framework como una de las herramientas para ampliar sus instancias de SharePoint (Online), necesita planearlo. El plan tiene que empezar con la introducción de la nueva pila de tecnología usada al compilar las soluciones de SharePoint Framework. Es posible que los desarrolladores necesiten recibir aprendizaje sobre el uso de TypeScript como el lenguaje principal para escribir el código de SharePoint Framework.
Otra faceta que puede que los desarrolladores de SharePoint Framework necesiten aprender es la cadena de herramientas en sí para SharePoint Framework (como Node.js, NPM y Gulp) y cómo usar las diferentes tareas de Gulp para compilar, empaquetar e implementar soluciones. Un buen recurso para empezar con esto es la documentación oficial de SharePoint Framework o los repositorios de SharePoint en GitHub.
Puede que los desarrolladores quieran estandarizar un marco específico del lado cliente para la organización o sobre diferentes marcos. Los marcos del lado cliente incluyen, entre otros, React, Knockout, Angular, Handlebars, jQuery, etc. Hay ventajas en la estandarización en un marco, ya que esto permite a los desarrolladores compilar código más reutilizable y tener una mejor coherencia en la forma en que compilan y mantienen sus soluciones.
Permitir más de un marco también ofrece aspectos positivos, ya que cada marco del lado cliente tiene sus ventajas e inconvenientes y casos de uso. Pero permitir un marco del lado cliente puede provocar la fragmentación de las soluciones empresariales (sin mencionar que tener varios marcos podría aumentar el tiempo de carga de las páginas), ya que, al usar varios marcos, es necesario cargar más bibliotecas externas.
De forma predeterminada, el generador de Yeoman de SharePoint Framework tiene plantillas para dos marcos del lado cliente: React y Knockout. Con el tiempo, se espera que la comunidad agregue más generadores o sub-generadores para que usen otros marcos del lado cliente. Elegir React como el marco preferido del lado cliente tiene una ventaja, ya que Microsoft creó una versión de React de Office UI Fabric, por lo que obtendrá la apariencia de Office y Microsoft 365 de la personalización (si eso es algo que prefiere su organización).
El cuarto punto es cómo y dónde implementar los artefactos de la solución (es decir, en qué redes CDN se almacenarán las agrupaciones de scripts generados y los activos). De forma predeterminada, en las tareas de Gulp que se incluyen en la cadena de herramientas, solo se admiten Azure Blob Storage y Azure CDN. Esta puede ser una buena opción si puede administrar una suscripción de Azure y compartir los activos entre varios espacios empresariales. Otro escenario común es usar SharePoint Online (y su característica de red CDN) como un host para los artefactos. A partir de la versión 1.4 de SharePoint Framework, los activos estáticos se empaquetan de forma predeterminada en el paquete de SharePoint Framework. Cuando se implementa un paquete en el Catálogo de aplicaciones, se hospedan automáticamente desde la red CDN de Microsoft 365 (si está habilitada) o desde una dirección URL del Catálogo de aplicaciones.
Por último, los desarrolladores tendrán que pensar en la administración del ciclo de vida de la aplicación (ALM): la forma en que administra el código fuente y el control de versiones, la compilación automática, las pruebas y la implementación, etc. Los sistemas de control de versiones de código fuente más comunes se pueden usar como Git, GitHub o Visual Studio Team Systems.
Para la integración continua no hay herramientas predeterminadas y puede usar la herramienta que prefiera que sea compatible con node.js, como Visual Studio Team System, Travis CI o Jenkins. Si usa estas herramientas, podrá automatizar el proceso de prueba y compilación y, si hay una compilación correcta y aprobada, incluso puede implementar automáticamente los artefactos en la ubicación de la red CDN (de esta forma, podrá automatizar todo, desde la comprobación del código por el desarrollador hasta la implementación y producción).
Funciones de administración de las soluciones de SharePoint Framework
Todas las soluciones de SharePoint Framework implementadas en un espacio empresarial tienen que ser aprobadas por un administrador de espacios empresariales. Para ello, cargue el paquete SharePoint Framework, el archivo *.sppkg en la biblioteca Aplicaciones para SharePoint. Al agregar una nueva solución a la biblioteca, se muestra un cuadro de diálogo al administrador para pedirle que confirme la aprobación de la solución para su uso en el espacio empresarial. En el cuadro de diálogo se explica que es una solución de código del lado cliente de plena confianza sin restricciones de recursos y que se ejecuta en el contexto de los usuarios. En el cuadro de diálogo también se muestra desde qué dominio se obtendrá contenido principalmente (es decir, la ubicación de la red CDN de los scripts de SharePoint Framework). Cualquier aplicación de SharePoint Framework puede cargar datos desde otras ubicaciones, después de la carga inicial desde la red CDN. Después de su aprobación, la solución de SharePoint Framework se puede habilitar en cualquier colección de sitios.
Un administrador del Catálogo de aplicaciones puede, en cualquier momento, quitar el paquete del Catálogo de aplicaciones si quita el paquete de solución de la biblioteca de Aplicaciones para SharePoint. Esto impedirá que la solución se use en todas las colecciones de sitios. La solución también se puede deshabilitar si se modifica la propiedad Enabled del paquete cargado. De esta forma, se deshabilitará inmediatamente la solución en todas las colecciones de sitios; las páginas existentes que usen elementos web del lado cliente no representarán el elemento web y la aplicación no estará disponible en las colecciones de sitios ni se podrá agregar a colecciones de sitios existentes. Al quitar una solución de SharePoint Framework, no se quitarán los datos ni la información creada por la solución real del lado cliente, ya sea en SharePoint o en los orígenes de datos externos usados por la solución.
El administrador también puede modificar otras propiedades del paquete en el Catálogo de aplicaciones para mejorar la visibilidad de la solución en las colecciones de sitios (por ejemplo, se puede cambiar el icono, la categoría, la descripción y el estado destacado).
Si es necesario actualizar el paquete de solución (obligatorio si se realizan cambios en los artefactos de SharePoint Framework o en otros niveles del paquete), el administrador solo tendrá que cargar una nueva versión del paquete en la biblioteca.
El administrador del espacio empresarial también puede supervisar las soluciones de SharePoint Framework, como los complementos de SharePoint. En el Centro de administración de SharePoint, en Aplicaciones, el administrador de SharePoint puede agregar las soluciones de SharePoint Framework y, después, ver cuántas ubicaciones instaladas hay de una solución específica, tanto de los Complementos de SharePoint como de las soluciones de SharePoint Framework.
Para habilitar una solución de SharePoint Framework en una colección de sitios, el administrador de la colección de sitios tiene que agregarla a la colección de sitios. Para agregarla, siga el mismo procedimiento que con los complementos de SharePoint: seleccione la opción Agregar una nueva aplicación en la colección de sitios y, después, seleccione la solución en la lista de aplicaciones. Después de agregar la aplicación, estará disponible para su uso en la colección de sitios. El administrador de la colección de sitios también puede quitar SharePoint Framework de la colección de sitios. Para hacerlo, vaya a Contenidos del sitio y, después, seleccione Quitar en la aplicación.
Ámbitos de implementación de SharePoint Framework
Al compilar soluciones de SharePoint Framework, los desarrolladores pueden elegir si su solución admite la implementación en todo el espacio empresarial o si tiene que implementarse en cada sitio por separado. Esto último es necesario cuando la solución debe aprovisionarse de otros recursos, como las listas, después de que implementarse en un sitio.
Si bien los desarrolladores que compilan la solución deciden si esta admite la implementación en todo el espacio empresarial o no, es el administrador quien toma la decisión final sobre cómo se implementa. Aunque una solución pueda implementarse en todos los sitios del espacio empresarial, los administradores pueden optar por implementarla solo en sitios concretos. Si la solución no admite la implementación en todo el espacio empresarial, los administradores solo podrán implementarla en sitios concretos.
Importante
La implementación en todo el espacio empresarial solo está disponible en SharePoint Online. En un entorno de SharePoint hospedado localmente, las soluciones de SharePoint Framework solo se pueden implementar en sitios concretos.
El SharePoint Framework no tiene un almacén, que tienen los complementos de SharePoint. Por este motivo, el administrador de inquilinos siempre debe iniciar las implementaciones agregando y aprobando un paquete de solución al catálogo de aplicaciones.
Copia de seguridad y restauración de los componentes de SharePoint Framework
Las soluciones de SharePoint Framework no tienen ninguna característica específica de copia de seguridad y restauración. Lo único que se recomienda desde una perspectiva administrativa es que podría ser una buena idea tener una copia de todos los archivos de paquete de solución instalados (*.sppkg), si un paquete de solución se quita por error del catálogo de aplicaciones. Pero el Catálogo de aplicaciones es una biblioteca de SharePoint y tiene las mismas funciones que cualquier biblioteca de documentos, con el control de versiones principales activado y la papelera de reciclaje.
No se pueden realizar copias de seguridad de los artefactos de la solución en sí (como activos y conjuntos de scripts) que se hospedan en una red CDN. Si tiene control sobre la red CDN o la red CDN es un sitio de SharePoint, sí que podrá realizar una copia de seguridad. Si usa soluciones de SharePoint Framework proporcionadas por un tercero, puede que la organización no tenga ninguna forma de realizar una copia de seguridad de estas.
Plan de desarrollo de SharePoint Framework
SharePoint Framework ha pasado a la versión de disponibilidad general (GA) en febrero de 2017. Disponibilidad general significa que los profesionales de TI y los desarrolladores pueden usar SharePoint Framework en producción de manera compatible. Más allá de Disponibilidad general, se espera que el conjunto de escenarios en los que se compilen y usen componentes basados en SharePoint Framework se expanda más allá de los escenarios de elementos web y en áreas como personalizaciones de lista y de sitio.
Para obtener más información sobre SharePoint Framework, vea el Plan de desarrollo de SharePoint Framework dedicado.
Los cambios principales o la introducción de nuevas características principales se anunciarán a través del Centro de mensajes de Microsoft 365, en el área de administración del espacio empresarial (algo que un administrador de Microsoft 365 tendría que comprobar de forma rutinaria todos los días). Otro recurso importante es el blog para desarrolladores de Office, donde encontrará incluso más detalles y actualizaciones.
Soporte técnico y acuerdo de nivel de servicio
Microsoft no proporciona soporte técnico para soluciones personalizadas integradas de SharePoint a través de los canales de soporte normales de SharePoint Online. Todos los problemas relacionados con la creación de soluciones de SharePoint se deben reportar en GitHub en https://github.com/SharePoint/sp-dev-docs/issues. El grupo de ingeniería de SharePoint evalúa periódicamente los problemas en el repositorio y se esfuerza por responder a las solicitudes de entrada lo antes posible.
Si su organización tiene un contrato de soporte técnico Premier, este debe ser su canal predeterminado de solicitud de soporte técnico por cualquier problema relacionado con la creación de soluciones de SharePoint. Los ingenieros de escalación de Microsoft administrarán las solicitudes según su urgencia.
SharePoint Framework está diseñado para ser compatibles con versiones anteriores. Microsoft garantiza que soluciones creadas con cualquier versión disponible de SharePoint Framework seguirán funcionando hasta que se haya dado con antelación un aviso de desuso explícito para la versión específica.
Resumen
SharePoint Framework es una excelente incorporación y evolución del cuadro de herramientas de personalización de SharePoint que permite a los desarrolladores, de forma compatible y controlable, extender SharePoint. SharePoint Framework, basado en tecnologías modernas y de código abierto, permite a los desarrolladores ampliar la historia de desarrollo empresarial de SharePoint no solo al equipo de SharePoint, sino también a un conjunto más diverso de desarrolladores. Como administrador, si ofrece un gobierno y soporte técnico adecuados para SharePoint Framework en el espacio empresarial puede permitir a los desarrolladores crear soluciones más atractivas y más rápidamente, lo que redundará una mayor eficiencia en general.
Como SharePoint Framework se crea para desarrolladores propios y de terceros (y, cada vez más, por Microsoft para futuras mejoras de características de SharePoint), también es una apuesta segura para su organización. Esperamos ver actualizaciones incrementales y adiciones a SharePoint Framework con el paso del tiempo para salvar la diferencia de características entre la versión clásica de SharePoint y la experiencia moderna de SharePoint.