SharePoint Online Development Preferences

I spoke about SharePoint Online and Office 365 here: SharePoint Online and Office365 Business Productivity.

Office 365 along with all its provided SaaS are spreading across the globe and a lot of companies depend on it dramatically in day--day business activities. That raises the need for business to build custom applications to extend and consume the available functionalities, to achieve that let us take a look into different preferences.

There are several ways to develop custom apps and extend the SharePoint Online Functionality:

  1. CSOM (Client Side Script Object Model): Used for getting data and can be used with SharePoint Online and On Premise too, the developers create windows applications, web applications, universal apps, command line application or any type of applications and start calling the classes available. There is JavaScript version of the CSOM called the JSOM (JavaScript Object Model). Note that the CSOM and JSOM are used with Add ins(check the third bullet).
  2. SharePoint Rest APIs: it is like CSOM it can be used for Online and On Premise and it allows you to make direct REST APIs call while in CSOM you can use the available functions and classes.
  3. Add-Ins: previously called Apps model, it is 2 types SharePoint hosted and Provider hosted. In SharePoint hosted addins developers write JavaScript code and it is deployed as client side, while with provider hosted developers can or any server side language and deploy it on a remote server like Azure to handle cases like remote event receivers.
  4. Office 365 Rest APIs: Used mainly for Exchange and OneDrive and available for Office 365 only, there are some SDKs that are built on top of it but not providing the full functionalities.
  5. New announcement of SharePoint Framework
  6. No code solutions like Flow and PowerApps

It is worth mentioning too that you can use PowerShell Scripting to call SharePoint Online APIs.


Unsupported development options:

  • Full trust code as used to develop for the On Premise is not an option for developing Online while it is still an option for development on premise.
  • Sandbox: Microsoft recently announced the deprecation of sandbox which used to be sort of subset of full trusted code.


Quick steps to put you on the road for developing using CSOM:

  • Install Visual Studio 2015.
  • Download and install NuGet client and integrate it with Visual Studio
  • Create project.
  • Add NuGet package.
  • Add reference.
  • Call CSOM.

You can watch this video where I have started using CSOM:




Written by: John Naguib

Microsoft MVP, Solution Architect/Senior Consultant

Wiki Ninja Blogger, SharePoint Expert and Speaker.

Twitter BlogWiki User Page Channel9