The Problem with Apps for SharePoint 2013

Mike BerrymanApps for SharePoint 2013 were a nifty thing when they were first announced and sounded interesting in concept, but now that I’ve looked into them I find myself asking “Why?” for a majority of my day-to-day situations.

Most of my SharePoint-related tasks usually involve working with on premise SharePoint farms, so I tend to be working in situations where I have access to the SharePoint server and am able to develop full-trust custom solutions.  In this scenario, I have a hard time coming up with any good reasons to utilize the SharePoint 2013 App model.

Usually whenever any programmer starts looking into a new technology/framework/whatever, we want to start off with a “Hello World”-type exercise.  In my case, I didn’t even make it that far.  I knew the concept of what a SharePoint 2013 App was and could accomplish, but I had never actually looked into setting up your SharePoint environment to host Apps so that was the first step.  After some research and reading articles and how-to guides, I found myself scratching my head wondering why I should even bother for (in my case) so little perceived benefit.

Basically, from a high level, the steps to just get your SharePoint environment ready to host Apps are:

1.       Set up a domain in DNS for your Apps

2.       If your SharePoint Site is using https, create a wildcard SSL certificate for the new App domain

3.       Create a Subscription Settings service on your SharePoint farm (which can only be done via Powershell)

4.       Create an App Management service on your SharePoint farm

5.       Configure SharePoint host headers for your new App URL

There are some additional tasks (App trust levels, setting up an App host site in SharePoint) but the above tasks are the main “Administrator” tasks to get a SharePoint farm set up for Apps.  Once I had determined this process would be necessary – and discussed my findings with the client I was working with – it was pretty easy to decide that, in this situation, the overhead and maintenance of getting the SharePoint 2013 environment App-ready wasn’t worth what they’d be gaining, especially when we could accomplish what they needed without using Apps anyway.

That isn’t to say that SharePoint Apps aren’t useful – on the contrary, I can very much see how SharePoint App development would be useful in an extremely large corporate setting where teams are left to manage their own SharePoint portals, and SharePoint Apps are definitely applicable in an Office 365/SharePoint Online environment.  In these situations, the main SharePoint farm administrator probably doesn’t want to be involved with every user request to modify the SharePoint system in some way to fulfill a business requirement, and the developer most likely doesn’t have administrator access to the SharePoint server.  SharePoint Apps allow for developing custom solutions for SharePoint in a compartmentalized way, so the farm administrator doesn’t really have to worry about custom solutions messing with the core SharePoint functionality.

In most of my situations where I’m developing a specific solution for a client while having access to the SharePoint server and what I’m developing isn’t exactly meant to be reused in multiple places, I just don’t see the point of going through the hassle of setting up SharePoint for Apps just because it’s there.  Microsoft is definitely making an effort to move away from managed code solutions (although that will never 100% happen) in favor of HTML5/javascript solutions, and Apps are one way they’re accomplishing that.  SharePoint 2013 has made it much easier to accomplish many tasks using just HTML5/javascript, but I’ve found I can utilize a lot of these new features without having to develop an App.  They definitely have a place in the SharePoint 2013 world, but I’ve yet to find myself in that place.

Check out some of the things we do with SharePoint.


One comment

  • Even for your use, where you have full access to the server, you’ve locked yourself into using full-trust code. It’s an upgrade blocker and for that reason alone it may be useful to go through the pain of settings up the app model (I agree its painful). Also, some companies are going hybrid and will have to use the app model so why not start with it?


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s