The Evolution of SharePoint

August 10, 2015   //   SharePoint, ,

As a SWC SharePoint Principal Consultant since 2008, I’ve experienced the evolution of the product. At SWC, we’ve helped many customers customize their SharePoint environments — from the basic “I want to make SharePoint not look like SharePoint” to adding out-of-the-box functionality.

SharePoint 2007 Introduces API

SharePoint 2007 simplified these customizations for developers. In this version, Microsoft created an official application programming interface (API) for SharePoint. It allowed developers to package their customizations into features that could easily be turned on or off by end users. It also introduced an easier way to brand SharePoint by utilizing Master Pages for a consistent look and feel. Master Pages allow SharePoint to maintain a consistent header and top/left navigation area. That was good news for us since branding was the first thing we wanted to change in SharePoint 2007.

Another improvement in SharePoint 2007 was the introduction of web parts. A web part is essentially a single configurable/reusable component or widget that can be used across many sites and site collections.

The most important improvement was the unification of the backend components. This meant that all SharePoint customizations had to utilize the .NET framework. This made perfect sense since SharePoint and .NET are both Microsoft products. The only downside was that this meant no customizations could be written in other programming languages—even older Microsoft languages like VB and ASP.

SharePoint 2013 Introduces App Model

SharePoint introduced the now familiar “App Model” concept. This is a re-imagined concept for how customizations are created and utilized within both on-premises and Office 365 instances of SharePoint.

In SharePoint 2013, users can purchase and install pre-approved third party customizations and tools to use on their instance of SharePoint. Companies can even go as far as customizing what apps are available to users within their own instance of the app store.

At its core, the App Model changes how customizations are written, deployed and managed within SharePoint. Currently there are two types of apps that are supported by the App Model:

  • SharePoint Hosted Apps: SharePoint apps are hosted within the SharePoint infrastructure, and they are generally geared towards SharePoint components. These apps will typically only use client side API’s such as JSOM (JavaScript Object Model) or REST.
  • Provider Hosted Apps: These apps are always externally hosted and will contain at least one remote component. This component can be anything from a service to a database to store data/information. What makes these apps so flexible is their ability to be hosted on any web technology stack—even apache and Linux servers.

As with any new technology or framework, there are good things about the new App Model, and there are not-so-good things.

The Good:

  • The App Model now makes it possible for developers to create their customizations in any language, not just .NET. It allows developers to host their applications on external systems while still providing access to SharePoint. This is a huge advantage simply because developers can now use the language or technology stack they are most comfortable in, and it allows developers to select the appropriate hosting options that best meets their needs; all developers have to do is learn is the SharePoint API.
  • With the use of the app store, SharePoint allows for third party companies to distribute their tools and customizations globally.
  • Since customizations for SharePoint no longer require you to deploy full trusted libraries to the Global Assembly Cache (GAC), SharePoint environments are now more secure and stable.

The Not-So-Good:

  • With the introduction of the new App Model, and with more and more companies moving to the cloud, any customization that has been done to SharePoint before the 2013 release will have to be re-designed and implemented in the new App Model methodology.
  • Many of the customizations and freedoms we took for granted in our code now become a bit more challenging and require extra effort to develop.
Image courtesy of Microsoft TechNet
Image courtesy of Microsoft TechNet

All in all, I believe the new App Model is a move in the right direction, especially if SharePoint wants to keep up with the push toward the cloud. By adopting the app store concept that has been successfully employed by other big organizations like Google and Apple, Microsoft is opening the doors for great ideas to be developed for the community without the need to wait for Microsoft to provide those features. Some might consider the App Model to have too many limitations; however, the increased security and stability that it introduces makes it a big step in the right direction.

Whether you are new to SharePoint or need to increase user adoption, SWC will work with you to make sure your SharePoint site is a go-to hub for content management and collaboration. Attend our next complimentary SharePoint luncheon and see for yourself, or give us a call at 630.572.0240 or send us an email and tell us about your business goals.