SharePoint development has responded to multifaceted industry demand.

In the very early days of SharePoint 2001, developers could "hack" around directly in the ASP pages of the product which was clearly not a sustainable development model. SharePoint 2001 then evolved from a classic ASP application to the ASP.NET architecture of SharePoint 2003 onwards. This version introduced the more controlled server-side WSP development model allowing developers to customise SharePoint extensively to reflect business processes. Visual Studio, SharePoint Designer, InfoPath were favourites of SharePoint Developers. 

Recently Microsoft have been steering developers away from server-side customisations towards client-side configurations with the SharePoint Framework(SPFx). The SharePoint Framework allows client-side development with the latest JavaScript Frameworks such as Angular, Vue and React as well as the application of modern client-side development methodologies lik Node and TypeScript. 

 What characterises the new methods of SharePoint Development? 

 A move away from Custom Solutions and Sandbox to;

  • SharePoint Add-Ins:  
    • 'Provider Hosted', components are hosted and deployed external to the SharePoint Farm. 
    • 'SharePoint Hosted', components run in SharePoint's Add-in web application. 
  • SharePoint Framework; Development of Client Web parts and customising using SharePoint Extensions offers new capabilities to extend SharePoint Online.

What is the SharePoint Framework (SPFx)? 

The SharePoint Framework is a new model for developing client-side customisations on top of SharePoint using modern web development paradigms and frameworks. It is very different from the usual vanilla SharePoint development which was server side and platform dependent. The SharePoint framework is entirely JavaScript based and works with new, open source tools, targeting the latest web development standards while removing platform dependencies. The result is a provision of engaging user experiences across SharePoint Online and Office 365 world.  

What impact do new development patterns have on the environment and associated tools?

The SharePoint Framework (SPFx) is a page and web part model that provides full support for client-side SharePoint development, easy integration with SharePoint data and support for open source tooling.

The table below outlines the tools required for Framework development with their equivalent server-side development toolset. 

 

Web Stack 

Microsoft Tools 

Node.js 

.Net framework 

npm 

NuGet 

Yeoman 

Visual Studio Project 

Gulp.js 

MSBuild 

TypeScript 

C# 

Angular / React / Vue 

 

 

What are the benefits of SharePoint Framework? 

  • New and modern user experience allowing for the creation of mobile-friendly reactive web parts.  
  • Developers can work with existing web frameworks and skillsets to interact and customise SharePoint without the need for specialised SharePoint frameworks/API knowledge.  
  • Platform independent - the SharePoint Framework model introduces 'the workbench', allowing local testing without connecting to the SharePoint site, enabling a much lighter weight developer toolset. 
  • Allows development using latest web standards which can utilise different JavaScript frameworks. 

How does development differ between On-premise (server side) and Cloud (client side)?  

  • Platform dependent Vs Platform Independent 
  • Requires an IT Team to maintain server Vs Microsoft Centres to manage releases, new updates and patches
  • On-Premise allows extensive customisation Vs Cloud provides customisations made available by Microsoft  

What are SharePoint Client-Side web parts? 

Client-side web parts are client-side components that run inside the context of a SharePoint page which can be deployed to modern web part pages and classic web part Pages. A look and feel can be applied to the web part in template form using Office UI Fabric and Office UI Fabric React as Front End Framework. Defining web-part properties, sharing data between web parts and building custom control property panes is all possible in Client-side web parts. 

What are SharePoint Framework Extensions? 

SPFx2.0 enables developers to extend the SharePoint user experience within modern pages and document libraries. In addition to the ability to create and customise Client Side web parts, SPFx also facilitates the customisation of notification areas, toolbars and List Data Views. Extensions can be deployed at Tenant or Site collection level.

 

What are SharePoint Extension types?  

  • Application Customisers - the ability to add header, footer and other well-known HTML elements within custom rendered content. JavaScript can only be injected in well-defined areas.  
  • Field Customisers - enables rendering control of any field. e.g. The field value can be changed from a number to a graphical representation of the value. 
  • List View Command Sets - enables the creation of custom actions on list items or toolbars. The SharePoint command surface can be extended to add new actions, providing client-side code "hooks" that can be used to implement behaviours. e.g. Insert custom commands to a Lists command bar and insert custom commands to List Items context menu (ECB)  

Note: Command Sets can also be extended based on permissions. 

Future 

The SharePoint Framework is in early stages of maturity. It is currently available for SharePoint Online only; Microsoft is yet to announce On-Premise support. With the increasing focus being applied to Office 365 and new tools like Power Apps, Microsoft Flow, Office Graph and mobile-friendly portals, the SharePoint Framework is poised to become a key focus for developers in building better SharePoint Online experiences. 

With more than 12 years of experience in developing and maintaining enterprise-grade software using Microsoft .Net technologies Neeta Bari is a specialist in designing and developing custom applications using SharePoint Technologies.