Benefits of provider-hosted SharePoint add-ins
You can download apps to your phone, and you can also download SharePoint apps to your SharePoint. SharePoint add-ins, formerly known as SharePoint apps, are self-contained applications that extend the built-in capabilities of SharePoint. These stand-alone apps exist to solve a specific business need, such as task management or contract management. Add-ins can show up as an immersive full-page experience, as 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, hosted outside of a SharePoint farm on an external server, 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. Provider-hosted add-ins tend to be much 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-hosted add-ins. Provider-hosted add-ins allow for more flexibility and are a more scalable solution.
Benefits of SharePoint Apps
Timer jobs allow the system to perform scheduled tasks. They are extremely 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. A provider-hosted add-in can run remote timer jobs by creating and scheduling them outside of SharePoint.
SharePoint-hosted add-ins often suffer from slow speeds and performance issues. When add-ins are designed with SharePoint Designer, CSS and jQuery code tends not to be optimized for performance. Workflows tend to get stuck. With provider-hosted add-ins, the code exists outside of SharePoint. They can be written using any programming language. This helps avoid performance issues that stem from SharePoint Designer.
There are no design limitations on a provider-hosted add-in. The application’s pages can mimic the look and feel 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 SharePoint web apps that are expertly customized.
SharePoint Designer has many limitations for changing functionality, which can result in a less-than-ideal 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.