I have a question about server-side development in SharePoint VS client side

I would like to know whats the difference and advantages between develop an application using the server side vs client side.

How do you justify the use of server side?


Server side is only supported in on-premises implementations of SharePoint, while client-side development (CSOM) is available on-premise and Online.

The server-side object model is very powerful and contains a comprehensive set of methods within its assembly that can help you achieve any SharePoint tasks from communicating with lists to configuring search and managed meta-data. It can be used through C# or VB.net. You write Farm Solutions using SSOM which can be painful to deploy / retract. You need to do the safe control entry (web.config), the dll usually goes in the GAC and IIS must be restarted after every deployment.

The Client-side object model is quite powerful as well. There are a few shortcomings but it can do most things the server side object model can. You can use it via Powershell, C# or VB. CSOM is supposedly a little quicker when performing multiple operations since it does them in batches as a transaction before. CSOM is what's used in things like SharePoint hosted apps or if you wanted to write a simple Content Query Editor Webpart.

This is just a quick overview but there are several articles on the web about this that will break it down in much more detail;


You should also look into the JavaScript Object Model and REST


| improve this answer | |

Server Side Object Model:
1) Supported only in SharePoint On Premises.
2) Traditional coding approach specially for those with ASP.NET background.
3) Migration from version to version or from On Premises to Online require the code to be modified or re written.
4) Better to use for Security critical applications.
5) More optimized when it comes to complex requirements.
6) Mostly used with SharePoint Intranet applications.

Client Side Object Model:
1) Supported in both SharePoint Online and On Premises.
2) Flexible to work with new technologies like AngularJS, VueJS, Typescript etc.
3) Migration from version to version or from On Premises to Online does not require to make any change in code side.
4) Faster to be used for large applications having large amount of data.
5) Mostly preferred in SharePoint Internet applications.
6) Evolution of SharePoint Framework i.e. SPFx will make Client side more useful ever in SharePoint environment.

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.