In a recent blog post, I walked through setting up a SharePoint 2013 development environment in the cloud. After doing that, the next most logical step was to start building apps. But that meant that I would have to understand what a SharePoint app really was and how it differed from SharePoint 2010 development. I mean sure, I could bang out the typical “Hello World” app, but to do anything meaningful, I needed to dig a little deeper.
Apps vs. Solutions
An app for SharePoint is a stand-alone, self-contained piece of functionality that extends the features and capabilities of a SharePoint site. Apps can bring together the best of both worlds; modern web technologies and all the familiar pieces of SharePoint. On top of that, users can discover and download apps on their own from the public Office Store or from their organization’s private App Catalog. In contrast, a solution is used to customize or enhance SharePoint sites and needs a farm administrator to deploy, manage and remove.
The first question that I asked myself was why would you use an app? I would assume that the answer to this question might depend on who you polled, but as a developer, I am extremely excited that I can now leverage all of the exciting things that my “non-SharePoint” counterparts have been doing for quite some time. In my opinion, this paradigm shift is a smart move by Microsoft, and will go a long way in attracting more developers to the platform.
SharePoint 2013 introduced a ton of new features for the end user. It also brought about a lot of changes for SharePoint developers, particularly in terms of the new SharePoint App Model. I’ve been a core SharePoint developer for seven years now, through both the 2007 and 2010 releases, and so I thought it might be beneficial to share some lessons learned from my own transition from core SharePoint developer to a SharePoint 2013 app programmer.
My two immediate realizations when faced with SharePoint 2013 were that:
I had to learn lot of new terms: SharePoint Hosted, Provider Hosted, Auto Hosted, On Prem, O365, Host web, App web and many more.
We’re honored to announce that AIS’ own Media Center app won an Appy award for “Coolest App” at the SharePoint MVP Summit 2013. Media Center is a SharePoint app that allows you to integrate your Windows Azure Media Services (WAMS) assets in SharePoint. And we agree that it’s pretty darn cool.
Over the last couple months, I’ve been working on a SharePoint app in my spare time. The app, which is SharePoint hosted, requires site collection permissions and reaches back to the Host App to inspect lists and other objects to identify common issues that impact the performance of SharePoint.
One of the first things I struggled with, though, was how to access the data through the SharePoint Client Object Model in the Host Web. Every code sample out there just works with data within the app, and doesn’t try to go back to the Host Web to get the data. Since there is a security barrier between the app and the Host Web, you can’t access data in the Host Web through the client context of the app. You must retrieve the site through a special method in the SharePoint API called AppContextSite.
Media Center is a SharePoint app that allows you to integrate your Windows Azure Media Services (WAMS) assets within SharePoint.
Before I describe the app functionality, I think it useful to take a step back and briefly talk about why this app is needed and the design choices we had to make in order to build it. This is also a great opportunity for me to thank the team who worked very hard on building this app including Jason McNutt, Harin Sandhoo and Sam Larko. Shannon Gray helped out with the UI design. Building an app using technical preview bits with little documentation is always challenging, so the help provided by Anton Labunets and Vidya Srinivasan from the SharePoint team was so critical. Thank you!
At AIS, we focus on building custom applications on top of the SharePoint platform. Among the various SharePoint applications we have built in the past, the ability to host media assets within SharePoint is a request that has come up a few times. As you know, SharePoint 2010 added streaming functionality, so any media assets stored within the content database could be streamed to the SharePoint users directly. However, the streaming functionality in SharePoint 2010 was never intended to provide a heavy duty-streaming server. For instance, it does not support some of the advanced features like adaptive streaming. Additionally, most organizations don’t want to store large media files within SharePoint in order to avoid bloating the size of the content databases.
Enter Windows Azure Media Services (WAMS). Read More…
This week, many AIS team members are attending the Microsoft SharePoint Conference in Las Vegas, Nevada. We’ll be posting blog posts from each of them as they learn what’s new and what’s exciting during sessions, demonstrations and other conference highlights.
During the Microsoft SharePoint Conference keynote yesterday morning, there weren’t a lot of surprises (if you’ve been paying attention for the last few months, that is). However, you can always learn something from the emphasis that Microsoft puts on certain topics. The biggest “announcement” was that the enterprise features of Yammer are now included with Office 365 E Plans and SharePoint Online. SharePoint 2013 also went up for sale (at least for some customers) yesterday. The rest is all about the cloud and apps.