Choosing the right API in SharePoint 2013

Venn diagram of API sets and SharePoint app types

If you want to do this ...
... use these APIs
Create an ASP.NET web application that performs create/read/update/deleted (CRUD) operations across a firewall on SharePoint data or external data that is surfaced in SharePoint by a Microsoft Business Connectivity Services (BCS) external content type
JavaScript client object model
Create an ASP.NET web application that performs CRUD operations on SharePoint data or external data that is surfaced in SharePoint by a BCS external content type, but does not have to call SharePoint across a firewall
.NET Framework client object model, Silverlight client object model, or REST/OData endpoints
Create a LAMP web application that performs CRUD operations on SharePoint data or external data that is surfaced in SharePoint by a BCS external content type
REST/OData endpoints
Create a Windows Phone app that performs CRUD operations on SharePoint data
Mobile client object model
Create a Windows Phone app that uses the Microsoft Push Notification Service to alert the mobile device of events in SharePoint
Mobile client object model and the server object model
Create an iOS or Android app that performs CRUD operations on SharePoint data
REST/OData endpoints
Create a .NET Framework application that performs CRUD operations on SharePoint data
.NET Framework client object model
Create a Silverlight application that performs CRUD operations on SharePoint data
Silverlight client object model
Create an HTML/JavaScript application that performs CRUD operations on SharePoint data
JavaScript client object model
Create an app for Office that works with SharePoint
JavaScript client object model
Create a custom Windows PowerShell command
Server object model
Create a timer job
Server object model
Create an extension of Central Administration
Server object model
Create consistent branding across an entire SharePoint farm
Server object model
Create a custom Web Part, application page, or ASP.NET user control
Server object model
Important
If the functionality you want to offer customers is not oriented to SharePoint administration at a scope broader than site collection, we recommend that, instead of using the server object model, you create an app for SharePoint that includes a remote ASP.NET web application with custom Web Parts and user controls as needed. See the top two rows of this table.

Comments

Popular posts from this blog

Using External Content Types with Stored Procedures with Input Parameters

Validate a SharePoint Date Field against Current Date in Javascript