Apps for SharePoint can extend and customize SharePoint’s capabilities to address different requirements; they are robust, self-contained, and cloud and/or web oriented. An app for SharePoint is an html element contained in an IFrame inside a SharePoint page. The App content is generated remotely with the app code running outside the SharePoint server which allows the app to be entirely self-contained. This is different from a Web Part because this ensures complete isolation between SharePoint and the interface; a significant benefit which completely protects SharePoint from any potential errant code. Whereas Web Part’s code runs directly within the SharePoint server allowing any potential errant code the ability to affect the entire SharePoint site. Furthermore, building Apps for SharePoint is made easy with a flexible development process. Here is a basic overview of apps for SharePoint:
- Your app can be Provider-hosted, Auto-hosted, or SharePoint-hostes
- The app can be deployed in Office 365, SharePoint Online, or as a hosted installation
- Use any web development tools like a web browser, SharePoint Designer 2013, Visual Studio 2012, "Napa" Office Development Tools, Eclipse, Dreamweaver, etc...
Programming Model Highlights
Architecture for building apps in SharePoint
Multiple Hosting Options (Deciding where the code runs)
The SharePoint App Model provides multiple hosting options for your app. You can choose your own web stack or host it in SharePoint. An app can also have some components in SharePoint and others in the cloud.
Apps can fit into SharePoint in several ways, creating a more flexible user experience. The three user experience options are as an immersive, full-page app; an app part, where an IFrame contains the app; or as custom actions, demonstrated below.
How to Get an App
You can sell your app for SharePoint to users and IT professionals for personal or corporate use. One way this can be done is through the Office Store. The Office Store also handles the discovery, purchase, and updates of a SharePoint App.
Apps Communicating with SharePoint
Apps are strengthened when they use SharePoint APIs to connect and integrate with SharePoint features such as search, workflow, social networking, taxonomy, user profiles, BCS, among others. These allow apps the ability to search and connect people. SharePoint APIs:
- Manages APIs (.NET)
SharePoint App Boundaries
- Cannot run server-side code in the SharePoint environment. This is beneficial to you if you have errant code at any time; only your app will be affected, and not the SharePoint environment
- Custom built code can only be implemented in the client, cloud, or on premise
- Cannot access SharePoint server-side object model
- SharePoint's predefined definitions cannot be changed
- Some SharePoint Components have restrictions or are unavailable
- Cannot provide/execute administrative tasks for SharePoint