Hello everyone, I am planning to write a series of articles on the SharePoint 2013 App Model. This article is the first one in the series - where I will start with a bit of theory first, why APPS are needed?
Well, all previous versions of versions of SharePoint had many concepts and artifacts (like pages, lists, libraries, sites, web parts, master pages etc.), which make it difficult for new people to learn SharePoint. Sometimes end users get confused by various number of elements which are visible in ribbon and navigation. The reason of these various concepts and artefacts is because SharePoint can be used for loads of purposes and that’s why the SharePoint web application experience is very different as compared to other dedicated web applications. With the new version of SharePoint 2013, Microsoft wants to make it easier for users to learn new concepts.
Why Apps are needed?
As per the new web technologies, latest gadgets, smartphones etc. which are coming up nowadays, it is found out that end users primarily understand Sites, People, Apps and Themes. The new SharePoint 2013 experience is centered across these 4 primary concepts - (Sites, People, Apps and Themes), such that it is easier for the end users to get familiarize with SharePoint 2013.
For end users, these concepts are described as:
Sites: A storage space with content (such as pages, documents and list items).
People: Site will allow users to access the content and collaborate with each other within same space.
Apps: Apps are going to provide functionality to make site valuable. It can be anything like web part, document library etc.
Themes: Used to improve the look and feel of the site.
In SharePoint 2010, we already have 3 out of the 4 concepts i.e. Sites, People and Themes. But there is nothing like apps, which provides a specific functionality and end users are fairly comfortable in using it similar to other platforms like phones and tablets. This is the gap which needs to be filled.
SharePoint 2010 Application Challenges
There have been some issues with fully trusted SharePoint 2010 applications, they can destabilize the whole farm and they are difficult to migrate to newer versions of SharePoint. SharePoint farm solutions require deployment of solution packages. A lot of custom code is there on SharePoint2010 server, if it is not written well, it can cause SharePoint outages.
The initial attempt to solve this problem was by using sandboxed solutions in SharePoint 2010, but it has its own limitations and there are limited number of customers actually using it.
Developers who are creating these apps must have good knowledge of SharePoint API.
SharePoint 2013 App Model
The new SharePoint 2013 application model not only addresses concerns around solution packages, custom code on server, but also introduce a lot of new capabilities.
SharePoint 2013 apps do not live in SharePoint rather they execute within the browser client or in a non-SharePoint server such as IIS or Windows Azure. Apps are granted permissions to SharePoint via OAuth, and communicate with SharePoint via REST APIs or via CSOM (Client side object model).
Developers will be able to publish their apps to a public marketplace for download & purchases. In addition organizations will be able to create a private corporate marketplace where the apps would be available to the organization.
Hopefully this post would have given you an idea why Apps are needed for SharePoint 2013. I will be publishing a lot of content on the SharePoint 2013 app model in next few posts. Apps introduce a breaking, now philosophical change to how people extend SharePoint. Upgrading, installing and uninstalling SharePoint applications was not a great story in previous versions of SharePoint. SharePoint 2013 changes this with robust infrastructure to support upgrade, installation & uninstallation of apps. The upgrade story for apps in SharePoint 2013 also ensures that if an app upgrade fails, it is rolled back so the site isn’t left in a bad state. One significant change in SharePoint is that everything is now treated as an app. This includes existing lists and libraries. I understand you would be curious with loads of questions running around in your mind about Apps - I am sure most of these questions would get answered in the upcoming posts.
In the next post - I will mention about the "Introduction to SharePoint 2013 App Model".