Difference between Apps and Farm Solutions in SharePoint 2013
S.NoAppsFarm Solutions1What are apps -
An app for SharePoint is a small, easy-to-use, stand-alone app that solves a specific end-user or business need.What are Farm solutions - Farm solutions are pieces of functionality that extend the capabilities of a SharePoint website. They are Installed to the solution store of a farm by a farm administrator.
2Where does it run – The code for an app runs in different places, depending on where your app is hosted.They never run in the context of SharePoint Server, but they will run in the context of the browser or in the context of the hosted platform.
Where does it run – They are Installed to the solution store of a farm by a farm administrator. They run from the sharepoint server.
- SharePoint-hosted apps
- Provider-hosted and autohosted apps – In the cloud
- Apps that have a mix of components in SharePoint and in the cloud
when you deploy a Farm solution, It gets deployed to one or more web apps (any existing or new one). You can use it in any site collection of the web app where you deployed it.
4Authentication options - Before you can call SharePoint APIs from your app, you need to authenticate to SharePoint. Which authentication mechanism you use depends upon where the code of your app is running.
* In the cloud: You have two choices:
Use client-side code along with the cross-domain library.
User server-side code along with OAuth.
*REST APIsAuthentication options - The components in the solution can, and usually do, run in full trust
5Resource Allocation -
Site collection administrators and tenant administrators can monitor apps and change the resources allocated to them.Resource Allocation - No resource usage restrictions are placed on them
6What Can be Created as Apps -
- Custom Web Parts (remote pages that contain custom Web Parts)
- Event receivers and Feature receivers(remote event receivers)
- Custom field (column) types ()
- Custom web services built on the SharePoint Service Application Framework
- Application pages
What Can be Created as Farm soltuion - You can deploy almost all the components as Farm solution.
- Cannot be
created as Apps -
- Apps cannot call SharePoint server side code
- Apps cannot access SharePoint components that are not on the same site
- Apps cannot communicate with each other
- Custom site definitions
- Custom themes
- Custom action groups and custom action hiding
- User controls (.ascx files)
- Delegate controls