Farm solution vs Sandbox solution vs App Model

Sand Box Solution:
 
1.      Introduced in SP2010 and are partially trusted.
2.      Solution must be deployed by site collection administrators and above
3.      Solution is deployed to site collection Solution Gallery
4.      Runs in a separate process – SPUCWorkerProcess.exe which isolates from SharePoint worker process
5.      Dlls are copied to file system only, when a request made to sandbox objects for the first time. This is taken care by SPUCHostService.exe
6.      Strict CAS policy is defined for sandboxed solutions, limiting the functionality
7.      Control is given to site collection administrators instead of relying on Farm admins
8.      Allows you access services using CSOM.
 
Limitations:
1.      Code can’t read/write files in file system.(example application pages, Mobile pages and Visual Webparts)       
2.      No BCS(Server need to have a Sandbox worker process, so that it can be utilized by sandbox solution
3.      No custom workflow actions
4.      No SharePoint administration functionality
5.      No Timer Jobs
6.      No configuration updates
7.      No use of RunWithElevatedPrevileges
8.      No webpart consumption/provision
9.      You can not hide custom action on Ribbon, but you can add a custom action.
10.  Depreciated in SP2013
 
 
Farm Solution
1.      Introduced in SP2007, and are Fully-Trusted, and have access to full server-side SharePoint API
2.      Dlls are deployed to GAC and Web app bin folder.
Limitations:
1.      Can destabilize the whole farm, if not handled well.
 
APP Model
1.      Isolated from SharePoint Farm, doesn’t impact SPFarm performance
2.      App custom code runs outside of SharePoint(in browser/hosted environments)
3.      Can be distributed apps through Office Market space
4.      Best practice to use apps when ever it is possible.
5.      No server code is allowed in Apps when hosted in on-premise.
6.      Allows Cross Domain Calls

Comments

Popular posts from this blog

SharePoint 2019 New Features

Move the list items from one list to another list using PowerShell - SharePoint 2010

Email Validation for SharePoint list column