In this article we will go through history of SharePoint development, getting a brief concept of popular approaches/development models followed by SharePoint developers, their benefits and cons, and the features of the trending SharePoint Framework (SPFx).
Microsoft SharePoint was introduced in the year 2001 as an on premise product. Since the beginning, a lot of developers gave their part in shaping the future of SharePoint by extending its features such as web parts and Feature XML and many other solutions through custom development. Major development included writing features in C#, compiling these in to DLLs, and deploying these to SharePoint Servers to accomplish the business requirements by the many businesses that adopted SharePoint. This development model worked suitably with on premise enterprise level deployments of SharePoint.
The diagram here shows a general Request flow or communication diagram for Full Trust Deployment Model as explained above
With SharePoint 2013, SharePoint Online and Office 365, Microsoft introduced multi-tenancy functionality that has the general concept of the ability to manage and distribute data of sites and services among multiple subscribing clients generally referred as tenants. This functionality allowed using one SharePoint farm to manage multiple clients that were before managed through multiple instances of a service or through separate hardware for each tenant.
In the multi-tenant architecture the conventional model for SharePoint development could not be implemented as it required Full Trusted Deployments of the customized solutions. Another major drawback was the lack of extensibility in the traditional development frameworks. To deal with this issue Microsoft introduced two prevalent alternatives.
- SharePoint Add-in/App Part Model
As an alternate approach for “NoScript” environments the App Part Model was introduced. This model basically works in an iframe, to execute the extended features in an isolated section on the SharePoint page. The main benefit of this model is that as it is external to the system and has no access to the current DOM/connection, it is easier to trust and deploy for IT users and provides a heightened sense of security. App parts can be installed on NoScript sites by end users effortlessly. The downsides of this model, however include slowness in comparison to the script editor web part as this is a call to another whole page inside a page, having the concept of iframe. This page has to go through authentication and authorization and iframe makes it more difficult to create responsive designs.
Microsoft introduced Microsoft SharePoint Framework as “Future of SharePoint” and a new development model to deal with with the changing cloud based era. Hereon referred as SPFx, we will deep dive in to the features of SharePoint Framework. SPFx comprises of a set of tools to build robust solutions over Microsoft SharePoint. SharePoint Framework is mobile-first and cloud-enabled, so it works as well with SharePoint Online and O365 suite. As Microsoft introduces:
“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.” (Reference: https://dev.office.com)
Below are some key features of SharePoint Framework
- SPFx allows the code to run in context of current user, site and environment variables of the browser.
- Features developed through SPFx can be deployed in to classic pages as well as modern web UI pages equally.
- Development can be done in any of you favorite frameworks such as React, knockout, angular js and many other opensource framework.
- No more performance issues to be catered as in server-side traditional model.
- What about “NoScript” enabled sites? Yes, SPFx model will allow the code to be run in team sites, my sites and other “NoScript” enabled sites too
- SPFx guarantees provision of mobile friendly and responsive User experience.
- Iframes are still supported in SPFx
- With all the changes in the implementation, web parts built through SPFx still are compatible with the conventional pages.
SharePoint Framework promises reduced development costs and provides opportunities for a better developer experience with increased efficiency and robust applications for both web and devices.