In SharePoint 2013, we are calling all the components such as list, library and so on, as apps. Users have the facility to create their own app and host in the SharePoint store, this is called a Cloud App Model. Let us see the overview of apps.
An App is self-packaged piece of functionality that is adoptable with a SharePoint site. Users are looking for lightweight, easy to use apps that solve their needs. These things are done using an app model. Users find and download apps from the Office Store or their organization's private app catalog.
How we build apps
We have familiar tools and a rich set of features to build a Cloud App Model (CAM). Let us see some of key features of CAM.
Programming Model
We may choose any web application language (HTML, JS, .NET and PHP) to create an App. We may choose the development tool (Visual Studio 2012, "NAPA" O365 development tool) also. It supports tiered architecture to develop. We may connect an app with internal and external web services using new OAuth 2.0 support in SharePoint, REST, and the Client API (JavaScript and .NET). We can use SharePoint 2013 features (Search, Workflow, Social Networking, taxonomy, BCI and user profile) in the app also.
Hosting Options
We have multiple options to host an app. They are:
- Host in their own web stack with provisions for Windows Azure and SQL Azure
- Self-host on a SharePoint site
End user Experience
An app gives an immersive experience and is optionally expanded with a SharePoint UI. The app content will be displayed in an iframe. We may have ribbon items to show a List and Library.
App for Office
It is based on a new web-based extensibility model in Office 2013 that can integrate with apps for SharePoint.
What is an app
It's a basic HTML form. We need to register an app in an app manifest for SharePoint app. The app manifest file has the basic properties of an app,
- Where: App is going to run
- What: App is going to do
- When: App is going to start
You may have various types of authentication in the manifest file, this is called app principals. In this, we need to set the permission that is essential to run the app.
Where the app code run
The app code will run in various places. Let us see about that.
SharePoint-hosted apps
The App Web is a new site, it will be created when you deploy a SharePoint-hosted app. This site will allocate the space dynamically to store lists, libraries and pages.
Provider-hosted and auto-hosted apps (In Cloud):
These apps are run in a cloud. It will be deployed into Windows Azure and SQL Azure. We have two options for hosting Provider-hosted apps. One, we need to set up the dedicated server to install an app and another one is to be hosted on a cloud service.
Mix of components in SharePoint and Cloud
These types of apps will separate themselves to run. SharePoint Components run in SharePoint and others in a cloud.
How an app communicates with SharePoint
We may interact with an app with a SharePoint feature (workflow, taxonomy, BCS, search) using SharePoint APIs. We have three more APIs to interact with SharePoint. They are, REST, JavaScript APIs and Managed API (.Net).
References
http://msdn.microsoft.com/en-us/library/office/fp179930.aspx
Summary
I have explored my knowledge of SharePoint Apps. Happy Learning!