SharePoint 2013 Development Options
- Farm-Trust Solutions
- Introduced in SharePoint 2007
- Hosted in the same process as SharePoint.
- Full server-side SharePoint API access
- Sandbox Solutions
- Introduced in SharePoint 2010
- Excellent for declarative element deployment
- Server-side, Limited SharePoint API access
- SharePoint App Model
- Introduced in SharePoint 2013
- Provides for highest level of app isolation.
- Much cleaner & simpler install & upgrade process.
SharePoint 2010 Application Challenges
- Custom Code on server.
- Root cause of most SharePoint outages / issue.
- Deployment hassles.
- Dependent on SharePoint dlls.
- Difficult to control permissions (using CAS).
- Not possible/difficult in hosted environments.
- Sandbox.
- Possible in hosted environment.
- Limited set of things you can do.
Introducing the SharePoint App Model
- SharePoint apps do not “live” on the SharePoint server *.
- Custom code executes in the client, cloud or on-premis (in a different process).
- Apps are granted permissions to SharePoint via OAuth.
- Apps communicate with SharePoint via OData / CSOM.
- Acquire apps via centralized location:
- App Catalog
- Public Store (via submission process)
- APIs for manual deployment
Benefits
- No custom code on the SharePoint server:
- Easier to upgrade to future versions of SharePoint
- Works in hosted environments w/o limitations
- Reduces the ramp-up time for those building apps:
- Don’t need to know/be as familiar with SharePoint “-isms”.
- Enables taking SharePoint apps to different levels – further than what can be done with farm / sandbox solutions.
- Isolation – private vs. public clouds.
When to Use Apps or Solutions?
- New SharePoint App Model is the preferred route for building app scenarios.
- Provides most flexibility in development technologies, capabilities & infrastructure choices.
- Provides highest level of process, user & data isolation.
- Full-trust solutions ideal for:
- Deep customizations to SharePoint, for example:
- Provisioning custom master pages, page layouts, webparts
- Deploying advanced administration scenarios like timer jobs
User Experience
Everything in a SharePoint site is an app:
- Contact form
- Travel request
- Shared Documents library
- Contacts list
- Formerly known as View All Content, the Site Contents link shows all apps in a site.
- Selecting an app redirects to the app’s start page.
SharePoint Solutions & Apps