Entwicklung – Das 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 AngularJSReactKnockout 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:

Erfahren Sie mehr

Office 365 Groups als Evolution von SharePoint?
Blog
Blog

Office 365 Groups als Evolution von SharePoint?

Zusätzlich zu SharePoint erlauben die Office 365 Groups es mir als Anwender, schnell und einfach neue Gruppen anzulegen und selbständig Benutzer hinzuzufügen.

Das neuste Mitglied der Office 365 Familie: Delve
Blog
Blog

Das neuste Mitglied der Office 365 Familie: Delve

Microsoft legt nach: Mit Delve startet eine neue Form des Suchens und des Auffinden von Dokumenten und Informationen.

Ich bin im Flow! – Eine Übersicht zu Microsoft Flow
Blog
Blog

Ich bin im Flow! – Eine Übersicht zu Microsoft Flow

Die Power Platform wird aktuell von Microsoft sehr stark gepusht. Zeit, sich mit dem Potenzial der einzelnen Komponenten zu beschäftigen. Heute: Flow.

Sprechen Sie LUIS? – Der intelligente Chat-Bot im Praxistest
Blog
Blog

Sprechen Sie LUIS? – Der intelligente Chat-Bot im Praxistest

Mit LUIS, der Sprach- und Texterkennungssoftware von Microsoft, und dem Bot Framework von Azure haben wir eine Lösung für den IT-Support entwickelt.

Nov
07
Webcast mit Microsoft: Das Intranet zu Ende gedacht
Webinar
Webinar

Webcast mit Microsoft: Das Intranet zu Ende gedacht

Am 07. November findet erneut eines unserer Webinare gemeinsam mit Mircosoft statt. Das Thema dieses Mal: Das Intranet zu Ende gedacht – Die Informationszentral...

novaCapta auf der Fachtagung für Interne Revision
Event
Event

novaCapta auf der Fachtagung für Interne Revision

Das Expertenteam der novaCapta präsentiert am 15. und 16. November ihre innovative Audit Management Lösung auf dem DIIR-Kongress in Dresden. Besuchen Sie unsere...

Auf Goldkurs in der Cloud
News
News

Auf Goldkurs in der Cloud

Die novaCapta hat ihren Partnerstatus bei Microsoft zusätzlich vergoldet: Auch in der Sparte Cloud Productivity haben wir jetzt den Goldstatus.

Valo ist neuer Partner der novaCapta für Intranets
News
News

Valo ist neuer Partner der novaCapta für Intranets

Durch die Partnerschaft mit Valo, dem Ready-2-Go Intranet-Baukasten aus Finnland baut die novaCapta ihr Angebot bei der Umsetzung von schnellen und funktionalen...

Mit der HoloLens ein Stück Berlin nach Köln holen
News
News

Mit der HoloLens ein Stück Berlin nach Köln holen

Im Rahmen eines zweitägigen Hackathons haben sich einige Mitarbeiter der novaCapta der Microsoft HoloLens und dem Thema Mixed Reality gewidmet. Dabei haben wir...

Azure Functions: Der Webservice ohne Webserver
Blog
Blog

Azure Functions: Der Webservice ohne Webserver

Azure Functions als Authentifizierungs-Helfer für clientseitige Lösungen mit 3rd Party APIs

Paket Dependency Manager für .NET
Blog
Blog

Paket Dependency Manager für .NET

Paket ist ein Dependency Manager für .NET, welcher es sich zum Ziel gesetzt hat einige Probleme von NuGet zu beheben.

PowerApps – Neuigkeiten, Übersicht, Tipps & Tricks
Blog
Blog

PowerApps – Neuigkeiten, Übersicht, Tipps & Tricks

Neues aus der Welt von PowerApps