SharePoint-Framework (SPFx): Enterprise-LeitfadenSharePoint Framework (SPFx) enterprise guidance

Das SharePoint-Framework (oder SPFx) ist ein neues Entwicklungsmodell, das die Erweiterung der SharePoint-Benutzeroberfläche ermöglicht. Es wird von Erst- und Drittanbietern verwendet und ergänzt vorhandene Benutzeroberflächenmodelle, wie z. B. das SharePoint-Add-In-Modell. Das SharePoint-Framework ermöglicht einen strukturierten und unterstützten Ansatz zur Erweiterung und Bereicherung der Benutzeroberfläche von SharePoint mithilfe clientseitiger Frameworks, die von Grund auf für die Unterstützung clientseitiger Webparts ausgelegt sind. Es basiert auf modernen Webtechnologiestandards und bietet einen einzigartigen Satz von Features, mit denen SharePoint-Anpassungen für mehr Entwickler und Unternehmen verfügbar werden. Gleichzeitig ist es jedoch an früheren Modellen und Mustern in SharePoint ausgerichtet. In diesem Dokument bieten wir Administratoren das Hintergrundwissen, die Informationen zu den Vorteilen und das Know-how, das sie benötigen, um SharePoint-Framework-basierte Komponenten in ihren SharePoint-Umgebungen effektiv zu verwalten.The SharePoint Framework (or SPFx) is a new development model for SharePoint user interface extensibility. It is used by first and third parties, complementing already existing user interface models such as the SharePoint Add-in model. The SharePoint Framework allows for a structured and supported approach to enrich and extend the user interface of SharePoint, by using client-side frameworks with initial support for client-side web parts. Based on modern web technology standards, it offers a unique set of features to make SharePoint customizations more broadly available for developers and enterprises, but at the same time aligns with previous models and patterns in SharePoint. In this document, we provide administrators with the background, benefits, and knowledge they need to successfully manage SharePoint Framework-based components within their SharePoint environments.

HintergrundBackground

SharePoint wird schon lange als Anwendungs- und/oder Entwicklungsplattform verwendet und bietet zahlreiche Sätze von Entwicklungs- und Anpassungsoptionen – von voll vertrauenswürdiger Codeausführung auf den SharePoint-Servern über Sandkastenlösungen und Add-Ins bis hin zu Benutzeroberflächenanpassungen mit direkt verfügbaren Features oder per Einbettung von JavaScript/CSS.SharePoint has been used as an application and/or development platform for a long time and offered numerous sets of development and customization options ranging from full trust code executing on the SharePoint servers, to sandboxed solutions, to add-ins, to interface customizations achieved by using out-of-the box features or JavaScript/CSS embedding.

Im mehrinstanzenfähigen SharePoint Online wurde voll vertrauenswürdiger Code nie unterstützt, und der Sandkasten-Codedienst ist veraltet.Within multi-tenant SharePoint Online, full trust code has never been supported, and the sandboxed code service has been deprecated. Die gängigsten Muster für Anpassungen von SharePoint Online waren Add-Ins, Remotecodeausführung (Codeausführung an anderer Stelle, z. B. in Azure) über die Standard-APIs und JavaScript-Einbettung.The most common patterns for customizations of SharePoint Online have been either through add-ins, remote-code execution (code executing elsewhere, such as in Azure) through the standard APIs, and JavaScript embedding. Obwohl die JavaScript-Einbettung eine sehr leistungsfähige Möglichkeit zur Erweiterung von SharePoint war, erwies es sich für das Konzept als schwierig, mit der ständigen Weiterentwicklung des beliebten Modells von SharePoint Online Schritt zu halten.Although JavaScript embedding has been a very powerful way of extending SharePoint, it has also proven difficult to keep up with the evergreen model of SharePoint Online. Das SharePoint-Framework soll diese Probleme lösen, indem es ein standardisiertes Framework für die Erstellung benutzerdefinierter Benutzeroberflächenerweiterungen und unterstützter, zukunftsfähiger Anwendungen auf SharePoint Online-Basis bereitstellt.The SharePoint Framework aims to solve these issues by providing a standardized framework on how to create custom user interface extensions as well as building applications on top of SharePoint Online in a supported and future prepared way.

Der Schwerpunkt des SharePoint-Frameworks liegt anfänglich auf der Erweiterung der SharePoint-Benutzeroberfläche mit clientseitigen Webparts.The SharePoint Framework will initially focus on extending the SharePoint user interface by using client-side web parts. Die clientseitigen Webparts verwenden das bekannte Paradigma von Webparts – im Lauf der Jahre einer der Erfolgsfaktoren von SharePoint – die zu Seiten hinzugefügt und von den Endbenutzern selbstständig angepasst werden können.The client-side web parts uses the well-known paradigm of web parts, which has been one of the success factors of SharePoint over the years, that can be added to pages and independently customized by the end users. Diese clientseitigen Webparts funktionieren auf den neuen modernen Seiten ebenso wie auf den klassischen Seiten und sogar in der mobilen SharePoint-App.These client-side web parts work on the new modern pages as well as in classic pages and even in the SharePoint mobile app.

Das neue Modell basiert vollständig auf einem modernen Webstapel, der TypeScript/JavaScript, HTML und CSS nutzt, und alle Teile der generierten Artefakte werden im Browser der Endbenutzer ausgeführt.This new model is built from the ground-up by using a modern web stack that uses TypeScript/JavaScript, HTML, and CSS, and all parts of the generated artifacts are executed in the end-user's browser. Das SharePoint-Framework verfügt außerdem über einen komplett neuen Satz an Tools.The SharePoint Framework also comes with a completely new set of tooling. Diese neuen Tools sind plattformunabhängig, funktionieren auf PCs und Macs und basieren auf Open-Source-Technologien wie Node.js, Gulp, Webpack und Yeoman.This new tooling is platform-agnostic and works on PC and Mac and is based on open source technologies such as Node.js, Gulp, Webpack, and Yeoman. Diese Frameworks und Tools werden zur Erstellungszeit verwendet, um die Entwicklerumgebung zum Erstellen, Packen und Bereitstellen zu optimieren. Für die tatsächliche Ausführung des SharePoint-Framework-Codes sind sie nicht erforderlich.These frameworks and tools are used at build time to streamline the developer experience for building, packaging, and deploying; they are not required for the actual execution of the SharePoint Framework code.

Aktueller Status des SharePoint-FrameworksCurrent status of SharePoint Framework

Das SharePoint-Framework erreichte im Februar 2017 mit der Version 1.0.0 den Meilenstein der allgemeinen Verfügbarkeit (General Availability, GA).The SharePoint Framework reached the General Available (GA) milestone, with version 1.0.0, in February 2017.

Aktuelle Versionsinformationen zu SharePoint Framework: https://github.com/SharePoint/sp-dev-docs/wiki/SharePoint-Framework-v1.7-release-notes mit Version 1.7Latest release news about the SharePoint Framework: https://github.com/SharePoint/sp-dev-docs/wiki/SharePoint-Framework-v1.7-release-notes with version 1.7

Die EntwicklerperspektiveFrom a developer's point of view

Neue wie auch erfahrene SharePoint-Entwickler profitieren vom SharePoint-Framework.SharePoint developers, new and seasoned, all have something to gain from the SharePoint Framework. Die aktuelle Version ist auf die Erweiterbarkeit der Benutzeroberfläche konzentriert und ermöglicht dem Entwickler die sichere und strukturierte Erweiterung der Benutzeroberflächenfunktionen von SharePoint, zunächst mit clientseitigen Webparts.While the current release is focused on the user interface extensibility story, it allows the developer to, in a safe and structured way, extend the user interface capabilities of SharePoint by using, initially, client-side web parts. Diese Webparts werden clientseitig ausgeführt und können Daten aus SharePoint, aus Office 365 über Microsoft Graph oder auch aus benutzerdefinierten Web-APIs abrufen, die standardmäßige OAuth- und REST-Methoden verwenden.These web parts are executed client-side and can work with data in SharePoint, in Office 365 via the Microsoft Graph, or even by using your own custom Web APIs that use standard OAuth and REST methods.

Erfahrene SharePoint-Entwickler sind mit Konzepten wie Webparts und dem SharePoint-Datenmodell bereits vertraut.A seasoned SharePoint developer will be familiar with the concepts, such as web parts and the SharePoint data model. Die Tools zum Erstellen, Packen und Bereitstellen clientseitiger Webparts sind jedoch neu.However, the tooling for building, packaging and deploying client-side web parts will be new. Entwickler müssen insbesondere Kenntnisse in TypeScript erwerben, der primären Sprache für die Entwicklung von SharePoint-Framework-Artefakten.Developers need to gain skills in specifically TypeScript, which is the primary language for developing SharePoint Framework artifacts. TypeScript bietet mehrere Vorteile gegenüber JavaScript, die wichtig für die Entwicklung in Enterprise-Umgebungen sind, z. B. stark typisierte Objekte, Objektvererbung, Klassen und Schnittstellen und Konzepte. Java-, .NET- und C/C++-Entwickler sollten heute mit all diesen Konzepten vertraut sein.TypeScript adds several benefits on top of JavaScript, important for enterprise development, such as strongly typed objects, object inheritance, classes and interfaces, concepts which all should be familiar to current .NET, Java, and C/C++ developers. Bezüglich der Erstellung und Verpackung stellt Visual Studio für Entwickler nicht mehr die einzige Option zum Programmieren von SharePoint-Lösungen dar. Dank der Verwendung von Open-Source-Technologien und Projekten wie node.js, npm und Gulp kann die Entwicklung im SharePoint-Framework auf jeder beliebigen Plattform erfolgen, mit dem Code-Editor oder der IDE, die der Entwickler bevorzugt (beispielsweise Visual Studio Code, Sublime oder sogar Notepad).From a building and packaging point of view, developers no longer have Visual Studio as the only option to write SharePoint solutions; thanks to using open source technologies and projects such as node.js, npm, and Gulp, SharePoint Framework development can be done on any platform with the developers preferred code editor or IDE, for example Visual Studio Code, Sublime, or even Notepad.

