Blog - Rencore

Testen Sie das SharePoint Framework, ohne es zu installieren

Geschrieben von Waldek Mastykarz | 20.10.2016 14:15:00

Im Jahr 2017 hat Microsoft das SharePoint Framework für die allgemeine Verfügbarkeit freigegeben. Hier erfahren Sie, wie Sie es ausprobieren können, ohne es oder eine seiner Voraussetzungen auf Ihrem Computer zu installieren.

Die neue SharePoint-Entwickler-Toolchain

Wenn Sie in der Vergangenheit SharePoint-Anpassungen erstellen wollten, mussten Sie sich mit .NET auskennen. Man installierte Visual Studio, und die SharePoint-Entwickler-Tools wurden mitgeliefert. Unter Windows und mit installiertem .NET hatten Sie alles, was Sie für die Entwicklung von SharePoint-Anpassungen brauchten.

Mit dem SharePoint Framework beschloss Microsoft, eine andere Richtung einzuschlagen. Die Entwickler-Toolchain zur Erstellung von SharePoint-Anpassungen basiert auf Node.js und Open-Source-Tools wie gulp oder Webpack. Zum ersten Mal können Entwickler auf jeder Plattform SharePoint-Lösungen erstellen. Unabhängig davon, ob Sie unter Windows oder macOS arbeiten, können Sie die gleichen Tools verwenden und Anpassungen auf die gleiche Weise erstellen.

Wenn Sie in der Vergangenheit nur mit .NET-Entwicklung gearbeitet haben, zögern Sie vielleicht, alle Abhängigkeiten für das SharePoint Framework zu installieren. Vielleicht möchten Sie es einfach ausprobieren, und zwar isoliert von der Software, die Sie für Ihre aktuellen Projekte verwenden. In der Vergangenheit haben Sie bereits mit virtuellen Maschinen gearbeitet, und Sie könnten eine solche für das SharePoint Framework erstellen. Aber es gibt einen besseren Weg: einen, der weniger zeitaufwändig ist und weniger Overhead mit sich bringt. Darf ich vorstellen: Docker.

Docker 101

Docker ist eine Software-Virtualisierungslösung. In gewisser Weise ähnelt sie den virtuellen Maschinen: Sie ermöglicht es Ihnen, Ihre Software isoliert von Ihrem Hauptbetriebssystem auszuführen. Der Unterschied zu Docker ist die Art und Weise, wie Sie Images erstellen und verteilen und sie als Container ausführen.

Wenn Sie mit Docker arbeiten, hören Sie oft zwei Begriffe: Images und Container.

Images sind die Vorlagen für die Ausführung von Containern. In der Programmierung würden Sie ein Docker-Image mit einer Klassendefinition vergleichen, die einige Eigenschaften und möglicherweise einige Standardwerte hat. Außerhalb der Programmierung könnte man es mit einer Dokumentvorlage vergleichen, mit der man schnell ein neues Dokument erstellen kann.

Docker-Images erben immer von einem anderen Image und enthalten einige vorinstallierte und vorkonfigurierte Anwendungen oder Dienste. Normalerweise sind sie Linux-basiert, aber erst kürzlich hat Microsoft angekündigt, auch Windows-basierte Images zu unterstützen. Im Gegensatz zu einer normalen virtuellen Maschine wird ein Docker-Image anhand eines Rezepts erstellt, einer Textdatei mit einer Reihe von Anweisungen, die Docker zum Erstellen des Images verwendet. Hier ist das Rezept für das SharePoint Framework Docker-Image, das ich erstellt habe - alle 17 Zeilen davon.

Docker-Container sind Instanzen von Docker-Images. Container sind die eigentlichen virtuellen Maschinen, die Sie für Ihr Projekt ausführen. Docker-Images definieren Ressourcen wie Ports oder Datenvolumen, die von Containern genutzt werden können. Mit ein und demselben Image können Sie mehrere Container ausführen, sogar gleichzeitig, wenn Sie das möchten.

Entwickler verwenden Docker-Container für viele verschiedene Zwecke: von der Erleichterung des Entwicklungsprozesses bis zum Hosting der Software in der Produktion. Container sind auch ein hervorragendes Mittel, um Entwicklern die Möglichkeit zu geben, neue Software auszuprobieren. Das Azure-Team hat beispielsweise die Azure-CLI als Docker-Image veröffentlicht, so dass Sie sie ausprobieren können, ohne etwas auf Ihrem Host zu installieren. Mit dem gleichen Ansatz können Sie mit dem SharePoint Framework arbeiten, ohne Abhängigkeiten wie Node.js oder Python auf Ihrem Entwicklerrechner installieren zu müssen.

Ausführen von SharePoint Framework in einem Docker-Container

Um das SharePoint Framework in einem Docker-Container zu verwenden, habe ich ein Docker-Image mit allen Voraussetzungen erstellt, die für die Verwendung erforderlich sind. Um diesen Container auszuführen, müssen Sie zunächst Docker installieren, das Sie unter https://www.docker.com erhalten .

Sobald Docker läuft, brauchen Sie nur die Befehlszeile zu öffnen, einen neuen Ordner für Ihr SharePoint Framework-Projekt zu erstellen und diesen auszuführen:

Auf MacOS:

docker run -h spfx -it --rm --name ${PWD##*/} -v $PWD:/usr/app/spfx -p 5432:5432 -p 4321:4321 -p 35729:35729 waldekm/spfx

Unter Windows (vergessen Sie nicht, zuerst den vollständigen Pfad zu Ihrem Projektordner im Argument -v anzugeben. Achten Sie auf die Pfadschreibweise mit Schrägstrichen (/) und ohne Doppelpunkte):

docker run -h spfx -it --rm --name your-project -v /c/Users/[Ihr Projekt]:/usr/app/spfx -p 5432:5432 -p 4321:4321 -p 35729:35729 waldekm/spfx

Wenn Sie diesen Befehl zum ersten Mal ausführen, zieht Docker das Image automatisch aus dem Docker Hub (Online-Katalog, in dem Docker-Images aufgelistet sind) und startet einen Container daraus.

Sobald der Container startet, sehen Sie eine Eingabeaufforderung mit spfx darin:

Ihr Container ist einsatzbereit und Sie können Ihr SharePoint Framework-Projekt auf die gleiche Weise erstellen, wie Sie es auf Ihrem Host erstellen würden, indem Sie Folgendes ausführen:

yo @microsoft/sharepoint

Beachten Sie bei der Erstellung des Projekts, dass alle Projektdateien und Abhängigkeiten auf Ihrem Host-Rechner abgelegt werden. Wenn der Docker-Container aufhört zu laufen, haben Sie alle Dateien auf Ihrer Festplatte und können sie in Ihre Versionsverwaltung übertragen. Außerdem können Sie bei der Arbeit mit Code von den TypeScript-Funktionen zur Typsicherheit profitieren.

Sobald das Projekt eingerüstet ist, können Sie es auf die gleiche Weise starten, wie Sie es tun würden, wenn Sie SharePoint Framework auf Ihrem Host installiert hätten, indem Sie in der Befehlszeile ausführen:

gulp serve

Da der Befehl gulp serve innerhalb des Containers ausgeführt wird, startet er nicht automatisch Ihren Webbrowser. Stattdessen müssen Sie ihn selbst öffnen. SharePoint Workbench ist unter https://spfx:5432/workbench verfügbar, und bevor Sie zu dieser URL navigieren können, müssen Sie den spfx-Host-Header, der auf 127.0.0.1 zeigt, zu Ihrer HOSTS-Datei hinzufügen.

Das von mir erstellte Docker-Image stellt den Port 35729 zur Verfügung, der für das automatische Neuladen der SharePoint Workbench bei Dateiänderungen erforderlich ist. Nachdem Sie eine Ihrer Quelldateien geändert und gespeichert haben, werden Sie sehen, dass die Workbench automatisch aktualisiert wird und Ihre jüngsten Codeänderungen widerspiegelt - so wie es auch bei der Ausführung auf Ihrem Entwicklerrechner der Fall wäre.

Vorteile der Ausführung von SharePoint Framework in einem Docker-Container

Die Ausführung von SharePoint Framework in einem Docker-Container bietet Ihnen eine Reihe von Vorteilen.

Isolieren von SharePoint Framework-Abhängigkeiten

Der Hauptvorteil der Ausführung von SharePoint Framework in einem Docker-Container ist die Isolierung des Frameworks selbst sowie aller seiner Voraussetzungen von Ihrem Rechner. Heute benötigt SharePoint Framework Node.js 4.6.0, um ausgeführt zu werden. In Zukunft könnte es eine andere Version von Node oder einige andere Tools in der Toolchain erfordern. Es ist nicht trivial, verschiedene Versionen von Node.js nebeneinander zu verwenden. Wenn Sie das SharePoint Framework in einem Container ausführen, können Sie wählen, welche Version von Node.js Sie verwenden möchten, und Sie können so viele verschiedene Docker-Images verwenden, wie Sie benötigen, ohne dass sie sich gegenseitig beeinflussen.

Verwenden Sie die richtige Version des SharePoint Frameworks für das jeweilige Projekt

Das SharePoint Framework wurde erst kürzlich veröffentlicht und wir haben bereits 3 Updates gesehen. Das SharePoint-Team hat uns auch für die Zukunft häufige Aktualisierungen versprochen. Bei der Arbeit an verschiedenen Projekten ist die Wahrscheinlichkeit groß, dass jedes von ihnen zu einem anderen Zeitpunkt beginnt und die neueste Version des SharePoint Frameworks verwendet, die zu diesem Zeitpunkt verfügbar ist. Während die verschiedenen Versionen des SharePoint Frameworks abwärtskompatibel sind, kann es einige Implementierungsdetails geben, die für die jeweilige Version spezifisch sind.

Wenn Sie den SharePoint Framework Yeoman-Generator global auf Ihrem Computer installiert haben und ein neues Webpart zu einem in der Vergangenheit erstellten Projekt hinzufügen möchten, kann es sein, dass Sie einen neueren Typ hinzufügen, der von der in diesem Projekt verwendeten Version des SharePoint Frameworks nicht unterstützt wird. Wenn Sie SharePoint Framework in einem Docker-Container ausführen, können Sie problemlos eine andere Version von SharePoint Framework für jedes Projekt verwenden - selbst wenn es einige Monate zuvor erstellt wurde.

Beschleunigung der Einrichtung der Entwicklerumgebung

SharePoint Framework verwendet eine Open-Source-Toolchain, und obwohl keines dieser Tools erforderlich ist, um SharePoint Framework-Lösungen in Produktion auszuführen, müssen Entwickler sie auf ihren Entwicklungsrechnern haben, um SharePoint Framework-Projekte zu erstellen und mit ihnen zu arbeiten. Die Dokumentation listet alle Abhängigkeiten und ihre Versionen auf, die für das SharePoint Framework erforderlich sind, und jeder Entwickler in Ihrem Team muss sie installieren und aktualisieren, falls sie sich in Zukunft ändern.

Durch die Verwendung von Docker-Images können Sie innerhalb weniger Minuten ein neues Image für Ihr Team erstellen, das jeder Entwickler sofort nutzen kann, ohne Gigabytes auf seinen Rechnern installieren zu müssen, wie es bei normalen virtuellen Maschinen der Fall wäre. Bei der Verwendung von Docker-Images müssen die Entwickler ihre Entwicklungsmaschinen auch nicht für jedes Projekt, an dem sie arbeiten, neu konfigurieren und an ihre spezifischen Präferenzen anpassen.

Wenn Ihr Unternehmen einen bestimmten Satz von Paketen für die Erstellung clientseitiger Lösungen verwendet, können Sie diese ebenfalls in das Basis-Image aufnehmen, was den Einrichtungsprozess noch weiter beschleunigt und den Entwicklungsprozess innerhalb Ihres Unternehmens konsistenter macht.

Nächste Schritte

Ich würde Ihnen dringend empfehlen, SharePoint Framework in einem Docker-Container zu verwenden. Unabhängig davon, ob Sie mit MacOS oder Windows arbeiten, bietet dies eine Reihe von Vorteilen, die Ihnen sowohl jetzt als auch auf längere Sicht helfen werden.

Ich empfehle Ihnen die folgenden Schritte:

  1. Gehen Sie zu docker.com, um Docker für Ihr Betriebssystem zu installieren (bedenken Sie, dass Docker eine Virtualisierungslösung ist und nicht innerhalb einer VM installiert werden kann, es sei denn, diese VM unterstützt verschachtelte Virtualisierung)
  2. Probieren Sie das SharePoint Framework Docker-Image aus, das ich anhand der in diesem Artikel beschriebenen Schritte erstellt habe. Weitere Details über das Image finden Sie unter: https://hub.docker.com/r/waldekm/spfx/
  3. Das Rezept für die Erstellung dieses Docker-Images finden Sie unter https://github.com/waldekmastykarz/docker-spfx/blob/master/Dockerfile
  4. Weitere Informationen über Docker-Images und Docker-Container finden Sie unter docker.com

Ich würde gerne hören, wie Ihnen die Idee gefällt, das SharePoint Framework mit Docker zu verwenden, und ob Sie Ideen haben, es zu verbessern. Wenn Ihre SharePoint- und Office 365-Umgebungen gut etabliert sind, lohnt es sich außerdem, das Ausmaß des Wachstums Ihrer Plattform zu entdecken und zu verstehen.

Analysieren Sie SharePoint Framework-Lösungen mit Rencore

Rencore Code (SPCAF) ist die einzige Lösung auf dem Markt, die die Qualität Ihres SharePoint-Codes analysiert und sicherstellt. Sie können Verstöße gegen eine wachsende Anzahl von SPFx-Regelsätzen in Bezug auf Sicherheit, Leistung, Best Practices, Wartbarkeit und Supportfähigkeit überprüfen.