Application Hosting Models for SharePoint 2013

SharePoint 2013 provides developers with the following hosting models for their custom applications:

SharePoint-Hosted apps

These applications are JavaScript based applications that are hosted on a SharePoint website (host web). These applications have access to SharePoint artifacts like list and Web Parts. No server-side code is available for these applications. This model is a perfect fit for client side widget implementation and pages that can interact with lists using the Client Object Model.

Provider-Hosted apps - Cloud Hosted

These applications are hosted outside the SharePoint farm, but they can use the resources and services from SharePoint by using the SharePoint Client Object model or the REST/ODATA-based web services. Since these apps are not hosted on SharePoint, they need to use OAuth tokens to obtain access. The hosting of these applications can be done on windows Azure or any other hosting location. The development team is responsible for the provisioning of these applications which is the main difference to the Autohosted mode.

Autohosted apps – Cloud Hosted

These apps are hosted on Windows Azure Web sites. Similar to Provider-Hosted apps, these applications can also interact with SharePoint using the same standards for resource utilization and security. The provisioning of these apps is done automatically when the application is installed. Each one of these apps requires a new Windows Azure Web site.

Hybrid-Hosted Apps

This is a combination of SharePoint-Hosted and cloud-hosted components. An example would be an application that uses an external application to read information which can then be inserted into a SharePoint list.