Für Entwickler, die noch nie SharePoint-Lösungen erstellt haben, aber mit modernen Webtechnologien vertraut sind, sind die Hürden nicht allzu hoch, und viele Entwickler haben bereits auf clientseitige Entwicklung oder ein Kombinationsmodell umgestellt.For developers that have never built SharePoint solutions previously, but are familiar with modern web technologies, the threshold is not that high, and many developers have already moved to the client-side of development, or a combination of it. Die clientseitige Entwicklung ermöglicht eine bessere, dynamischere und reaktionsfähigere Oberfläche für Benutzer und auch eine einfachere Umgebung für Entwickler.Client-side development can provide a better, more dynamic and more responsive experience for users and even an easier experience for developers. Dank der freien Wahl des Code-Editors und der Verwendung gängiger Open-Source-Frameworks und -Technologien können viele Entwickler, die möglicherweise noch gar nicht innerhalb des Microsoft-Ökosystems gearbeitet haben, leicht den Einstieg in die Erstellung von SharePoint-Erweiterungen finden.Thanks to the freedom of the code editor, the use of well-known and popular open source frameworks and technologies, many developers that might not have worked within the Microsoft ecosystem can easily get up to speed on building SharePoint extensions.

Eines der meistverwendeten Muster bei der SharePoint Online-Erweiterung war die JavaScript-Einbettung (auch als JavaScript-Einfügung bezeichnet).One of the most common patterns in SharePoint Online extensibility has been the usage of JavaScript embedding (also known as JavaScript injection). Bei dieser Methode verwenden Sie z. B. das Skript-Editor-Webpart, um beliebigen JavaScript-Code auf der Seite einzufügen, und fügen dann per DOM (Document Object Model)-Manipulation im Webbrowser HTML, CSS und JavaScript ein, um eine Lösung oder Anwendung zu erstellen.This is a method where you use, for example, the Script Editor web part to insert arbitrary JavaScript on the page, and then use web browser DOM (Document Object Model) manipulation to inject HTML, CSS, and JavaScript to build a solution or application. Diese Methode hat viele Nachteile. Aufgrund ihrer strikten Abhängigkeit vom Aufbau der HTML- und CSS-Struktur in SharePoint führt sie sogar häufig dazu, dass Kunden die neuen Features in SharePoint Online nicht nutzen können.This method has a lot of disadvantages, and in many cases, even prohibited customers from taking advantage of the new features in SharePoint Online, due to its hard dependencies on how SharePoint built up the HTML and CSS structure. Das SharePoint-Framework ist eine bessere Möglichkeit, Anpassungen auf Basis von JavaScript-Einbettung zu implementieren, wenn auch noch kein vollständiger Ersatz.The SharePoint Framework allows a better way, although not yet a complete replacement, for these JavaScript embed customizations. Das SharePoint-Framework verwendet wie bereits erwähnt TypeScript, das einen relativ einfachen Übergang von JavaScript-Einbettungen zu einer standardisierten und zukunftssicheren Lösung ermöglicht.The SharePoint Framework, as said, uses TypeScript, which allows for a fairly easy transition of the JavaScript embeds to something standardized and future proof. Die OfficeDev PnP-Initiative bietet zudem Beispielprojekte und Richtlinien für diesen Übergang.The OfficeDev PnP initiative also has example projects and guidelines on how to make this transition.

Perspektive: das SharePoint-Framework in der umfassenderen SharePoint-PlattformIn perspective: SharePoint Framework in the broader SharePoint platform

Das SharePoint-Framework ist ein neues Modell, das die bereits vorhandenen Methoden ergänzt, jedoch den Fokus auf Benutzeroberflächenanpassungen mit größerem Mehrwert setzt, wie z. B. auf clientseitige Webparts.The SharePoint Framework is a new model, an addition to already existing methods, but focused on leveraging more value to user interface customizations such as client-side web parts. Dieses Framework ist darauf ausgelegt, in Verbindung mit vorhandenen funktionierenden Modellen eingesetzt zu werden, und erleichtert die Erstellung neuer Benutzeroberflächenanpassungen in einer besser unterstützten und nachhaltigeren Weise.This framework is designed to work in conjunction with already existing working models and makes it easier to create new user interface customizations in a more supported and sustainable way.

Vergleich mit Add-InsCompared with add-ins

SharePoint-Add-Ins, früher bekannt als SharePoint-Apps und eingeführt in SharePoint 2013, waren eine der Optionen zum unterstützten und gesteuerten Hinzufügen von Anpassungen zu SharePoint Online.SharePoint Add-ins, previously known as SharePoint Apps and introduced in SharePoint 2013, have been one of the only available options of adding customizations to SharePoint Online in a supported and governed way. SharePoint-Add-Ins erfordern jedoch wesentlich mehr Infrastruktur, als in vielen Fällen tatsächlich nötig wäre, in denen eine einfache Anpassung der Benutzeroberfläche erforderlich ist.However, SharePoint Add-ins require a lot more infrastructure than necessary in many cases where a simple user interface customization is needed.

Es gibt zwei Arten von SharePoint-Add-Ins: SharePoint-gehostete Add-Ins und anbietergehostete Add-Ins.SharePoint Add-ins come in two flavors: SharePoint-hosted and provider-hosted. SharePoint-gehostete Add-Ins waren eine der Möglichkeiten zur unterstützten Ausführung von clientseitigem Code in SharePoint, erfordern jedoch wie bereits erwähnt wesentlich mehr Aufwand als nötig, um ein einfaches clientseitiges (JavaScript-)Webpart einzufügen.SharePoint-hosted add-ins have been one of the ways of executing client-side code in SharePoint in a supported way, but as said require a lot more effort than necessary to just include a simple client-side (JavaScript) web part. In vielen Fällen wurden SharePoint-gehostete Add-Ins nur erstellt, um Artefakte wie Listen und Webparts auf einer SharePoint-Website bereitzustellen.In many cases SharePoint-hosted add-ins were built just to deploy artifacts, such as lists and web parts, onto a SharePoint site. Diese Add-Ins befinden sich im sogenannten App-Web, einer speziellen Website mit begrenzten Features.These add-ins live in a "special" site called the App Web, which is a site with limited features.

Anbietergehostete Add-Ins werden dagegen remote von SharePoint (Online) ausgeführt und können sowohl serverseitigen Code als auch clientseitigen Code nutzen.Provider-hosted add-ins, on the other hand, are add-ins that are executed remotely from SharePoint (Online) and can leverage server-side code as well as client-side code. Dies hat einen Vorteil für unabhängige Softwarehersteller, die ihr geistiges Eigentum/ihren Code/ihre Logik schützen möchten, und für Szenarien, die nicht clientseitig mit JavaScript ausgeführt werden können. Dies gilt z. B. für rechenintensive Vorgänge mit langer Ausführungszeit oder Zugriffe auf Remotedaten, die nicht mit clientseitigen Skripts ausgeführt werden können.This has a benefit for ISVs that want to protect their intellectual property/code/logic and for scenarios that can't be executed client-side by using JavaScript, such as long-running, calculation-heavy operations or access to remote data that cannot be achieved by using client-side scripting.

Der größte Vorteil von Add-Ins ist die Isolierung: Da der eigentliche Code nicht auf der SharePoint-Website ausgeführt wird, verhindert der Schutz des Browsers vor websiteübergreifendem Scripting, dass das Add-In dieselben Zugriffsrechte wie der Benutzer erhält.The primary advantage of add-ins is isolation: because the actual code is not executed in the SharePoint site browser, cross-site scripting protections prevent the add-in from getting the same access as the user has. Add-Ins sind auf die Berechtigungen beschränkt, die ihnen zur Installationszeit erteilt wurden.Add-ins are limited to the permissions that the add-in was granted at install time. Dies macht Add-Ins zu einer sichereren Option für Szenarien, in denen ein Administrator ein Add-In eines Drittanbieters erwirbt, und es ermöglicht Microsoft die Einrichtung eines Stores, aus dem Sie Add-Ins herunterladen können.This makes add-ins a safer option for scenarios where an admin acquires an add-in from a third party, and it also allows Microsoft to have a Store from where you can download add-ins.

Das SharePoint-Framework funktioniert parallel mit SharePoint-gehosteten und anbietergehosteten Add-Ins, kann aber auch als Alternative verwendet werden, wenn nur clientseitige Skripts erforderlich sind.The SharePoint Framework works side-by-side with both SharePoint-hosted and provider-hosted add-ins, but can also be used as an alternative in scenarios where only client-side scripting is required. Beispielsweise können Add-Ins App-Webparts zu der Website hinzufügen, auf der sie gehostet werden.For example, add-ins can add app parts to the site where they are hosted. Diese App-Webparts ähneln Webparts, werden aber statt im Kontext der Seite in ihrer eigenen Domäne (App-Web oder anbietergehostetes Web) in einem iFrame auf der Seite ausgeführt.These app parts are similar to web parts, but instead of running in the context of the page, they run in their own domain (App Web or provider-hosted web) within an Iframe on the page. Dies verhindert, dass das Add-In den Benutzerkontext vom Rest der Seite übernimmt.This prevents the add-in from gaining the user context from the rest of the page.

Das SharePoint-Framework wird dagegen nicht in einem iFrame ausgeführt.The SharePoint Framework, on the other hand, does not run in an Iframe. Auf diese Weise kann es nahtloser im Kontext der Seite ausgeführt werden, mit dem ganzen Leistungsumfang des Benutzers, der das Webpart anzeigt.Thanks to this, it can more seamlessly run in the context of the page with the full power of the user viewing the part. Dieser Umstand macht es möglich, dass Webparts mit einem großen Funktionsumfang ausgeführt werden können. Andererseits bedeutet er auch, dass nicht dieselben Sicherheitskontrollen zur Verfügung stehen wie bei Add-Ins. SharePoint-Framework-Lösungen werden daher auch als voll vertrauenswürdige clientseitige Lösungen bezeichnet.This is the key to enabling it to run with rich functionality, but at the same time this means that it does not have the same level of security controls as add-ins. SharePoint Framework solutions are due to this also being referred to as full trust client-side solutions. Bei iFrames besteht das Problem, dass sie nicht reaktionsfähig sind, sodass die gerenderte Webseite auf einem Mobiltelefon oder bei einer anderen Bildschirmgröße nicht so flüssig dargestellt wird.Iframes suffer from the problem that they are not responsive, which results in the rendered webpage not being as fluent on a mobile phone or alternate screen size.

Für SharePoint-Framework-Lösungen gibt es zum Zeitpunkt der Erstellung dieses Artikels aus den genannten Sicherheitsgründen keinen Store, aus dem Sie Lösungen herunterladen und installieren können.The SharePoint Framework solutions do not, at the time of writing, have a store where you can download and install solutions, due to the security aspect mentioned earlier. Andererseits ist die Verwendung des Benutzerkontexts häufig ein gewünschtes Szenario, in dem stattdessen das SharePoint-Framework verwendet werden kann.On the other hand, in many scenarios, using the user's context is a wanted scenario where SharePoint Framework could be used instead.

JavaScript-EinbettungenJavaScript embeddings

Eine der gängigen Vorgehensweisen von Entwicklern bestand in einer Methode namens JavaScript-Einbettung (auch als JavaScript-Einfügung bezeichnet).One of the more popular approaches used by developers has been to use a method called JavaScript embeddings (also known as JavaScript injections). Das bedeutet, dass beliebiger JavaScript-Code auf den Websites und Seiten eingefügt wurde, z. B. in Gestalt von benutzerdefinierten Aktionen, Gestaltungsvorlagen oder Seitenlayouts und sogar Skript-Editor-Webparts.That means that arbitrary JavaScript has been inserted to the sites and pages by using, for example, Custom Actions, master pages, or page layouts, and even Script Editor web parts. Diese Methode hat sich als einfacher als das Erstellen von SharePoint-gehosteten Add-Ins erwiesen und ermöglicht es außerdem, den Skriptcode im vollständigen Kontext der Benutzer auszuführen. Daher wurde sie sehr populär.This method has proven simpler than creating SharePoint-hosted add-ins, and allows the script code to run in the full context of the users, and therefore gained a lot of popularity. Der Nachteil dieses Ansatzes ist, dass viele dieser Einbettungen auf DOM-Manipulation beruhten und ihre Erstellung und Pflege vom Benutzer einiges Fachwissen erforderten.The downside with this approach is that many of these embeddings relied on DOM manipulation and required developers' skills to do and maintain.

Aufgrund der andauernden Beliebtheit von SharePoint Online konnten diese mit JavaScript-Einbettungen erstellten Lösungen bei jedem Update von SharePoint Online unbrauchbar werden, da die Entwickler möglicherweise Abhängigkeiten (auch unbeabsichtigt) von der Struktur oder Formatierung der SharePoint-Seiten verwendeten.Due to the evergreen nature of SharePoint Online, these solutions built by using JavaScript embeddings could potentially break whenever SharePoint Online was updated, because the developers might have taken dependencies (even accidentally) on how the SharePoint pages are structured or styled. Wenn Updates in SharePoint ausgeführt werden, auch Nebenversionen und geringfügige Updates, kann dies große Auswirkungen auf diese Lösungen haben und dazu führen, dass das eingebettete JavaScript nicht mehr ausgeführt werden kann.When updates are done in SharePoint, even minor and subtle, it can have huge impacts on these solutions and cause the embedded JavaScript to break completely.

Mit dem SharePoint-Framework steht nun eine von Microsoft standardisierte und unterstützte Möglichkeit zur Verfügung, um viele dieser zuvor mit JavaScript-Einbettungen erstellten Lösungen zu realisieren.Now with the SharePoint Framework, there is a Microsoft standardized and supported way to achieve many of these solutions previously built by using JavaScript embeddings.

Skript-Editor-WebpartsScript Editor web parts

Am häufigsten wird zum Einfügen von beliebigen HTML-, JavaScript- oder CSS-Anpassungen in SharePoint das Skript-Editor-Webpart oder das Inhalts-Editor-Webpart verwendet.The most common way of inserting arbitrary HTML, JavaScript, or CSS customizations in SharePoint is to use the Script Editor web part or the Content Editor web part. Skript-Editor-Webparts sind beliebt, weil es mit ihnen so einfach ist, benutzerdefinierte Skripts zu jeder beliebigen Seite hinzuzufügen.Script Editor web parts have gained popularity due to how easy it is to add custom scripts to any page. Jeder Bearbeiter einer Website kann ein Skript-Editor-Webpart zu einer Seite hinzufügen, JavaScript-Code kopieren und dort einfügen und diesen JavaScript-Code die notwendigen Anpassungen ausführen lassen.Any editor of a site can add a Script Editor web part to a page, copy and paste JavaScript into it, and have that JavaScript perform the necessary customizations. Wie bei JavaScript-Einbettungen kann es eine Herausforderung für Administratoren darstellen, die Kontrolle über Skript-Editor-Webparts zu behalten.Just as with JavaScript embeddings, it can be a challenging task for administrators to have control of Script Editor web parts.

Das SharePoint-Framework kann in vielen Fällen ein direkter Ersatz für solche Konfigurationen mit Skript-Editor-Webparts sein.The SharePoint Framework can in many cases be a direct replacement for these Script Editor web part configurations.

Steuerung von Skriptfunktionen in SharePoint OnlineControl of scripting capabilities in SharePoint Online

SharePoint Online ermöglicht Administratoren die Steuerung der Möglichkeit, Websites und Seiten benutzerdefinierte Skripts hinzufügen, um die Sicherheit und Integrität des Mandanten zu erhöhen.SharePoint Online allows the admins to control the ability to add custom scripts to sites and pages to increase the security and integrity of the tenant. Dies geschieht mithilfe des Features „Benutzerdefiniertes Skript“ auf der SharePoint Online-Verwaltungswebsite oder einzeln pro Website mithilfe von PowerShell.This is done by using the "Custom Script" feature in the SharePoint Online admin site, or individually per site by using PowerShell. Benutzerdefinierte Skripts können auf allen Websites oder nur auf persönlichen Websites deaktiviert werden.Custom scripts can be disabled on all sites or just on personal sites. Standardmäßig ist für neue Mandanten das Scripting auf persönlichen Websites, auf allen per Self-Service erstellten Websites und in der Stammwebsitesammlung des Mandanten deaktiviert.By default, new tenants have scripting disabled on personal sites, all self-service created sites, as well as the root site collection of the tenant. Wenn benutzerdefinierte Skripts deaktiviert sind, können Bearbeiter von Websites keine Webparts wie das Skript-Editor-Webpart hinzufügen.When custom scripts are disabled, editors of sites are not allowed to add web parts such as the Script Editor web part. Jedoch sind SharePoint-Framework-Lösungen zulässig, da diese als sicher gelten, sobald sie von einem Administrator im App-Katalog genehmigt wurden.However, SharePoint Framework solutions are allowed because they are considered safe after being approved by an administrator in the app catalog.

Unterschiede bei der Erstellung von SharePoint-Framework-Lösungen und ihre BedeutungDifferences in how SharePoint Framework solutions are created, and why it matters

Dem SharePoint-Framework liegt ein neues Paradigma für SharePoint-Entwickler beim Entwerfen, Erstellen und Bereitstellen von SharePoint-Anpassungen zugrunde, das einen modernen Webstapelansatz verwendet und auf clientseitige/browserbasierte Anpassungen konzentriert ist.The SharePoint Framework uses a new paradigm to SharePoint developers in how to design, build and deploy SharePoint customizations, by leveraging a modern web stack approach and focusing on client-side/browser based customizations. Dies ist eine wichtige Wende bei der Behandlung der SharePoint-Entwicklung.This marks an important change in how SharePoint development is being treated.

Durch die Verwendung von Technologien und Frameworks wie beispielsweise TypeScript, Node.js, Yeoman und Gulp zieht das SharePoint-Framework hoffentlich Entwickler an, die bisher noch nicht im SharePoint-Ökosystem gearbeitet haben, vielleicht sogar nicht einmal im Microsoft-Ökosystem. Gleichzeitig soll es bestehenden SharePoint-Entwicklern das Erstellen von SharePoint-Anpassungen mit einem moderneren, standardisierten Ansatz erleichtern.By using technologies and frameworks such as TypeScript, Node.js, Yeoman, Gulp and more, the SharePoint Framework hopefully will attract developer audiences that traditionally have not been in the SharePoint, or even Microsoft, eco-system, while at the same time, open the doors for existing SharePoint developers to build SharePoint customizations by using a more modern and standardized approach.

Erstellen von LösungenCreating solutions

Da für die SharePoint-Entwicklung die sehr spezifischen und maßgeschneiderten Tools von Visual Studio benötigt wurden, lief sie bisher in der Regel auch ausschließlich über Visual Studio, auf Windows-Rechnern mit einer installierten und aktiven SharePoint-Instanz. Das schränkte die Hardwareauswahl und die Benutzereinstellungen erheblich ein und trieb die Entwicklungskosten in die Höhe.Because of the need for very specific and targeted tools provided via Visual Studio, SharePoint development was typically solely done via Visual Studio on a Windows machine with an instance of SharePoint installed and running, which severely limited the hardware and user preferences, and increased development costs. Das SharePoint-Framework verwendet dagegen verschiedene gängige Open-Source-Webtools, die für eine Reihe von Plattformen wie z. B. Mac OS und Linux verfügbar sind, um größere Flexibilität bei der Entwicklung zu ermöglichen.The SharePoint Framework, on the other hand, uses various common open source web tools available for many different platforms, like MacOS and Linux, to allow for more flexibility in development.

SharePoint-Framework-Lösungen werden mit einer Kombination aus einem Tool namens Yeoman und einem spezifischen SharePoint-Framework-Generator erstellt, der auf Node.js basiert.SharePoint Framework solutions are created by using a tool called Yeoman along with a specific SharePoint Framework generator, which is based on Node.js. Yeoman ist ein Tool zum Erstellen eines Projektgerüsts. Es erstellt das Projekt und generiert die erforderlichen Artefakte, installiert die benötigten Node.js-Pakete und konfiguriert das Buildsystem.Yeoman is a project scaffolding tool that will create your project and generate the required artifacts, install the needed Node.js packages, and configure the build system. Nachdem das Projekt generiert wurde, kann es in einem beliebigen Editor unter einem beliebigen Betriebssystem bearbeitet werden, z. B. in Visual Studio, Visual Studio Code, Sublime oder Atom.After the project is generated, it can be edited in any editor on any operating system: Visual Studio, Visual Studio Code, Sublime, or Atom for example. Dadurch wird eine größere Vielfalt in Nutzungsverhalten und Stilen in und zwischen Teams ermöglicht.This allows for a wider usage preference and style, in and between teams. Der Yeoman-Generator kann mehrfach für dasselbe Projekt ausgeführt werden, um zusätzliche Artefakte hinzuzufügen, z. B. clientseitige Webparts.The Yeoman generator can be run multiple times on the same project to add additional artifacts, such as client-side web parts.

Entwickeln und Erstellen von LösungenDeveloping and building solutions

Das Buildsystem basiert auf Gulp, einem Tool zur Aufgabenausführung, das die SharePoint-Framework-Artefakte erstellt, verpackt und optional auch bereitstellt.The build system is based on Gulp, which is a task runner that builds, packages, and optionally deploys the SharePoint Framework artifacts. Wie Yeoman basiert auch Gulp auf Node.js und ermöglicht Entwicklern das Erstellen und Bereitstellen unter jedem beliebigen Betriebssystem.Like Yeoman, Gulp is also based on Node.js and allows developers to build and deploy on any operating system.

Eine neue Komponente des Buildtoolsets für das SharePoint-Framework wird als Workbench bezeichnet.One new part of the build toolset for SharePoint Framework is called the Workbench. Die Workbench ist ein Tool, mit dem der Entwickler seine SharePoint-Framework-Lösung hosten und testen kann.The Workbench is a tool where the developer can host and test their SharePoint Framework solution. Die Workbench ist reaktionsfähig und lädt die Artefakte automatisch neu, sobald der Entwickler eine Datei speichert, sodass er seine Lösungen schnell sehen und testen kann.The Workbench is reactive and will automatically reload your artifacts when the developer saves a file so that developers can see and test the solution quickly.

Es gibt zwei Versionen der Workbench. Eine wird außerhalb von SharePoint lokal auf dem Entwicklungscomputer gehostet, der offline ohne SharePoint-Zugriff und SharePoint-Daten ausgeführt wird.There are two versions of the Workbench, one outside of SharePoint, hosted locally on the development machine that runs offline without SharePoint access and SharePoint data. Mit dieser Version können Team und Designer Lösungen mit simulierten Daten oder Beispieldaten erstellen und entwerfen. Das erlaubt es ihnen, sich auf die Benutzeroberfläche zu konzentrieren.This allows the team and designers to build and design solutions with mock or fake data to focus on the user interface. Die zweite Version wird in SharePoint gehostet. Sie wird verwendet, wenn die SharePoint-Framework-Lösung mit realen SharePoint-Daten im realen SharePoint-Kontext getestet und überprüft werden muss.The second version is hosted inside SharePoint and is used when you need to test and verify the SharePoint Framework solution by using real SharePoint data and context.

Bereitstellen von SharePoint-Framework-LösungenDeploying SharePoint Framework solutions

Das Bereitstellen von SharePoint-Framework-Lösungen erfolgt in zwei Schritten. Im ersten werden die vom Buildprozess gepackten Skriptartefakte an einem CDN-Speicherort (Content Delivery Network) bereitgestellt.Deploying SharePoint Framework solutions is done in two steps: the first one being deploying the script artifacts packaged by the build process to a CDN (Content Delivery Network) location. Im zweiten Schritt wird das Lösungspaket dem App-Katalog hinzugefügt und für die Verwendung in Ihrem Mandanten genehmigt.The second step is to add the solution package to the app catalog and approve it for usage in your tenant. Das dem SharePoint-App-Katalog hinzugefügte Paket enthält einen Verweis auf den CDN-Speicherort.The package added to the SharePoint app catalog contains a pointer to the CDN location.

Entwickler einer SharePoint-Framework-Lösung können jeden beliebigen CDN-Dienst verwenden, z. B. Azure Storage, Azure CDN oder auch SharePoint selbst, bevorzugt mithilfe der Funktionen des SharePoint-CDN (siehe weiter unten in diesem Artikel).Developers of the SharePoint Framework solution can choose to use any CDN service, such as Azure Storage, Azure CDN, or even SharePoint itself, preferably by using the SharePoint CDN features (see later in this document). Bei Verwendung eines öffentlichen CDN, bei dem die im CDN bereitgestellten Objekte im Internet öffentlich verfügbar sind, kann die SharePoint-Framework-Lösung von vielen Mandanten verwendet werden.Using a public CDN, where the assets deployed to the CDN are publicly available on the Internet, allows for usage of the SharePoint Framework solution to be used by many tenants. Bei einer im SharePoint-CDN bereitgestellten SharePoint-Framework-Lösung sind die bereitgestellten Skripts und Ressourcen nur für den Mandanten verfügbar, in dem die Lösung bereitgestellt wird.In a SharePoint CDN-deployed SharePoint Framework solution, the deployed scripts and resources are only available for the tenant it is deployed into.

Standardmäßig enthalten die Buildtools eine integrierte Aufgabe, die die gepackte Lösung in Azure Blob Storage bereitstellt.By default, there is a built-in task in the build tools to deploy the packaged solution to Azure Blob storage. Dies wird in der Regel von Systemintegratoren oder ISVs erweitert, um benutzerdefinierte CDN-Speicherorte oder Konfigurationen zu unterstützen.This is something that is typically extended, by SIs or ISVs, to support custom CDN locations or configurations.

Nach Änderung des Codes und Erstellung der Lösung erzeugt die SharePoint-Framework-Toolkette ein neues Lösungspaket (.sppkg) und eine Reihe von Skriptdateien.After changing the code and building the solution, the SharePoint Framework toolchain produces a new solution package (.sppkg) and a set of script files. Diese Skriptdateien enthalten einen eindeutigen Hash im Dateinamen, welcher angibt, dass der Inhalt dieser Dateien von den zuvor bereitgestellten Versionen abweicht.These script files include a unique hash in their file name, which indicates that the contents of these files differ from their previously deployed versions. Um eine neue Version der Lösung zu verwenden, müssen Sie die neuen Skripts im CDN bereitstellen und das Lösungspaket im App-Katalog aktualisieren.To use a new version of the solution, you must deploy the new set of scripts to your CDN and update the solution package in the app catalog. Theoretisch könnten Sie den Inhalt der vorhandenen Skriptdateien ersetzen, statt das Lösungspaket zu aktualisieren; dies ist jedoch unzuverlässig und wird nicht empfohlen.While theoretically you could replace the contents of the existing script files and avoid upgrading the solution package, it's unreliable and not recommended. Je nach Konfiguration des CDN werden möglicherweise zuvor heruntergeladene Skriptdateien für längere Zeit auf den Clientcomputern zwischengespeichert, was das Rollout der Lösung für die Endbenutzer erschwert.Depending on the configuration of your CDN, it could be that the previously downloaded script files are cached for a long time on the client computers, complicating the rollout of the solution to end-users.

Der Speicherort des CDN ist wichtig.The location of the CDN is important. Der Speicherort, in dem die SharePoint-Framework-Objekte gehostet werden, muss hohe Verfügbarkeit bieten. Daher werden vertrauenswürdige CDN-Anbieter wie Azure, Akamai oder ähnliche sowie SharePoint selbst empfohlen.The location where the SharePoint Framework assets are hosted must have high availability, so trusted CDN providers such as Azure, Akamai, or similar, and SharePoint itself, are recommended. Unter Sicherheitsgesichtspunkten ist es wichtig zu wissen, welche CDNs von den bereitgestellten SharePoint-Framework-Lösungen verwendet werden.From a security standpoint, it is important to know what CDNs are in use by the SharePoint Framework solutions deployed. Ein fehlerhaftes CDN kann auch die SharePoint-Framework-Lösungen beeinträchtigen. Im schlimmsten Fall kann ein kompromittiertes CDN dazu führen, dass die Daten im SharePoint (Online)-Mandanten ebenfalls kompromittiert werden.A broken CDN can also break the SharePoint Framework solutions, and in the worst case scenario, a compromised CDN might lead to the data in the SharePoint (Online) tenant also being compromised.

Bei der Genehmigung von SharePoint-Framework-Lösungen von Drittanbietern besteht ein übliches Checklistenelement in der Überprüfung des Zertifizierungsstatus und der Vertrauenswürdigkeit des CDN-Speicherorts sowie aller Drittanbieter, die sie hosten können.When approving third-party SharePoint Framework solutions, a typical checklist item is to check the authority and trust of the CDN location and any third parties that might host them. Denn nachdem die Anwendung installiert ist und in SharePoint-Websitesammlungen verwendet wird, gilt für die betreffenden Websitesammlungen eine Abhängigkeit von dem CDN-Speicherort.This is because after the application is installed and used within SharePoint site collections, these site collections have a dependency on the CDN location. Derzeit gibt es keine einfache Möglichkeit, diesen Endpunkt zu kontrollieren.As of this writing, there is no easy way to control that end-point. Der Drittanbieter des CDN kann über Updates ohne Wissen des Benutzers erwünschte ebenso wie unerwünschte Änderungen implementieren und so Angriffspunkte schaffen, da das SharePoint-Framework im Kontext des Benutzers ausgeführt wird und alle Aktionen ausführen kann, die dem Benutzer erlaubt sind.The third-party provider of the CDN can update with both wanted and unwanted changes without the users' knowledge, opening an attack surface, given that the SharePoint Framework is running under the users' context and can do whatever the users can do.

IT-Administratoren wird empfohlen, nachzuverfolgen, welche CDNs verwendet werden und welche CDNs von der Organisation genehmigt wurden – diese Informationen sollten auch an die Entwickler im Unternehmen kommuniziert werden.A recommendation is for IT administrators to keep track of what CDNs are used and what CDNs are approved by the organization, which should also be communicated to the enterprise developers.

Öffentliches Office 365-CDNOffice 365 Public CDN

Das öffentliche Office 365-CDN ist ein neues Feature in Office 365 und SharePoint Online, das es Administratoren ermöglicht, statische Objekte wie JavaScript-Dateien, Bilder und CSS-Formatvorlagen automatisch in einem CDN zu hosten, um die Leistung zu steigern.The Office 365 Public CDN is a new capability in Office 365 and SharePoint Online that allows administrators to automatically host static assets such as JavaScript files, images, and CSS styles in a CDN to provide better performance. Das öffentliche Office 365-CDN ist ein Feature für geografisch verteiltes Caching, das statische Objekte möglichst nahe an den Endbenutzerbrowsern zwischenspeichert, von denen sie angefordert werden.The Office 365 Public CDN is a geo-distributed caching feature that keeps static assets as close to the end-users' browsers requesting them.

Administratoren können das öffentliche Office 365-CDN in designierten Dokumentbibliotheken aktivieren, die als Ursprung für die statischen Objekte dienen.Administrators can enable the Office 365 Public CDN capability on one or more designated document libraries, which will serve as the origin for the static assets. Die Verwaltung der Bibliotheken und des CDN erfolgt mit SharePoint Online PowerShell-Cmdlets.Administration of the libraries and the CDN are done by using the SharePoint Online PowerShell cmdlets. Die Objekte in der Dokumentbibliothek werden in das Office 365-CDN repliziert und sind dann über auf das öffentliche Office 365-CDN weisende URLs zugänglich, die generiert und der Dokumentbibliothek zugeordnet werden.The assets in the document library will be replicated to the Office 365 CDN and be accessible through the Office 365 Public CDN URLs generated and associated with the document library. Alle Aktualisierungen an den Objekten werden innerhalb von 15 Minuten auf die CDN-Endpunkte übertragen.Any updates to the assets will be reflected on the CDN end-points within 15 minutes. Beachten Sie, dass alle Ressourcen in den Dokumentbibliotheken über den CDN-Endpunkt für anonyme Benutzer zur Verfügung stehen.Note that any assets within the document libraries will be available for anonymous users, through the CDN end-point.

Das SharePoint-Framework im UnternehmenSharePoint Framework in the enterprise

SharePoint war und ist eine der erfolgreichsten Plattformen für die Zusammenarbeit im Unternehmen. Einer der Gründe für ihren Erfolg war die Möglichkeit, SharePoint zu erweitern und als Plattform für Anwendungen und Integrationen zu verwenden.SharePoint is and has been one of the most successful enterprise collaboration platforms, and one of the reasons for its success has been the possibility to extend SharePoint and consider it as a platform for applications and integrations. Das SharePoint-Framework wird diesen Erfolg fortsetzen, indem es SharePoint zu einer moderneren Plattform für die unterstützte und standardisierte Erstellung clientseitiger Anpassungen macht.The SharePoint Framework will further expand this success by making SharePoint a more modern platform on which to build client-side customizations in a supported and standardized way.

Enterprise-EntwicklerEnterprise developers

Das SharePoint-Framework ermöglicht es Enterprise-Entwicklern (in der Regel Entwickler von Anwendungen für den Einsatz in einer Organisation), SharePoint oder SharePoint Online in einer strukturierten und unterstützten Weise um neue Funktionen zu erweitern.The SharePoint Framework allows Enterprise developers, typically developers that create applications for use within an organization, to extend SharePoint (Online) with new functionality in a structured and supported way. Das SharePoint-Framework bietet alles Nötige, vom Entwicklungsframework über die Buildpipeline bis hin zu Funktionen für die eigentliche Bereitstellung, und ermöglicht es Entwicklern, in kurzer Zeit alle Websitesammlungen mit neuen Lösungen und Features zu erweitern, alles gesteuert durch den App-Katalog.The SharePoint Framework offers everything from the development framework and build pipeline to the actual deployment, and allows the developers in a short time to reach out to all site collections with new solutions and features, all controlled by the app catalog. In einem Unternehmensszenario haben Sie zudem volle Kontrolle über die CDN-Speicherorte (externe oder interne in SharePoint) und können sehr leicht Fixes und Updates in der gesamten Organisation bereitstellen.In an enterprise scenario, you also have full control of the CDN locations, external or internal in SharePoint, and you can very easily deploy fixes and updates to your whole organization.

Innerhalb des Unternehmens sollten Administratoren und Entwickler gemeinsam eine Blaupause für die Bereitstellung von SharePoint-Framework-Lösungen erarbeiten.Within your enterprise, administrators and developers jointly should create a blue print for how SharePoint Framework solutions should be deployed. Die Blaupause sollte Details zu bevorzugten clientseitigen Frameworks, CDN-Speicherorten usw. enthalten. Weitere Informationen finden Sie weiter unten im Abschnitt Erstellen eines Plans für SharePoint-Framework-Anpassungen.The blue print should contain details on preferred client-side frameworks, CDN locations, etc. For more details, see the section later on Building a plan around SharePoint Framework customizations.

EinzelentwicklerCitizen developers

Einzelentwickler, auch Citizen Developers genannt, verwenden SharePoint schon seit Langem zur Erstellung von Geschäftsanwendungen. Dabei benutzen sie seit jeher eine Vielzahl unterschiedlicher Methoden und Techniken.Citizen developers have for a long time used SharePoint to build business applications by using many methods and techniques. Das SharePoint-Framework wird für bestimmte Szenarien, insbesondere JavaScript-Einbettungen und Lösungen mit Skript-Editor-Webparts, einen großen Fortschritt bedeuten.SharePoint Framework will for certain scenarios, specifically JavaScript embeddings and Script Editor web part solutions, be one good way forward. Es wird diese Lösungen standardisierter machen und ihre Pflege langfristig vereinfachen.This to make these solutions more standardized and maintainable over time. Für Einzelentwickler bedeutet es möglicherweise einen gewissen Einarbeitungsaufwand, sich an die neue strukturierte Art der Erstellung von Lösungen zu gewöhnen; sie wird sich jedoch langfristig als stabiler, sicherer und besser verwaltbar erweisen.For citizen developers, there might be a little bit of a learning curve to adjust to this new structured way of building solutions, but will in the long run prove to be more stable, secure, and maintainable.

Wenn die oben genannten Steuerungsmethoden auf Basis des Features Benutzerdefiniertes Skript aktiviert sind, dürfen Einzelentwickler keinen beliebigen JavaScript-Code und keine Skript-Editor-Webparts hinzufügen.Given that the above mentioned Custom Script control methods are in place, the citizen developers will not be allowed to add arbitrary JavaScript code or Script Editor web parts. Dies kann Ihre SharePoint-Umgebung potenziell stabiler und besser verwaltbar machen, aber gleichzeitig die Innovationskraft in Ihrem Unternehmen hemmen. Sie sollten also dafür sorgen, dass sich Einzelentwickler in Ihrem Unternehmen hinsichtlich des Einsatzes des SharePoint-Frameworks mit Ihren Enterprise-Entwicklern abstimmen.This can potentially make your SharePoint environment more stable and maintainable, but at the same time you might prohibit innovation in your company, so you should make sure that your citizen developers align with your enterprise developers on using SharePoint Framework going forward.

