Introducing Apps for Office 2013 and SharePoint 2013

One of the new SharePoint 2013 and Office 2013 development model is the App model. Using this new App model, developers can easily extend SharePoint 2013 and Office 2013 and build great apps that integrate with millions of services out there.

Below is a video introducing apps for Office 2013 and SharePoint 2013

Why build apps?

Internet is filled with many services today and people are always connected. People today tweet, facebook, yammer, blog, flickr etc., In fact, people rely on Internet to even buy a house, rent a house and even store their personal data in the cloud using services like SkyDrive, Dropbox. So, shouldn’t it be easy for developers to integrate these services into SharePoint and Office? That’s exactly what apps can do – enable developers easily build apps to consume services and build solutions that solves specific user needs.

Today with SharePoint 2010, developers have two choices to customise and extend SharePoint 2010 by building:

  • Farm (full trust) Solutions
  • Sandboxed Solutions

Most of the time developers have to decide on whether to build:

  • Sites and sub sites
  • Custom pages
  • Web Parts
  • Custom User Controls

This involves developer being familiar with the SharePoint development methodologies and stick with what SharePoint platform provides. For example, it is impossible to write a custom SharePoint 2010 solution using ASP.NET MVC even though SharePoint is based on .NET 3.5. This becomes more complex if developers want to build solutions for SharePoint Online.

Now with SharePoint 2013 developers can just say “I will build an App!”

Using the new app model, developers can now choose how they want to build the app and where they want to host the app so that the app and SharePoint 2013 can talk to each other if required.

Building an app

To build apps, developers have two choices to choose from:

  • Visual Studio 2012
  • “Napa” Office 365 Development Tool

While Visual Studio 2012 provides great in-depth support for building apps, the new “Napa” tool provides quick and easy way to build apps for the cloud! With “Napa” developers do not require any tool and build apps straight from the browser. Developers can export and import the app into Visual Studio 2012 with one click to leverage the powerful Visual Studio capabilities.

Hosting an app

To host an app, developers have two choices to choose from:

  • Cloud Hosted App
    • This may refer the app being hosted in a custom hosting provider or in Windows Azure
  • SharePoint Hosted App
    • This refers to the app being hosted within SharePoint whether on-premises or Office 365 SharePoint 2013 Online

Below is a simple comparison between Cloud Hosted and SharePoint Hosted apps:

  Cloud Hosted SharePoint Hosted (Includes Office 365 SharePoint 2013 Online
App Scope Site or Tenancy SharePoint Site
Architecture Multi-tenant App (need to consider scaling, hosting options, handle user requests etc.,) Website (within SharePoint which is typically a SharePoint site)
Developer Skillset Full Stack – .NET and other languages SharePoint + HTML + JS
UI Technologies Any Web Stack – ASP.NET web application, MVC application etc., SharePoint + HTML + JS
Server Code Any – REST API, Server Side Object Model (SSOM) and CSOM .NET and JS API None – Using Client Site Object Model (CSOM) JS API
Storage Any – SQL Server, SQL Azure etc., Lists and Libraries
Key Limitations Hosting experience required No Server Code

Getting Started

In the next blog post we will build our first SharePoint ‘Movie App’ using “Napa”.

Meanwhile, below are some great links to get you started: