logic apps
Azure Enterprise Integration Pack
4 enero, 2017
Azure IoT Hub
Primeros pasos con Azure IoT Hub
19 enero, 2017

 

Microsoft tiene la costumbre de presentar a la comunidad nuevas maneras de personalizar y extender las capacidades de SharePoint con cada nueva iteración de la plataforma: soluciones de granja, sandbox, el modelo de apps

Cabe recordar que SharePoint es una plataforma orientada a la nube y a la colaboración de contenidos sin importar el tipo de dispositivo desde el que se realice, y que requiere, por lo tanto, de un nuevo conjunto de herramientas que se adapten a dicho entorno.

Con este objetivo, Microsoft nos presenta un nuevo marco de desarrollo que va un paso más allá en cuanto al uso de estándares web, así como su integración con las mejores herramientas de código abierto mantenidas por la comunidad.

 

¿Qué es SharePoint Framework?

A grandes rasgos, se trata de un nuevo modelo de desarrollo proporcionado por Microsoft con el fin de facilitar la creación de soluciones basadas en tecnologías del lado de cliente, de base JavaScript, no dependiente de .NET e integrado con un gran número de herramientas open source.

sp2016-developer-framework-image-002

Por primera vez, Microsoft da una flexibilidad prácticamente total al desarrollador para seleccionar los componentes y herramientas con los que es más productivo.

¿Prefieres construir tus plantillas de proyecto con Yeoman en lugar de con Visual Studio? ¿Eres más productivo con Angular que con React o Knockout? ¿MacOS es tu sistema operativo habitual? Simplemente elige las herramientas y entornos que mejor se adapten a tu flujo de trabajo y a los requisitos del desarrollo.

sp2016-developer-framework-image-003

De hecho, tanto Windows como Visual Studio ya no son herramientas de uso obligado, un hecho que habla por sí mismo alto y claro del grado de apertura y flexibilidad que está buscando Microsoft.

 

¿Por qué otro modelo más?

Si analizamos la evolución del desarrollo de soluciones SharePoint a lo largo de sus diferentes versiones, podemos percatarnos de que Microsoft está apostando fuerte por JavaScript y tecnologías web estándar.

Por un lado, desde el lanzamiento de las soluciones sandbox y la API de cliente en anteriores versiones, Microsoft necesitaba llevar a los desarrolladores a un modelo donde las personalizaciones y los desarrollos a medida estuviesen mejor aislados de la plataforma, garantizando la estabilidad del entorno. SharePoint Framework es un paso más allá en este concepto.

Por otra parte, el nuevo modelo está claramente orientado a acercar SharePoint a desarrolladores que, sin tener un conocimiento muy especializado del producto, pueden crear aplicaciones con herramientas open source tales como Node.js, Gulp, GitHub, Yeoman o TypeScript.

De esta manera, la plataforma se hace más estándar y atractiva para un mayor número de profesionales, no siendo ya tan necesaria la especialización en tecnologías muy concretas relacionadas con SharePoint (tales como CAML o el modelo de objetos de servidor), y facilita el desarrollo de soluciones que cumplan con requisitos imprescindibles a día de hoy: diseño responsive, mobile first, etc.

Después de todo, la colaboración donde sea, cuando sea y sin importar de qué dispositivo se trate es la idea fundamental sobre la que se construye la experiencia SharePoint 2016.

 

Las herramientas de la nueva experiencia de desarrollo

Hemos visto que Microsoft ofrece más posibilidades que nunca para elegir los elementos con los que queremos construir nuestras soluciones. Por supuesto, esto también significa que debemos estar familiarizados con un conjunto de tecnologías relativamente amplio, más allá de Visual Studio y entornos 100% Windows a los que estábamos acostumbrados.

Hagamos un repaso de las más destacadas:

1. JavaScript. La base del nuevo modelo de desarrollo. Si no lo hemos hecho aún, es el momento de ampliar al máximo nuestras competencias en este lenguaje.

2. TypeScript. Se trata de un lenguaje de código abierto, mantenido por Microsoft. Más concretamente, se define como un superconjunto de JavaScript que agrega tipado y objetos basados en clases, por lo que, si vienes de C#, te ayudará en el proceso de transición. Incluso si tienes experiencia en JavaScript, TypeScript te ayudará a escribir código de manera más eficiente. Más información: https://www.typescriptlang.org/

