- SharePoint-Hosted Apps: A type of app that has no server-side components. When deployed it installs everything it needs, including lists, workflows and content types.
- Provider-Hosted Apps: These apps include server-side components. This generally comes in the form of IIS hosted applications and Web services that are not installed to the SharePoint farm, but are still leveraged by the app when it is deployed to SharePoint. The server-side services themselves are hosted on a separate Web platform, such as Microsoft Azure. These remote components are deployed separately from the app.
- Autohosted Apps: This new type of app only relates to Office 365 and SharePoint Online. It has server-side components similar to Provider-Hosted Apps. What makes it unique is that it not only provisions the app in SharePoint, but also automatically provisions components into Azure.
A Brief Intro to SharePoint's New App Model
One of the most significant new features of SharePoint 2013 is the introduction of the App Model. We are all familiar with the App Model from Apple's App Store and Google Play. An online store where users can purchase and install an app that will help enhance a device (like a smartphone) or a platform (like SharePoint). This new SharePoint functionality is redefining how companies procure, develop and distribute customized solutions. Every company will have the ability to expose the Microsoft-provided SharePoint app store to its users. It will also have the option of maintaining its own private enterprise app store, a place on its SharePoint farm where it can manage and maintain applications it has developed or licensed. The ability to manage which apps will be available to the company's user base allows it to implement the app while staying in-line with the governance strategy it's adopted. Having a private company app store also improves custom-tool delivery and adoption within an enterprise, and can ease the workload on SharePoint administrators. The apps themselves can't include any server-side code. This means that the SharePoint farm is in many ways safeguarded from the app. However, the apps can connect to server-side code that's hosted outside of the SharePoint farm by following OAUTH requirements and making REST calls. There are three major types of SharePoint apps. Each one has its own benefits and limitations. Developers creating these apps need to understand these options. They should also be understood by those who are responsible for governance and change-management. These types are: