SharePoint Apps Overview

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

SharePoint Solutions and Apps