Advantages and Disadvantages of SharePoint Apps

In this article I would like to explain the advantages and disadvantages of SharePoint apps.

In this article I would like to explain the advantages and disadvantages of SharePoint apps.

SharePoint Apps overview

SharePoint 2013 introduced the apps as in the following:

  • The apps for SharePoint provides a new method to deliver specific information or functionality to a SharePoint site.
  • SharePoint 2013 introduces the “Cloud app model”that enables you to create apps.
  • Microsoft will host and control a public SharePoint Store, where developers will be able to publish and sell their custom apps for SharePoint.
  • SharePoint apps are self-contained functionality that extend the capabilities of SharePoint web application.
  • Apps are essentially web applications that runs “outside” of a SharePoint host web.
  • It’s an easy to use, stand-alone app that solves a specific end-user or business needs.
  • We can use any language for creating the apps, such as HTML, PHP, .NET and web development tool and so on.
  • By using “NAPA” we can create a SharePoint apps.
  • We can use the Client Object Model (CSOM) to talk to SharePoint
    JavaScript for Asynchronous
    .NET for Synchronous

Example: we can create the custom branding and themes for SharePoint 2013 and share them with the other users with the Office market place.

Types of apps

  • SharePoint "On-premise" hosted apps: An app is hosted entirely internally on a locally installed SharePoint environment.
  • Remote apps hosted by Azure: Apps are hosted in Microsoft's developer cloud service Azure.
  • Provider hosted apps: Apps can be hosted anywhere, and written in nearly any language.

Advantages of apps

  • Various Hosted options.
  • Multiple development platforms supported for creating apps
  • Advantage is that the code is out of SharePoint
  • SharePoint apps are capable enough to replace the most farm and sandbox solutions. Apps are mainly providing the more advantages for:

    Users
    Administrators
    Third-party app Developers

Advantages to Users

  • Users can easily add the new functionality to the SharePoint System
  • More apps are available in the SharePoint App Store as compared with sandboxed solutions
  • Upgrade supports are available to users
  • Users can get the apps through the app catalog (within the organization) and App Store (outside organization).
  • Apps provides the easiest installation to the users
  • Users can also be reassured by the fact that all apps in the App Store have been approved by Microsoft to meet coding, interface and integrity standards
  • The end-user process of installing is very simple

Advantages to Administrators

  • Reduction of server outages and downtown
  • Apps are executed outside the environment
  • Apps are very less load and safer compared to the sandboxed solutions
  • The single biggest advantage for administrators of SharePoint systems is control
  • Admins can monitor apps

Advantages to Third parties

  • The central store means a more effective use can be made of any marketing and advertising efforts
  • The technical aspects of the app model also make life easier for many developers, allowing them to write apps in various languages
  • Common web standards of HTML, JavaScript, CSS can be used to develop apps
  • Visual Studio 2012 supports app project templates
  • Microsoft also operates a revenue sharing model for the App Store

Disadvantages of apps

  • The Apps infrastructure is very clunky and in some cases unrealistic to implement
  • Apps are very primitive and rudimentary
  • A corporate catalog is paid or needs to be purchased
  • Apps will need to rely heavily on JavaScript and asynchronous REST API calls/client OM calls to interact with the associated SharePoint context
  • The new App model brings many more cross-server communications with it. Will this impact the performance?

References

Apps for SharePoint overview

Summary

In this article we have explored the advantages and drawbacks of apps in SharePoint 2013.

Happy learning.