Having been announced earlier this year the finer details of the SharePoint Framework are now being released.
For the uninitiated the SharePoint Framework is the latest in a line of development approaches available for creating custom experiences inside of SharePoint. This has been problematic since the advent of SharePoint Online because Microsoft, quite understandably, do not want any custom code running on their servers.
Previous approaches to solving this issue have been compromised to an extent. Code would either run on another server but be presented inside of an iFrame (so it appeared to be running within SharePoint) or it would run in the browser on the current SharePoint page (possibly using a script editor web part) but with a compromised means of deployment and limited access to events affecting the page.
What this equated to in terms of the user’s experience was usually slow response times and a lack of the responsiveness and interaction that modern web experiences are expected to provide.
Enter the SharePoint framework.
Microsoft have now provided and will continue to refine a framework to deploy customisation that can run as part of a SharePoint page. Your custom scripts are called in response to page events such as render, can use Rest, JSOM to communicate with SharePoint and leverage JQuery, Office UI Fabric, React, Angular and the so on to build engaging experiences.
This opens the door for the development of interactive and responsive single page applications and custom experiences from inside SharePoint as part of your overall collaboration, intranet, document management, etc solution(s).
For further details see here. The overview in this article provides a nice summary of how the framework is constructed and those organisations with SharePoint developers there is a good guide to setting up development environments and getting started. If you want to deploy client side web parts you will also need to enable scripting.
This represents a significant step forward for SharePoint development. We are actively working with our clients and partners to ensure that this approach is considered and used where appropriate to improve and future proof SharePoint based solutions.