Apps for SharePoint 2013 compared with SharePoint solutions

Posted on

This comes from MSDN, I just posted it here to find it easier later.

Didnt paste the entire article though

Thanks to @ChrisOBrien for the comments.


SharePoint sandboxed solutions are deprecated in SharePoint 2013 Preview.

Develop an app whenever you can.

The most important guidance we can give you is to develop an app for SharePoint rather than a classic solution whenever you can. Apps for SharePoint have the following advantages over classic solutions:

  • They provide users with the easiest discovery, purchase, and installation process.
  • They provide administrators with the safest SharePoint extensions.
  • They provide you with the simplest marketing and sales system based on a Microsoft-provided online app store.
  • They maximize your flexibility in developing future upgrades.
  • They maximize your ability to leverage your existing non-SharePoint programming skills.
  • They integrate cloud-based resources in smoother and more flexible ways.
  • They enable your extension to have permissions that are distinct from the permissions of the user who is running the app.
  • They enable you to use cross-platform standards, including HTML, REST, OData, JavaScript, and OAuth.
  • They enable you to leverage the SharePoint cross-domain JavaScript library to access SharePoint data. Alternatively, you can use a Microsoft-provided secure token service that is OAuth-compliant.
  • They can extend SharePoint Online websites as well as on-premises SharePoint websites.

Apps for SharePoint use one of the SharePoint client object models or REST endpoints to access SharePoint content and components. These client APIs enable SharePoint extensions that are designed for end users. (The end users in this case are site-collection administrators, website owners, and website members.) The server object model has APIs that enable programmatic extensions of SharePoint management, configuration, and security. These include extensions of Central Administration, custom Windows PowerShell commands, timer jobs, custom backups, and others. For more information about the kinds of administrative extensions you can develop, see SharePoint Foundation Administration. These administrative extensions are deployed in SharePoint Features that have farm, web application, or site-collection scope. Farm solutions are also installed by farm administrators, while apps can be installed by tenant and site collection administrators.

The server object model also has APIs for create/read/update/delete (CRUD) operations on lists, libraries, websites, and operations on other SharePoint components. This means that the server object model can be used for extensions that are intended for end users, but for reasons given in the preceding section, farm solutions are not usually the best choice for such extensions. Thus, it is no surprise that farm solutions cannot be installed on Microsoft SharePoint Online. Because Microsoft handles all the management of SharePoint Online, there is no need for administrative extensions. For more information (and a diagram) about the various APIs in SharePoint and where they overlap, see Choose the right API set in SharePoint 2013.

The client object models and REST endpoints do not duplicate the administrative-oriented APIs of the server object model. Moreover, because an app for SharePoint cannot contain custom code that runs on the SharePoint server, it cannot call these administrative APIs. Moreover, all Features in apps for SharePoint must have website scope. Thus, an administrative-oriented SharePoint extension is not really possible with an app for SharePoint. So the second guidance principle, but not an absolute rule, is that apps are for end users and farm solutions are for administrators.



Leave a Reply

Please log in using one of these methods to post your comment: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s