Update
During the night some of the links have changed.
---------------------------------------
First of all, I’m going to write more posts on the app model. This is more a kind of introduction or mindset enabler. The app model is awesome!!
Have you spent numerous hours of digging into SharePoint APIs and these SharePoint special things... every SharePoint developer knows what I mean...
Forget about these days. W/ SharePoint 2013 there are standardized APIs and mechanisms how to build extensions – or let’s use the right term: APPS – for SharePoint 2013.
What is a SharePoint App
A SharePoint App is any web application which is integrated or registered in SharePoint. Apps are registered in SharePoint by using an app manifest. The manifest describes where the app is hosted and what happens when the app is started (the website is being rendered). See figure 1.

Developer’s heaven is here
SharePoint is still a web application :D So we’re still talking about HTML, CSS and JavaScript. By the way these ugly Silverlight thing is mostly gone :D. So everyone who is able to produce some lines of HTML is able to build Apps for SharePoint. If you’ve done some Facebook development, this may sound familiar to you. For me, this is great. I can use for example node.JS or Ruby to write web applications or services, which can easily be hooked into SharePoint 2013.
OAuth
Many websites or suites are using OAuth for a long time now. And finally SharePoint 2013 will manage all your SharePoint Apps using OAuth. It’s important to know how OAuth works. In short there artifacts are important for OAuth
- The consumer (your SharePoint App)
- The service provider (SharePoint)
- The user (data owner)
There is an great tutorial describing how OAuth works and how you, as a developer can easily get started w/ OAuth. http://hueniverse.com/oauth/guide/
Accessing SharePoint and it’s data
As an app developer you can talk to SharePoint using three different APIs. Both .NET and JS CSOM may be well known from SharePoint 2010. The REST API doesn’t mean this ListData.svc stuff from 2010. There is a 100% REST endpoint baked into SharePoint 2013. In summary we’ve these options.
- SharePoint Client Object Model (JS)
- SharePoint 2013 REST Service
- SharePoint Client Object Model (.NET)
There is already a document on MSDN describing when you should consider which API. ( http://msdn.microsoft.com/en-us/library/office/apps/jj164060(v=office.15) ).In the second part of this post I'll create an sample app and explain all the parts of an simple Hello SharePoint App. Now it's time to sleep a few hrs. Before we start day one w/ SharePoint 2013 technical preview :D