Entwicklung mit dem SharePoint Framework 2016

Home/SharePoint/Entwicklung mit dem SharePoint Framework 2016

Entwicklung mit dem SharePoint Framework 2016

Wie Microsoft im Mai bekannt gab, wird ein neues clientseitiges Framework zur Entwicklung von SharePoint-Komponenten in JavaScript erscheinen. Als potentieller Erscheinungstermin wird der Spätsommer genannt. Zwar befindet sich das Framework bis heute in einer privaten Testphase, es sind aber bereits Informationen bekannt, die eine nähere Betrachtung zulassen.

Die Entwicklung mit dem Framework wird plattformunabhängig und ohne VisualStudio möglich sein. Dazu wird vor allem auf Nodejs zurückgegriffen. Dabei zeichnet sich ein potentieller Entwicklungsprozess durch eine kombinierte Verwendung der Konsole (cmd), eines Code-Editors wie VisualStudio Code, und eines Browsers ab.

Zudem ist es nicht länger notwendig, auf eine lokale SharePoint-Umgebung zurückgreifen zu müssen, um einfache clientseitige Komponenten zu entwickeln. Denn mit Einführung des Frameworks wird zugleich ein Nodejs-Modul (sp-client-platform) bereitgestellt, welches das “Look-and-feel” von SharePoint emuliert und die entwickelte Komponente darin ausführt. Dies wird lokaler Workbench genannt. Bei der Arbeit mit dem lokalen Workbench werden Änderungen unmittelbar sichtbar, ohne dass ein Deployment manuell angestoßen werden muss. Ein Wechsel in den Browser reicht aus. Allerdings wird für die Nutzung des SharePoint-Kontextes, um etwa auf Listen oder die Suche zurückzugreifen, eine Onlineumgebung benötigt. Aus diesem Grund ist ein solcher Workbench ebenso für O365 geplant. Alternativ wäre der Einsatz einer Development-SiteCollection denkbar.

Ferner wurde der Entwicklungsprozess näher dargestellt, indem der Funktionsumfang von Nodejs und verbreiteten Modulen ausgenutzt wird. Dazu zählen insbesondere der Paketmanager Bower, der Taskrunner Gulp sowie der Generator Yeoman. Für letzteren wird es einen Generator geben, der – bedient per Konsole – Projekte für die zu entwickelnden Komponenten anlegt. Dabei wird man sich sicherlich näher am Dateisystem und zwischen verschiedenen Tools (Browser, Konsole, Code-Editor) bewegen, als man es von VisualStudio bislang kannte.

Bei der Entwicklung selbst ist man nicht auf ein JavaScript-Framework beschränkt. Es lassen sich Frameworks wie AngularJS, React, Knockout und viele mehr in Verbindung mit dem SharePoint-Framework nutzen. Dies birgt allerdings die Gefahr, potentielle (Versions-) Konflikte hervorzurufen.

Im Folgenden wird die Entwicklung mit den genannten Tools unter Windows 10 aufgezeigt. Zu beachten ist, dass der verwendete Yeoman-Generator (yo sharepoint) noch nicht zur Verfügung steht und bislang lediglich einen Platzhalter darstellt.

Als Voraussetzung müssen nach einer erfolgreichen Nodejs-Installation (Path-Variable während der Installation setzen!) Nodejs-Module global installiert werden. Dazu öffnet man die Konsole (cmd) und führt die folgenden Befehle aus:

  • npm install bower -g
  • npm install yo -g
  • npm install generator-mocha -g
  • npm install generator-sharepoint -g

Dies installiert neben Bower und Yeoman auch den SharePoint Yeoman-Generator sowie einen Mocha-Generator. Mocha wird für das Test-Driven Development oder Behavior-Driven Development unter JavaScript verwendet. Der damit verbundene Entwicklungsprozess wird insbesondere durch Gulp (s.u.) unterstützt.

Powershell

Anschließend lässt sich über den Befehl “cd ” zu einem beliebigen Ordner navigieren und mittels “mkdir ” ein Ordner für das Projekt anlegen. Navigiert man mittels “cd” in diesen, so kann dort der Befehl “yo sharepoint” aufgerufen werden, wodurch ein Assistent das Anlegen des Projektes begleitet. Im späteren Release soll dies ähnlich gestaltet sein. Dabei legt der SharePoint Yeoman-Generator alle benötigten Komponenten an.

Bevor nun mit der Entwicklung begonnen werden kann, ist der Befehl “npm install && bower install” auszuführen, wodurch alle benötigten Pakete und Abhängigkeiten installiert werden.

Im späteren Release wird vermutlich Gulp zur Verfügung stehen, um den Entwicklungsprozess und insbesondere das Deployment zu unterstützen. Dazu enthält eine Gulp-Datei sowohl Manifestinformationen zum Projekt als auch die URL zum SharePoint oder lokalen Workbench. Über den Befehl “gulp upload-cdn” soll es möglich sein, die entwickelte Komponente unittelbar auf den gewählten Workbench zu übertragen. Mittels “gulp package-solution” lässt sich das Projekt paketieren. Dabei wird eine .app-Datei erzeugt, wie sie auch für SharePoint Hosted Addins (ehemals Apps) durch VisualStudio generiert wurde. Diese kann wie gewohnt über den App-Katalog der SharePoint-Umgebung bereitgestellt und anschließend über SiteContent als WebPart bzw. App hinzugefügt werden. Dies ist nicht nur den neuen Seitentypen vorbehalten, sondern kann auch in bestehende Seiten wie gewohnt integriert werden.

Fazit:

Das vorgestellte SharePoint-Framework stellt eine hervorragende Ergänzung dar, welche die Entwicklung von clientseitigen SharePoint-Komponenten näher an die moderne JavaScript-Entwicklung heranführt. Dabei werden vor allem die Potentiale von Nodejs ausgereizt, indem auf Module wie Bower oder Yeoman zurückgegriffen wird. Sowohl die Verwendung eines beliebigen JavaScript-Frameworks wie AngularJS, aber auch die Plattformunabhängigkeit öffnen die SharePoint-Welt für eine breitere Masse an Entwicklern sowie für vielfältigere Nutzungs- und Gestaltungspotentiale. Der Spätsommer wird zeigen, was daraus entstehen kann. Bis dahin lassen sich leicht Kompetenzen in den genannten Bereichen aufbauen und erweitern.

Quellen:

By | 2017-01-27T12:00:42+00:00 August 9th, 2016|SharePoint|0 Comments

About the Author:

Technology Specialist, Experte für: JavaScript, JQuery, Ajax

Leave a Reply

%d bloggers like this: