I have been fortunate in that I was hired by Microsoft early in the lifecycle of SharePoint 2013 to write training material for developers and architects. At this point I have been designing, writing and thinking about SharePoint apps for a little over a year. I would like to share what I have learned and show the evolution of my thoughts by writing a series of blog post on the new SharePoint app model.
Let’s begin with a bit of history. SharePoint 2007 represents the first version of SharePoint technologies where Microsoft invested to create a true development platform by introducing features and farm solutions. Next came SharePoint 2010 where Microsoft extended the options available to developers by introducing sandboxed solution deployment as an alternative to farm solution deployment. With SharePoint 2013, Microsoft has now added a third option for SharePoint developer with the introduction of SharePoint apps.
When developing for SharePoint 2013, you must learn how to decide between using a farm solution, a sandboxed solution or a SharePoint app. First, you should learn what’s different about developing SharePoint apps. As you will see, SharePoint app development has several important strengths and a few noteworthy constraints when compared to the "old school" approach of developing solution as we have been doing for SharePoint 2010.
As you begin to get your head around what the new SharePoint app model is all about, it’s helpful to understand one of Microsoft’s key motivations behind it. SharePoint 2007 and SharePoint 2010 have gained large-scale adoption world-wide and have generated billions of dollars in revenue primarily due to companies and organization who have installed SharePoint on their own hardware using an on-premises deployment model. And while previous versions of SharePoint have been very successful products with respect to all these on-prem deployments, Microsoft's success and adoption rate in hosted environments such as Office 365 have been far more modest.
The release of SharePoint 2013 represents a significant shift in Microsoft’s strategy for evolving the product. Microsoft’s focus is now concerned with improving how SharePoint works in the cloud and especially with Office 365. Microsoft’s investment in SharePoint 2013 has mainly been to add features and functionality that works equally well in the cloud as they do in on-prem deployments. You will find that SharePoint 2013 doesn’t add much new functionality for on-prem deployments that does not also work in the cloud.
Why SharePoint Apps?
The development model for SharePoint apps is quite different when you compare it to how we develop farms solutions and sandboxed solutions. I am going to create a series of blog posts based on following list to summarize the key differences you'll find as you migrate from developing SharePoint solutions to developing SharePoint apps.
Once you have gained a solid understanding of these key points you will have a better appreciation for why Microsoft has introduced the new SharePoint app model. You will also have the proper perspective for selecting between a SharePoint solution and a SharePoint app when its time to start a new SharePoint development project. What you will find is that there are many scenarios where going with the new SharePoint app model will make much more sense. You will also find that there will still be plenty of scenarios which do not provide a fit for the SharePoint app model where it will make far more sense to go with a SharePoint solution.
I hope you enjoy this series of blog posts and find them useful in your journey as a SharePoint developer.