Overview of Apps for SharePoint

May 15, 2014 , by

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:

Development Overview

  • 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 language like JavaScript, HTML, PHP, or .NET
  • 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

Building a SharePoint App is similar to building a web application, where the web is the platform. The development process for SharePoint apps will be similar on any device – mobile, tablet, or computer. The app’s logic, data, and interface can be distributed in separate components. The app can be connected to most internal or public web services. OAuth 2.0 support is now available in SharePoint. Use the expanded capabilities of REST and client APIs (JavaScript and .NET) to access the rich data and services in SharePoint such as search, workflow, social networking, taxonomy, user profiles, and Business Connectivity Services (BCS).

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.

App Types

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:

  • REST APIs and JavaScript 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 

Categories: SharePoint Apps