3. ReactJS. En este caso, nos encontramos ante una librería JavaScript de código abierto y mantenida por Facebook, la cual tiene como propósito gestionar la vista de un aplicativo web. Es de reconocido uso en webs tales como Netflix, Feedly, Airbnb o Wal-Mart, y evidentemente Facebook. En el caso concreto del nuevo modelo de desarrollo de SharePoint, React ha sido elegido por Microsoft para potenciar sus propias soluciones, con lo cual es de esperar que sea la opción más popular en la comunidad de desarrollo.

Más información de ReactJS:

4. AngularJS. Sin duda una de las opciones más populares. A diferencia de ReactJS –que se define como librería y es más ligero- aquí nos encontramos con un framework completo para la creación de aplicaciones front.

Más información de AngularJS:

5. Node.js. Se trata de un entorno de ejecución de código abierto y multiplataforma, basado en ECMAScript (es decir, JavaScript del lado de servidor). Dentro del modelo de desarrollo, su papel es el de plataforma para herramientas de desarrollo, similar al uso de paquetes con NuGet: optimizadores de código, patrones, herramientas de debug, gestión de autenticación, validación de cadenas de texto, etc.

Más información de Node.js:

6. Gulp. Toolkit open source basado en Node.js desarrollado por Fractal Innovations, así como por miembros de la comunidad de GitHub. Cumple las funciones de task runner que siempre hemos realizado con MSBuild, por lo cual se encargará de la implementación y automatización de las tareas relacionadas con la construcción y despliegue de nuestra aplicación. Su punto fuerte es su extensibilidad, realmente no hay límite de las tareas que podemos realizar: empaquetado, optimización, pruebas unitarias, despliegues…

Más información de Gulp: http://gulpjs.com/

7. Yeoman. También basado en Node.js, se trata de un conjunto de herramientas orientadas a la creación de aplicaciones web, más concretamente al scaffolding o “andamiaje” de un proyecto web. Es decir, una alternativa más abierta a las tradicionales plantillas de proyecto de Visual Studio. Por supuesto, podremos crear nuestras propias plantillas para, por ejemplo, crear fácilmente proyectos que cumplan con las guías de desarrollo y estilos de nuestra organización, de una manera sencilla y automatizada.

Más información de Yeoman: http://yeoman.io/

8. Webpack. Empaquetador de módulos, ideal para aplicaciones grandes que hagan un uso intensivo de JavaScript. De esta manera, podemos optimizar nuestra aplicación para que sólo se carguen las porciones de script (u otros recursos) necesarias para las operaciones en curso. Además, podemos llamarlo desde una tarea de Gulp, integrándolo de una manera sencilla en el proceso de despliegue de nuestro proyecto.

Más información de Webpack: https://webpack.github.io/

9. Git. GitHub se ha convertido en el repositorio de código y documentación por defecto de Microsoft, por lo que es recomendable estar familiarizado con él, ya sea para colaborar en proyectos privados o de la comunidad o bien para consumir los numerosos ejemplos que tenemos a nuestra disposición.

Más información de Git: https://git-scm.com/

10. Visual Studio Code. Se trata del editor de código open source de Microsoft. A pesar de su nombre, nos encontramos ante un producto bastante diferente del clásico Visual Studio, ya que carece de su orientación empresarial y está más enfocado a ser una herramienta ligera -y gratuita- para la pura edición de código.

Más información de Visual Studio Code: https://code.visualstudio.com/

 

 ¿Quedan obsoletos los modelos anteriores? ¿Qué pasa con las soluciones ya existentes?

Es fundamental aclarar que el nuevo entorno de desarrollo es una herramienta más a considerar -con sus fortalezas y debilidades- y que no sustituye a las opciones ya existentes, las cuales siguen siendo compatibles.

Por lo tanto, dependiendo de los requisitos que necesitemos cubrir, debemos escoger el modelo (o combinación de modelos) que mejor se adapte a las circunstancias.

Por ejemplo, si deseamos extender las funcionalidades de los nuevos sitios colaborativos de SharePoint 2016 mediante web parts personalizados, SharePoint Framework es la opción correcta. ¿Y qué ocurre si debemos elevar privilegios o necesitamos usar código de servidor para tareas de mantenimiento? En ocasiones, una solución de granja o una combinación de ésta con el lado de cliente realizado en SharePoint Framework puede ser la solución idónea.

 

 

Si queréis comentarnos lo que sea, podéis hacerlo en info@kabel.es.

También podéis seguirnos en Twitter y LinkedIn.

 

Kabel Geek


 

Compártelo: Share on FacebookTweet about this on TwitterShare on LinkedInPin on Pinterest

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

NEWSLETTER