SharePoint Apps or Add-ins Vs Solutions

Here we will discuss, what are the limitations of SharePoint farm solutions, limitation of sandboxed solutions and the advantages of SharePoint Add-ins (Previously known as Apps). Microsoft introduced farm solutions in MOSS 2007 version and to overcome to an extent the limitation of farm solutions Microsoft introduced SharePoint Sandboxed solutions in SharePoint 2010.

Both Sandboxed solutions and farm solutions become more popular among developers. In SharePoint 2013 Microsoft introduced the whole new concept of Add-ins (previously known as Apps).

In SharePoint 2013 we have all the three options to work with. So it is important to understand the advantages and disadvantages of all three options (farm solution, a sandboxed solution, or a SharePoint Add-ins).

Though Microsoft earns huge money from on-premise versions it changes its strategy for 2013 and future versions. Now Microsoft’s focus shifted towards the cloud (Office 365) instead of on-premise. By introducing add-ins Microsoft has made drastic changes in development technique for SharePoint.

Limitations of SharePoint farm and sandboxed solutions

Below are a few limitations of SharePoint farm and sandboxed solutions:

  • SharePoint farm solutions code always runs in a SharePoint server. Farm solutions run within the SharePoint worker process known as w3wp.exe and SharePoint sandboxed solutions code run within the SharePoint sandboxed worker process SPUCWorkerProcess.exe. Running code in the SharePoint server is always at risk which decreases the stability of SharePoint farms. The other problem comes with SharePoint farm solution when customers want to upgrade to a newer version of SharePoint. Most farm solutions developed using full trust and perform complete operations which are not so smooth while upgrading. Sometimes you may need to rewrite the complete solutions as well as sometimes customers are not comfortable unless properly tested in the newer versions of Microsoft.SharePoint.dll. Since companies delay the upgrade ultimately it affects Microsoft’s sales revenue.
  • Another problem with the SharePoint solution is that the code always runs under the identity and permissions of a specific user. So if a SharePoint administration activates a feature then the code can do everything that a SharePoint administrator can do. At the same time, a sandboxed solution can protect the farm and other site collections but it can not protect the site collection on which it is activated. By using few lines of code a sandboxed solution can delete all lists and document libraries in the site collection.
  • Another problem with the sandboxed solution is that it can not do an impersonation. The code will run as current user permission, if the current user has only read access then your code can not elevate permission to do more than the permission which the current user has. At the same time, farm solutions can elevate permission by using SPSecurity.RunWithElevatedPrivileges which allows custom code to run on SHAREPOINT\SYSTEM account which has no security constraints. This can harm anything on the farm.
  • Another problem with farm solution is that it requires a farm administrator to install solutions and also in most of the time it requires IIS reset on all the front-end servers. Always difficult to install, upgrade a farm or sandboxed solution.

Advantages of SharePoint Apps or Add-ins

  • On the other hand SharePoint add-ins, architecture is different compared to SharePoint solutions.
  • Microsoft designed Add-ins in such a way that it works both in Office 365 environment as well as within the on-premise environment.
  • Add-in codes never run in a SharePoint server. There are two types of add-ins: one is SharePoint hosted add-ins where the code runs inside the browser on the user’s computer because it contains only client-side code. And the other one is a provider hosted app where the code runs in an external website and it contains server-side code.
  • Add-ins can be installed from Office store or from Add-in catalog sites, Office Add-ins does not need any IIS to reset for adding to the site, it is easy to find, install and upgrade. Add-ins can be installed on both on-premise as well as in SharePoint Online.
  • Add-ins code is authenticated and runs under a distinct identity. Add-ins permissions can be configured independently of user permissions.

Few more Advantages of Apps in SharePoint 2013