Benutzeroberflächendesigner und Front-End-EntwicklerUser experience designers and front-end developers

Für Webentwickler oder Benutzeroberflächendesigner wird das SharePoint-Framework sehr nützlich sein.For web developers or user experience/interface designers, the SharePoint Framework will be very valuable. Die Workbench ermöglicht Front-End-Entwicklern die Verwendung von SharePoint-Framework-Lösungen unter jedem beliebigen Betriebssystem und die Verwendung ihrer bevorzugten Bearbeitungstools ohne SharePoint. Dabei können sie simulierte Daten verwenden und sich auf die Benutzeroberfläche konzentrieren.The Workbench allows front-end developers to work with a SharePoint Framework solution on any operating system and by using their preferred editing tools without SharePoint, given that they use mock data, and focus on the user experience.

Das SharePoint-Framework wird parallel mit Office UI Fabric, dem offiziellen Front-End-Entwicklungsframework für Office und Office 365, veröffentlicht und ermöglicht es Benutzeroberflächendesignern, eine nahtlose Oberfläche für Office, Office 365 und benutzerdefinierte Lösungen zu erstellen.The SharePoint Framework is released in parallel with Office UI Fabric, which is the official front-end development framework for Office and Office 365, and allows the user experience designers to create a seamless experience across Office, Office 365, and the custom-built solutions.

Systemintegratoren (SI)System Integrators (SI)

Wenn Sie Systemintegratoren (SI) oder Beratungsfirmen mit der Erstellung von SharePoint- und Office 365-Lösungen beauftragen, sollten Sie Empfehlungen oder sogar Anforderungen für die Erstellung von SharePoint-Framework-Lösungen zusammenstellen, damit sie sich an den Plan Ihres Unternehmens für das SharePoint-Framework halten können.If you leverage System Integrators (SI) or consultancies to build your SharePoint and Office 365 solutions, you should place recommendations, or even requirements, on how they should build SharePoint Framework solutions so that they are aligned with your enterprise plan for the SharePoint Framework.

Systemintegratoren haben in der Regel eine bevorzugte Art, Lösungen zu erstellen, die nicht immer mit den Governance-Vorgaben Ihres Unternehmens konform ist. Eine Abstimmung mit den Systemintegratoren ist daher wichtig und macht letztendlich allen Beteiligten die Arbeit einfacher.Typically, System Integrators have a preferred way of building their solutions, which might not always be aligned with your governance, so this discussion with the System Integrators is important and will in the end make it easier for all parties. Ein typisches Szenario mit Systemintegratoren besteht darin, dass diese die Lösung für Ihr Unternehmen erstellen und Sie nach Abschluss des Projekts selbst die Aufgabe haben, die Lösung zu verwalten, upzugraden und zu aktualisieren. Daher ist es umso wichtiger, dass Sie sich mit den Systemintegratoren darüber abstimmen, wie die SharePoint-Framework-Lösungen erstellt und gehostet werden.A typical scenario with System Integrators is that they build the solution for your company, and after the project is complete, it is up to you to maintain, upgrade, and update the solution, which only emphasizes that you need to align with the SI on how the SharePoint Framework solutions are built and hosted.

Unabhängige Softwarehersteller (ISV)Independent software vendors (ISV)

Unabhängige Softwarehersteller (ISV) sind Organisationen, die Drittanbieterlösungen für den Massenmarkt erstellen, und sie erfüllen möglicherweise nicht immer Ihren Plan für SharePoint-Framework-Lösungen.Independent software vendors (ISV) are organizations building third-party solutions for the mass market, and they might not always fulfill your plan on SharePoint Framework solutions. Zudem sind ISVs in der Regel Eigentümer ihres Codes und ihres geistigen Eigentums, wodurch es schwierig für Sie ist, ihre Art der Implementierung und des Hostings ihrer Lösungen zu ändern.Also, ISVs typically own their own code and intellectual property, which makes it very hard for you to change the way they implement and host their solutions.

Bei Verwendung von SharePoint-Framework-Lösungen von Drittanbietern müssen Sie genau analysieren, wie sie Updates verwalten und wie ihre Lösungen gehostet werden.In the case of using SharePoint Framework solutions from third-party providers, you need to specifically consider how they manage updates and how their solutions are hosted. Wollen Sie beispielsweise zulassen, dass die Lösung ohne Ihr Wissen aktualisiert wird?For example: Do you allow the solution to be updated without your knowledge? Wollen Sie zulassen, dass die statischen Objekte ohne Ihre Kontrolle im CDN des ISV gehostet werden?Do you allow the static assets to be hosted on the ISV's CDN without your control? Inwiefern vertrauen Sie dem ISV?What is your trust relationship with this ISV?

Bedenken Sie, dass clientseitiger Code im SharePoint-Framework im Kontext des aktuellen Benutzers ausgeführt wird und Sie keine Möglichkeit haben, die Ausführung einzuschränken, was mit SharePoint-Add-Ins möglich ist.Remember that any client-side code in SharePoint Framework executes under the current users' context, and there is no possibility for you to put constraints on that, which you can do with SharePoint Add-ins.

Erstellen eines Plans für SharePoint-Framework-AnpassungenBuilding a plan around SharePoint Framework customizations

Wenn Sie SharePoint Framework als eines der Tools für die Erweiterung Ihrer SharePoint (Online)-Instanzen einführen möchten, müssen Sie dies planen.When introducing SharePoint Framework as one of the tools to extend your SharePoint (Online) instances, you need to plan for it. Der Plan sollte mit der Einführung des neuen Technologiestapels beginnen, der beim Erstellen von SharePoint-Framework-Lösungen verwendet wird.The plan should start with introducing the new technology stack used when building SharePoint Framework solutions. Entwickler benötigen möglicherweise Training hinsichtlich der Verwendung von TypeScript als primärer Sprache zum Programmieren von SharePoint-Framework-Code.Developers may need training on using TypeScript as the primary language for writing the SharePoint Framework code.

Andere Aspekte des SharePoint-Framework, die Entwickler erlernen müssen, sind die tatsächliche Toolkette für das SharePoint-Framework mit node.js, npm und Gulp und die Verwendung der verschiedenen Gulp-Aufgaben zum Erstellen, Packen und Bereitstellen von Lösungen.Another facet of the SharePoint Framework developers may need to learn is the actual toolchain for SharePoint Framework, including node.js, npm, and Gulp, and how you use the different Gulp tasks to build, package, and deploy solutions. Eine sehr gute Ausgangsressource hierfür sind die offizielle SharePoint-Framework-Dokumentation und die GitHub-Repositorys zu SharePoint.A very good starting resource for this is the official SharePoint Framework documentation or the SharePoint Github repositories.

Möglicherweise möchten sich Entwickler für die Organisation auf ein bestimmtes clientseitiges Framework oder auf verschiedene Frameworks festlegen.Developers might want to standardize on one specific client-side framework for the organization or on different frameworks. Zu den clientseitigen Frameworks gehören unter anderem React, Knockout, Angular, Handlebars und jQuery. Die Standardisierung auf ein Framework hat Vorteile, da sie es Entwicklern ermöglicht, leichter wiederverwendbaren Code zu erstellen und bessere Konsistenz bei der Erstellung und Pflege von Lösungen zu erreichen.Client-side frameworks include, but are not limited to, React, Knockout, Angular, Handlebars, jQuery etc. There are advantages on standardizing on one framework, since that enables developers to build more reusable code and have better consistency in how they build and maintain their solutions.

Andererseits bietet es Vorteile, mehrere Frameworks zuzulassen, da jedes clientseitige Framework seine Vor- und Nachteile bzw. geeigneten Anwendungsfälle hat.On the other hand, there are advantages of allowing more than one framework since each client-side framework has its pros and cons and use cases. Allerdings kann die Zulassung beliebiger clientseitiger Frameworks zu Fragmentierung in Ihren Enterprise-Lösungen führen. Zudem kann die Verwendung mehrerer unterschiedlicher Frameworks die Seitenladezeit verlängern, da bei mehr Frameworks auch mehr externe Bibliotheken geladen werden müssen.But allowing any client-side framework may cause fragmentation in your enterprise solutions, not to mention having multiple different frameworks might add to the page load time, since many frameworks require loading of more external libraries.

Standardmäßig bietet der Yeoman-Generator von SharePoint Framework Vorlagen für zwei clientseitige Frameworks: React und Knockout.Out-of-the-box, the SharePoint Framework Yeoman generator has templates for two client-side frameworks: React and Knockout. Mit der Zeit ist zu erwarten, dass die Community weitere Generatoren oder Sub-Generatoren hinzufügen wird, um Unterstützung für weitere clientseitige Frameworks zu implementieren.Over time, one can expect that the community adds more generators or sub-generators to use other client-side frameworks. Die Wahl von React als bevorzugtes clientseitiges Framework hat einen Vorteil: Microsoft hat eine React-Version von Office UI Fabric erstellt. Somit können Sie das Aussehen und Verhalten von Office und Office 365 für Ihre Anpassung implementieren, falls dies in Ihrer Organisation bevorzugt wird.Choosing React as your preferred client-side framework has an advantage because Microsoft has created a React version of the Office UI Fabric, so you will get the Office and Office 365 look and feel of your customization if that is something your organization prefers.

Der vierte zu planende Aspekt ist, wie und wo Sie Ihre Lösungsartefakte bereitstellen, d. h. in welchem CDN die generierten Skriptbundles und Objekte gespeichert werden.The fourth thing to plan for is how and where you deploy your solution artifacts, that is in what CDN are your generated script bundles and assets stored. Standardmäßig werden in den Gulp-Aufgaben in der Toolkette nur Azure Blob Storage und Azure CDN unterstützt.Out-of-the-box, in the Gulp tasks included in the toolchain, only Azure Blob storage and Azure CDN is supported. Diese Optionen sind möglicherweise gut geeignet, wenn Sie ein Azure-Abonnement verwalten und Ihre Objekte für mehrere Mandanten freigeben können.This might be a very good option if you can manage an Azure subscription and share your assets between multiple tenants. Ein weiteres sehr gängiges Szenario ist die Verwendung von SharePoint Online und seinem CDN-Feature als Host für die Artefakte.Another very common scenario is to use SharePoint Online, and its CDN feature, as a host for the artifacts. Ab SharePoint-Framework v1. 4 werden statische Objekte standardmäßig in das SharePoint Framework-Paket gepackt.Starting from the SharePoint Framework v1.4, static assets are by default packaged inside of the SharePoint Framework package. Wenn dieses Paket im App-Katalog bereitgestellt wird, werden sie automatisch in Office 365 CDN (falls aktiviert) oder in der App-Katalog-URL gehostet.When this package is deployed in the app catalog, they are automatically hosted either from Office 365 CDN (if enabled) or from an app catalog URL.

Abschließend müssen Entwickler über Application Lifecycle Management (ALM) nachdenken. Dies betrifft die Art, wie Sie Quellcode und Versionsverwaltung, automatische Erstellung, Tests, Bereitstellung usw. verwalten. Am häufigsten werden Systeme zur Quellcode-Versionsverwaltung verwendet, wie beispielsweise Git, GitHub oder Visual Studio Team Systems.Finally, developers will need to think about application life cycle management (ALM): the way you manage source code and versioning, automatic build, testing, and deployment etc. Most common source code versioning systems can be used such as Git, GitHub, or Visual Studio Team Systems.

Für Continuous Integration gibt es keine Standardtools. Sie können jedes beliebige Tool verwenden, das node.js unterstützt, z. B. Visual Studio Team Systems, Travis CI oder Jenkins.For continuous integration, there are no default tools, and you can use your tool of preference that supports node.js, such as Visual Studio Team Systems, Travis CI, or Jenkins. Mit diesen Tools können Sie den Build- und Testprozess automatisieren und im Falle eines erfolgreichen und genehmigten Builds sogar automatisch die Artefakte im CDN-Speicherort bereitstellen. So können Sie alles automatisieren, vom Einchecken des Codes durch die Entwickler bis hin zur Bereitstellung in der Produktionsumgebung.Using these tools, you can automate the build and testing process and in the case of a successful and approved build, you can even automatically deploy the artifacts to the CDN location, and in such a way automate everything from the developer checking in the code to deployment to production.

Verwaltungsfunktionen von SharePoint-Framework-LösungenManagement capabilities of SharePoint Framework solutions

Alle SharePoint-Framework-Lösungen, die in einem Mandanten bereitgestellt werden, müssen von einem Mandantenadministrator genehmigt werden.All SharePoint Framework solutions deployed into a tenant must be approved by a tenant administrator. Dies erfolgt durch Hochladen des SharePoint-Framework-Pakets, der Datei des Typs .sppkg, in die Bibliothek Apps für SharePoint.This is done by uploading the SharePoint Framework package, the .sppkg file into the Apps for SharePoint library. Wenn eine neue Lösung zur Bibliothek hinzugefügt wird, wird der Administrator in einem Dialogfeld aufgefordert, die Lösung für die Verwendung im Mandanten zu genehmigen.When a new solution is added to the library, the administrator gets a dialog that asks for a consent to approve the solution for use in the tenancy. Im Dialogfeld wird erläutert, dass es sich um eine Lösung mit voll vertrauenswürdigem clientseitigem Code ohne Ressourceneinschränkungen handelt, die im Kontext des Benutzers ausgeführt wird.The dialog explains that this is a full trust client-side code solution without any resource restrictions and that it executes under users' context. In dem Dialogfeld ist auch angegeben, aus welcher Domäne hauptsächlich Inhalte abgerufen werden; mit anderen Worten, es ist der CDN-Speicherort der SharePoint-Framework-Skripts aufgeführt.The dialog also shows from what domain it will primarily get content, that is the CDN location of the SharePoint Framework scripts. Bedenken Sie, dass jede SharePoint-Framework-Anwendung nach dem ersten Laden aus dem CDN auch Daten von anderen Speicherorten laden kann.Note that any SharePoint Framework application can load data from other locations, after the initial load from the CDN. Einmal genehmigt, kann die SharePoint-Framework-Lösung in jeder Websitesammlung aktiviert werden.Once approved, the SharePoint Framework solution can be enabled on any site collection.

SharePoint-Framework-Dialogfeld zur Vertrauensstellung für App-Katalog

Ein Administrator des App-Katalogs kann das Paket jederzeit aus dem App-Katalog entfernen, indem er das Lösungspaket aus der Apps für SharePoint-Bibliothek entfernt.An administrator of the app catalog can at any time remove the package from the app catalog by removing the solution package from the Apps for SharePoint library. Dadurch wird die Verwendung der Lösung in allen Websitesammlungen unterbunden.This will prohibit the solution to be used in all site collections. Die Lösung kann auch durch Ändern der Eigenschaft Enabled des hochgeladenen Pakets deaktiviert werden.The solution can also be disabled by modifying the Enabled property of the uploaded package. Dadurch wird die Lösung sofort in allen Websitesammlungen deaktiviert. Auf vorhandenen Seiten, die clientseitige Webparts verwenden, wird das Webpart nicht gerendert, und die App ist nicht mehr in den Websitesammlungen verfügbar bzw. kann in vorhandenen Websitesammlungen nicht mehr hinzugefügt werden.This will immediately disable the solution in all site collections; existing pages that use client-side web parts will not render the web part, and the app will not be available on the site collections or available to add on existing site collections. Wenn Sie eine SharePoint-Framework-Lösung entfernen, werden keine Daten oder Informationen entfernt, die durch die eigentliche clientseitige Lösung in SharePoint oder in einer von der Lösung verwendeten externen Datenquelle erstellt wurden.When removing a SharePoint Framework solution, it will not remove any data or information created by the actual client-side solution either in SharePoint or in any external data source used by the solution.

Der Administrator kann auch andere Eigenschaften des Pakets im App-Katalog ändern, um die Sichtbarkeit der Lösung in Websitesammlungen zu verbessern, z. B. das Symbol, die Kategorie, die Beschreibung und den Status.The administrator can also modify other properties on the package in the app catalog to enhance the visibility of the solution in the site collections; for example, the icon, category, description, and the featured status can be changed.

Wenn das Lösungspaket aktualisiert werden muss, z. B. wenn neue SharePoint-Framework-Artefakte erstellt oder andere Änderungen auf Paketebene vorgenommen werden, muss der Administrator nur eine neue Version des Pakets in die Bibliothek hochladen.If there is a need to update the solution package, which is required if new SharePoint Framework artifacts or other package level changes are made, the administrator only needs to upload a new version of the package to the library.

Wie bei SharePoint-Add-Ins kann ein Mandantenadministrator auch die SharePoint-Framework-Lösungen überwachen. Im SharePoint Admin Center unter Apps kann der SharePoint-Administrator die SharePoint-Framework-Lösungen hinzufügen und dann sehen, wie viele installierte Instanzen es von einer bestimmten Lösung gibt. Das ist für SharePoint-Add-Ins ebenso möglich wie für SharePoint-Framework-Lösungen.A tenant admin can also monitor the SharePoint Framework solutions, just as with SharePoint Add-ins. In the SharePoint Admin center under apps, the SharePoint admin can add the SharePoint Framework solutions and then see how many installed locations there are of a specific solution, for both SharePoint Add-ins as well as SharePoint Framework solutions.

Um eine SharePoint-Framework-Lösung in einer Websitesammlung zu aktivieren, muss sie der Websitesammlungsadministrator zu der Websitesammlung hinzufügen.To enable a SharePoint Framework solution on a site collection, the site collection administrator must add it to the site collection. Dies funktioniert wie bei SharePoint-Add-Ins, indem Sie in der Websitesammlung auf Neue App hinzufügen klicken und dann die Lösung aus der Liste der Apps auswählen.This is done in the same way as for SharePoint Add-ins, by selecting to Add a new app on the site collection, and then choosing the solution from the list of apps. Sobald die App hinzugefügt wurde, steht sie für die Verwendung in der Websitesammlung zur Verfügung.Once the app is added, it is available for use in the site collection. Als Websitesammlungsadministrator können Sie die SharePoint-Framework-Lösung auch aus der Websitesammlung entfernen.The site collection administrator can also remove the SharePoint Framework from the site collection. Hierzu wechseln Sie zu Websiteinhalte und wählen dann Entfernen für die App aus.This is done by going into Site Contents and then choosing Remove on the app.

SharePoint-Framework-BereitstellungsbereicheSharePoint Framework deployment scopes

Beim Erstellen von SharePoint-Framework-Lösungen können Entwickler entscheiden, ob ihre Lösung eine mandantenweite Bereitstellung unterstützt oder ob sie auf jeder Website separat bereitgestellt werden muss.When building SharePoint Framework solutions, developers can choose whether their solution supports tenant-wide deployment or if it must be deployed on each site separately. Letzteres ist erforderlich, wenn die Lösung zusätzliche Ressourcen wie Listen bereitstellen muss, nachdem sie auf einer Website bereitgestellt wurde.The latter is required when the solution needs to provision additional resources, such as lists, after being deployed to a site.

