A mediados del pasado año, el equipo de producto de SharePoint liberó el Developer Preview de SharePoint Framework (SPFx), esto supuso un nuevo cambio profundo en la forma en que los desarrolladores que trabajamos con SharePoint debíamos afrontar esta nueva etapa.

Anteriormente, ya Microsoft nos fue avisando de que debíamos poco a poco cambiar nuestros skills y dominar cada vez más el mundo front-end con javascript, especialmente si queríamos personalizar y crear nuevas soluciones sobre SharePoint Online.

 

Como decía previamente, una vez tuvimos SPFx en nuestras manos, nos trasladamos a un mundo donde usamos Visual Studio Code, generamos todo el scaffolding del webpart a partir de una plantilla de yeoman, gestionamos paquetes con npm, podemos incluir cualquier framework/librería javascript (knockout, react, angular, …), automatizamos tareas con gulp, etc… Un cambio radical, costoso en términos de aprendizaje, pero que como desarrolladores de SharePoint nos abrirá las puertas a un mundo de posiblidades, así como a otros desarrolladores de front-end les hará menos doloroso el aterrizaje en la plataforma SharePoint.

Durante estos pasados meses, Microsoft ha ido liberando distintas actualizaciones de SPFx (https://github.com/SharePoint/sp-dev-docs):

image

Lo que más me ha gustado, es que a medida que iba liberando versión tras versión, ésta iba acompañada con sus «release notes» donde se describía de manera detallada en que consistían dichos cambios, incluyendo información dirigida al desarrollador de qué tenía que hacer para actualizar sus proyectos existentes con esta nueva versión y que siguiera funcionando.

Si nos fijamos la última release es de principios de mes y está nombrada como RC0. Esta Release Candidate supone introducir importantes cambios sobre las versiones precedentes, y lo que se quiere es ir preparando SPFx a través de varias RCs para que poco a poco el framework se haga más robusto, gracias a los continuos feedbacks.

 

Mucho se ha hablado en torno a SPFx y que framework utilizar para desarrollar, por ejemplo, webparts. A priori, cualquier framework/librería es válido. Pero creo que es pronto para decidir categóricamente cuál de ellos es el ideal para SPFX. Creo que es tarea del desarrollador el analizar las necesidades de su proyecto y seleccionar el framework/librería que mejor se ajusta a ellas. De nada nos sirve utilizar angular/angular2, si realmente lo que vamos a montar es sencillo y con vanilla js o con knockout es suficiente, no debemos matar moscas a cañonazos.

 

Para finalizar este post, me gustaría mostraros un recurso muy útil del que podemos echar mano a la hora de construir soluciones robustas y atractivas con SPFx: Office UI Fabric. ¿Qué es Office UI Fabric? Pues tal y como reza en la home de su sitio: «The official front-end framework for building experiences that fit seamlessly into Office and Office 365», es decir un framework de front-end para integrar visualmente nuestra solución en O365 u Office.

image

 

Office UI Fabric pone a nuestra disposición una colección de estilos base predefinidos, que incluyen iconos, fuentes y colores oficiales que Microsoft usa para Office. Así mismo, obtendremos lo que a mí personalmente me parece más interesante, que es una colección completa de controles predefinidos, desde simples botones a complejos people picker, que se integran perfectamente en el entorno Office/O365/SharePoint.

Actualmente, tenemos todos los controles disponibles en React, y algunos de ellos en vanilla JS, Angular e iOS.

 

En los siguientes posts de SPFx montaremos un ejemplo con React y Office UI Fabric. ¡Estad atentos! 😉

 

Enlaces de interés:

SharePoint Developer Documentation: https://github.com/SharePoint/sp-dev-docs

SharePoint Framework on Office Dev Center: https://dev.office.com/sharepoint/docs/spfx/sharepoint-framework-overview

SPFx client-side web parts code samples: https://github.com/SharePoint/sp-dev-fx-webparts

Office UI Fabric: http://dev.office.com/fabric

Office UI Fabric React Components: http://dev.office.com/fabric#/components

Office UI Fabric JS on Github: https://github.com/OfficeDev/office-ui-fabric-js

Office UI Fabric components for Angular-based apps: http://ngofficeuifabric.com/

Angular Office UI Fabric on Github: https://github.com/ngOfficeUIFabric/ng-officeuifabric

Office UI Fabric iOs on Github: https://github.com/OfficeDev/office-ui-fabric-ios

 

Referencias:

https://dev.office.com/blogs/sharepoint-framework-release-candidate-0-is-on-its-way

https://github.com/SharePoint/sp-dev-docs/wiki/Release-Notes-RC0