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 Skill-set||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|
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:
- Office Development Portal
- Start Building apps for Office and SharePoint
- Apps for SharePoint Overview
- Developer Training
- Developer-focused how to training and walkthrough videos about Office 2013 and SharePoint 2013 including changes and new features for search, social, ECM, WCM, and REST