Which SharePoint App Model is right for you?

By - December 9, 2014

It is quite evident that SharePoint Apps are becoming rapidly popular as a choice to extend SharePoint functionality with custom development. The SharePoint solutions have their challenges. SharePoint Online (Office 365) only allows Apps. SharePoint on-premises supports both the solution and the App. This makes the App more universal to extend SharePoint functionality with custom development.

There are several App models available to develop your SharePoint 2013 App. It is not only confusing but also can be daunting to choose the right App model. This article gives you a framework and a decision tree to choose the right App model for your App. Here are the suggested steps to create the list of all the App Models.

SharePoint App – Where to Host?

SharePoint App can be hosted at 2 locations as follows

  • SharePoint (SharePoint-hosted)
  • Cloud (Provider-hosted)

SharePoint App Code – Which side?

SharePoint App Code can be written on 2 sides as follows

  • Server Side (C#, PHP, Java)
  • Client Side (JavaScript)

SharePoint App Code – Which technology?

SharePoint App code be written using the 2 technologies as follows

  • REST
  • CSOM

SharePoint App Security

SharePoint App can be configured with the 3 authorization systems which the app can use to authenticate and authorize SharePoint resources required for its use. These are not mutually exclusive.

  • Low Trust
  • High Trust
  • Cross Domain Library

SharePoint App Models

Following are the SharePoint App Models based on the facts above.

No Hosting Side of Code (Server / Client) Code Technology (CSOM / REST) Comments
1 SharePoint Hosted Server Code CSOM Not Allowed
2 SharePoint Hosted Server Code REST Not Allowed
3 SharePoint Hosted Client Code CSOM Possible (sp.js)
4 SharePoint Hosted Client Code REST Natural for JavaScript
5 Cloud Hosted Server Code CSOM Natural for C# (required references – Microsoft.SharePoint.Client.dll, Microsoft.SharePoint.Client.Runtime.dll)
6 Cloud Hosted Server Code REST Natural for Non-Microsoft technologies (PHP etc.), Possible in C# (HttpWebRequest)
7 Cloud Hosted Client Code CSOM Possible (Not desirable)
8 Cloud Hosted Client Code REST Possible (Not desirable)

Once you choose the appropriate App model from the list above, you have to apply the appropriate App security to have the most optimal model for your specific App.

The following is evident from the list above

  • If you want to write server side code, you will have to host your App in the Cloud
  • If you want to host your app in the Cloud, and want to write your code in Non-Microsoft technologies like PHP, Java, etc. you will have to choose REST to write your code as you cannot reference SharePoint assemblies
  • If you want to host your app in the Cloud, and want to write your code in Microsoft technologies like ASP.NET, ASP.NET MVC etc., you can write your code using CSOM or REST based on your preference

To find out more about this or other ways that RSM can assist you with your SharePoint needs, contact McGladrey’s technology consulting professionals at 800.274.3978 or email us.

Receive Posts by Email

Subscribe and receive notifications of new posts by email.