SharePoint 2013 has lots of new features, but in this post I will talk and clarify about the APIs.




Server Object Model:

Namespace: Microsoft.SharePoint

The server object model allows the developer to use all the features of SharePoint Server 2013 or Sharepoint 2013 Foundation. Its required that the applications that use these models be installed on the farm,  usually as farm solutions.


Client Object Model

Namespace: Microsoft.SharePoint.Client

This API is to make applications in any other client different to Windows Phone, like a PC, an application server, or a web worker role in windows azure. To be able to start working on it, you need to download the SDK here:


Silverlight Object Model

Namespace: Microsoft.SharePoint.Client.Silverlight

This will be the  object model to build  applications in silverlight, and it wont depend of the location of the application.  It proves exactly the same functionality than the client object model with the difference that all server calls will be done asynchronously.


Mobile Object Model

Namespace: Microsoft.SharePoint.Client.Phone

This will be the application model to make applications with windows phone.  This API provides the same functionality of other APIs but they are oriented to  devices.


Javascript Object Model

This model has the same functionality of the client object model, just to be used from javascript code. Due to the new APP model does not allow server side code, this model will be the main one to write the new SharePoint APPS. One of the new things here, is that with this model we can query data across different domains.

Rest / oData EndPoint

One of the biggest changes in Sharepoint 2013 is the REST Service, it uses the ODATA Standard and it includes an endpoint for the vast majority  of the objects in the client model.   In this way we can interact with  Sharepoint 2013 only using HTTP Rest Requests.



WCF Data Services Framework

Sharepoint 2013 also includes WCF services to interact with Sharepoint data. Basically we have listdata.svc to query list data as we did in previous verions, or call client.svc in which we have the vast majority of objects as explained before.