Now, let us discuss few more advantages of apps in SharePoint 2013.

  • SharePoint Apps provides users with the easiest discovery, purchase, and installation process.
  • SharePoint Apps provides administrators with the safest SharePoint extensions.
  • SharePoint Apps provides you with the simplest marketing and sales system based on a Microsoft-provided online app store.
  • They maximize your flexibility in developing future upgrades.
  • They maximize your ability to leverage your existing non-SharePoint programming skills.
  • They integrate cloud-based resources in smoother and more flexible ways.
  • Apps enable your extension to have permissions that are distinct from the permissions of the user who is running the app.
  • It enables you to use cross-platform standards, including HTML, REST API, OData, JavaScript, and OAuth.
  • SharePoint Apps enable you to leverage the SharePoint cross-domain JavaScript library to access SharePoint data. Alternatively, you can use a Microsoft-provided secure token service that is OAuth-compliant.
  • SharePoint Apps can extend SharePoint Online websites as well as on-premises SharePoint websites.

Why create apps/add-ins for SharePoint?

Let us discuss why we need to create apps for SharePoint 2013? Ok, According to MSDN Apps for SharePoint are easy-to-use, lightweight web applications that integrate popular web standards and technologies to extend the capabilities of a SharePoint website.

Before developing an app for SharePoint, we should know why we need an app for SharePoint? Check out below points:

Development Benefits:

  • Rather than SharePoint, a platform, for Apps Web is the platform. If you can build a simple web application, then you can build an app for SharePoint. No more SharePoint dependancy.
  • Now you can use any language to develop an App for SharePoint, Apart from .Net you can use HTML, JavaScript, PHP, etc.
  • Now you can communicate with public web services apart for internal web services.
  • You can separate Business, Data, and UI into the different components. You can write the business logic in .Net, You can write the Presentation logic in HTML and JavaScript and you can store your data in SQL Server or MySQL.

Hosting Benefits

  • In case of App, you have various option to host the app, We can fully host in SharePoint, We can also host part in SharePoint and part in Cloud.

Office Benefits

  • Apps for SharePoint can be integrated with apps for Office.
  • You can use Office store to sell you SharePoint Apps and Office stores will handle end to end business process from purchase to updates. Also, you can deploy an app to the company’s App Catalog.

Other Benefits:

  • Now you will get a familiar web experience because apps fit seamlessly into SharePoint web sites. It will fit a full page, or a part of a webpage or into UI custom actions, ribbons or menus. So you will feel a good UI experience in computer, mobile or tablet, etc.

Difference between Apps and Solutions in SharePoint 2013

Here, we can see mainly the difference between SharePoint apps and solutions in SharePoint 2013/2016.

Below, are the difference between apps or add-ins and solutions in SharePoint 2013/2016/Online.

  • An app is a standalone application, and the infrastructure, management, and upon grades for apps happen outside of SharePoint.
  • But an app that requires server-side code must be installed on its own web server infrastructure apart from SharePoint.
  • Apps are acquired by site administrators and farm administrators from the public SharePoint Store or from an internal corporate App Catalog.
  • But solutions are usually packages intended to customize or extend the functionality of one or more SharePoint sites.
  • SharePoint Solutions are almost always custom development exercises by either third-party developers or an internal development team. Code is installed into SharePoint either by administrators as a full-trust solution or by site administrators as a partial trust or sandboxed solution.
  • Both full trust and sandbox solutions are managed by farm administrators, but one site owner can add a specific app in SharePoint.
  • When an app developer releases an upgrade to the SharePoint Store or App Catalog, each individual site administrator is notified of the available update and can independently upgrade the app on their sites. Because an app is an entirely self-contained application, if a site administrator decides to remove a particular app from a site, the app instance and all of its data are deleted from the site.

You may like following SharePoint apps tutorials:

I hope this SharePoint tutorial explains, limitations of SharePoint farm and sandboxed solutions and Advantages of SharePoint Apps or Add-ins in SharePoint.

Donwload Hub site pdf

Download SharePoint Online Tutorial PDF FREE!

Get update on Webinars, video tutorials, training courses etc.