Benefits of provider-hosted SharePoint add-ins
You download apps to your phone right? Well, you can also download SharePoint apps to your SharePoint. SharePoint add-ins, formerly known as SharePoint apps, are self-contained applications. Overall, they extend the built-in capabilities of SharePoint. These stand-alone apps exist to solve business needs, such as task or contract management. Add-ins can show up as an immersive full-page experience. In addition, they can be part of an existing page or as part of the UI.
Add-ins don’t run any custom code on SharePoint servers. Thankfully, this helps you avoid any negative impact on server security or performance. Instead, all of the custom code runs on either the cloud, client computers, or an on-premises server external to your SharePoint farm.
You can download add-ins from the Microsoft Online store. For instance, you can have an add-in custom made for your organization. When developing a custom add-in, there are two different add-in models to choose from: SharePoint-hosted or provider-hosted.
The web application is hosted outside of a SharePoint farm on an external serve. For instance, this improves security. The application interacts with your SharePoint site and all of the stored data. Therefore, these add-ins include common SharePoint components. They can also include custom external components. Business logic can run via remote server-side code or client-side code.
More importantly, provider-hosted add-ins tend to be more powerful than SharePoint-hosted add-ins. Both models of add-ins can leverage standard SharePoint functionality. But, since provider-hosted add-ins aren't limited to client-side processing, they can leverage resources unavailable to SharePoint add-ins. Provider-hosted add-ins allow for flexibility and provide a scalable solution.
Benefits of SharePoint Apps
Timer jobs allow the system to perform scheduled tasks. Similarly, they are useful for automating your business processes. However, timer jobs are not available in Office 365/SharePoint Online since they require server-side code. To work around this limitation, you can use a provider-hosted add-in. In short, an add-in can run remote timer jobs by scheduling them outside of SharePoint.
SharePoint-hosted add-ins often suffer from slow speeds and performance issues. CSS and jQuery code tends not to be optimized for performance when add-ins are designed with SharePoint Designer. Overall, workflows tend to get stuck. The code exists outside of SharePoint with provider-hosted add-ins. They can be written, however, using any programming language. Moreover, this helps avoid performance issues from SharePoint Designer.
There are no design limitations on a provider-hosted add-in. The application’s pages can mimic the layout of standard SharePoint pages. Similarly, they can break outside of the SharePoint mold to feature a unique design. This flexibility allows you to create beautiful, customized SharePoint web apps.
In conclusion, SharePoint Designer has many limitations for changing functionality. Unfortunately, this can result in a lowered user experience. By using a provider-hosted add-in, the site is less restricted. This creates an optimized user experience. For example, you can customize document upload for a more streamlined experience.