The Problem with Apps for SharePoint 2013
Apps 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.