Während Entwickler beim Erstellen der Lösung entscheiden, ob die Lösung eine mandantenweite Bereitstellung unterstützt, treffen Administratoren die endgültige Entscheidung darüber, wie die Lösung bereitgestellt wird.While the developers building the solution decide if the solution supports tenant-wide deployment or not, it's the administrators who make the final decision on how the solution is deployed. Auch wenn Sie eine Lösung für alle Websites im Mandanten bereitgestellt werden könnte, können Administratoren festlegen, dass sie nur für bestimmte Websites bereitgestellt wird.Even if a solution could be deployed to all sites in the tenant, administrators can choose to deploy it only to the specific sites. Wenn die Lösung die mandantenweite Bereitstellung nicht unterstützt, können Administratoren sie nur auf bestimmten Websites bereitstellen.If the solution doesn't support tenant-wide deployment, administrators can deploy it only to specific sites.

Wichtig

Die mandantenweite Bereitstellung ist nur in SharePoint Online verfügbar.Tenant-wide deployment is available only in SharePoint Online. In lokal gehosteten SharePoint-Umgebungen können SharePoint-Framework-Lösungen nur auf bestimmten Websites bereitgestellt werden.In SharePoint hosted on-premises, SharePoint Framework solutions can be deployed only to specific sites.

SharePoint-Framework verfügt im Gegensatz zu SharePoint-Add-Ins nicht über einen Store. Aus diesem Grund müssen Bereitstellungen immer durch den Mandantenadministrator durch Hinzufügen und Genehmigen eines Lösungspakets im App-Katalog initiiert werden.The SharePoint Framework does not have a store, which SharePoint Add-ins have. For this reason, any deployments always must be initiated by the tenant admin by adding and approving a solution package to the app catalog.

Sichern und Wiederherstellen von SharePoint-Framework-KomponentenBacking up and restoring SharePoint Framework components

SharePoint-Framework-Lösungen haben keine eigenen Features für Sicherung und Wiederherstellung.SharePoint Framework solutions do not have any specific backup and restore features. Die einzige Empfehlung aus administrativer Sicht lautet, eine Kopie aller installierten Lösungspaketdateien (.sppkg) aufzubewahren, für den Fall, dass ein Lösungspaket versehentlich aus dem App-Katalog entfernt wird.The only thing that is recommended from an administrative perspective is that it might be a good idea to have a copy of all installed solution package files (.sppkg), if a solution package is by mistake removed from the app catalog. Der App-Katalog ist jedoch eine SharePoint-Bibliothek und umfasst dieselben Funktionen wie jede Dokumentbibliothek, mit aktivierter Hauptversionsverwaltung und Papierkorb.However, the app catalog is a SharePoint library and has the same capabilities as any document library, with major versioning turned on and the recycle bin.

Was Sie nicht sichern können, sind die tatsächlichen Lösungsartefakte wie z. B. Skriptbundles und Objekte, die in einem CDN gehostet werden.What you cannot back up is the actual solution artifacts such as script bundles and assets that are hosted in a CDN. Wenn Sie jedoch die Kontrolle über das CDN haben oder das CDN eine SharePoint-Website ist, können Sie die Artefakte sichern.However, if you have control of the CDN or the CDN is a SharePoint site, you can back them up. Verwenden Sie dagegen SharePoint-Framework-Lösungen von einem Drittanbieter, gibt es unter Umständen keine Möglichkeit für Ihre Organisation, sie zu sichern.On the other hand, if you are using SharePoint Framework solutions provided by a third party, there may be no way for your organization to back them up.

SharePoint-Framework-RoadmapSharePoint Framework roadmap

Das SharePoint-Framework hat seit Februar 2017 den Status der allgemeinen Verfügbarkeit (General Availability, GA).The SharePoint Framework reached General Availability (GA) in February 2017. „Allgemeine Verfügbarkeit“ (GA) bedeutet, dass die Verwendung des SharePoint-Frameworks in Produktionsumgebungen unterstützt wird. IT-Experten und Entwickler können es also produktiv einsetzen.General Availability means that IT and developers can use SharePoint Framework in production in a supported manner. Über die allgemeine Verfügbarkeit hinaus erwarten wir, dass die Szenarien für die Erstellung und Verwendung von SharePoint-Framework-basierten Komponenten über Webpart-Szenarien hinaus auf Bereiche wie Listen- und Websiteanpassungen erweitert werden können.Beyond General Availability, we would expect that the set of scenarios where we would see SharePoint Framework-based components built and used will expand beyond web part scenarios, and into areas like list and site customizations. Weitere Informationen zum SharePoint-Framework finden Sie im separaten Artikel SharePoint-Framework-Roadmap.For more information about the SharePoint Framework, see the dedicated SharePoint Framework Roadmap article.

Wesentliche Änderungen oder die Einführung neuer wichtiger Features werden über das Office 365-Nachrichtencenter angekündigt, das Sie in Ihrer Mandantenverwaltung finden – jeder Office 365-Administrator sollte im Rahmen seiner Routineaufgaben täglich nachschauen, ob es neue Ankündigungen dort gibt.Major changes or introductions of new major features will be announced through the Office 365 Message Center, found in your tenant admin, something that an Office 365 administrator already should have on their daily routine to check. Eine weitere wichtige Ressource ist der Office-Entwicklerblog. Hier finden Sie weitere Details und Updates.Another important resource is the Office Developer blog where you will find even more details and updates.

Unterstützung und SLASupport and SLA

Microsoft bietet über die regulären SharePoint Online-Supportkanäle keine Unterstützung für benutzerdefinierte Lösungen, die für SharePoint entwickelt wurden.Microsoft doesn't provide support for custom solutions built for SharePoint through the regular SharePoint Online support channels. Alle Probleme im Zusammenhang mit SharePoint-Lösungen erstellen sollten in GitHub unter https://github.com/SharePoint/sp-dev-docs/issues protokolliert werden.All issues related to building SharePoint solutions should be logged on GitHub at https://github.com/SharePoint/sp-dev-docs/issues. Die SharePoint-Engineering-Gruppe sieht sich in diesem Repository regelmäßig Probleme an und ist bestrebt, die eingehenden Anfragen so schnell wie möglich zu beantworten.The SharePoint Engineering group triages issues in this repository regularly and strives to respond to the incoming requests as quickly as possible.

Wenn Ihre Organisation über einen Premier-Supportvertrag verfügt, sollte dieser der Standardkanal sein, über den Sie bei allen Problemen im Zusammenhang mit dem Erstellen von SharePoint-Lösungen Unterstützung anfordern.If your organization has a Premier Support agreement, then it should be the default channel for you to request support with any issues related to building SharePoint solutions. Ihre Anfragen werden von Microsoft-Eskalationstechnikers entsprechend ihrer Dringlichkeit bearbeitet.Microsoft escalation engineers will handle your requests according to their urgency.

SharePoint Framework ist für Abwärtskompatibilität konzipiert.SharePoint Framework is designed to be backwards-compatible. Microsoft garantiert, dass Lösungen, die mithilfe einer der allgemein verfügbaren Versionen von SharePoint Framework erstellt werden, so lange funktionieren, bis ein expliziter Hinweis zu veralteten Funktionen für die jeweilige Version im Voraus angegeben wurde.Microsoft guarantees that solutions built using any of the generally available versions of the SharePoint Framework will keep working until an explicit deprecation notice for the specific version has been given in advance.

ZusammenfassungSummary

SharePoint-Framework ist eine hervorragende Ergänzung und Weiterentwicklung der Toolbox für SharePoint-Anpassungen, mit der Entwickler auf unterstützte und kontrollierbare Weise SharePoint erweitern können.The SharePoint Framework is a great new addition to and evolution of the SharePoint customization toolbox that allows developers to extend SharePoint in a supported and controllable way. Mit dem SharePoint-Framework, das auf quelloffenen und modernen Technologien basiert, können Entwickler die SharePoint-Entwicklung in Unternehmen nicht nur auf das SharePoint-Team, sondern auch auf eine heterogenere Entwicklergruppe ausdehnen.SharePoint Framework, based on open source and modern technologies, lets developers extend your SharePoint enterprise development story not only to the SharePoint team, but also to a more diverse set of developers. Durch Bereitstellen der richtigen Governance und Unterstützung für SharePoint-Framework in Ihrem Mandanten helfen Sie als Administrator den Entwicklern, schneller ansprechendere Lösungen zu erstellen, was zu rund um besserer Effizienz führt.As an administrator, providing proper governance and support for SharePoint Framework within your tenancy can empower your developers to build more engaging solutions more quickly, resulting in better efficiency all around.

Da das SharePoint-Framework für Entwickler von Erst- und Drittanbietern erstellt wurde und von Microsoft zunehmend für zukünftige Featureerweiterungen von SharePoint verwendet wird, stellt es auch für Ihre Organisation eine gute Wahl dar.Since the SharePoint Framework is created for first- and third-party developers, and in growing use by Microsoft for future feature enhancements of SharePoint, it is also a safe bet for your organization. Wir erwarten in Zukunft weitere inkrementelle Updates und Erweiterungen des SharePoint-Frameworks, mit denen die Funktionslücke zwischen dem klassischen SharePoint und der modernen SharePoint-Umgebung geschlossen wird.We can expect to see incremental updates and additions to the SharePoint Framework over time to close the feature gap between the classic SharePoint and the modern SharePoint experience.