What is it?
Microsoft has re-invented how third-party / custom-developed software can plug into SharePoint. Web part still remains; however Microsoft is pushing the new SharePoint App Model instead of web part.
Apps are self-contained pieces of functionality that extends the capabilities of a SharePoint website. Apps will be executed outside the SharePoint Server, either in the on-premise server or in the Cloud based server. This makes Apps easier for installation & clean-up. A farm solution in SharePoint requires full trust whereas sandbox solutions are very restricted. In order to bridge this gap Microsoft has come up with this App model. Sandboxed Solutions are deprecated and new custom solutions should be provided through Apps. A new concept of App Store and App catalogue has been introduced for global and local app hosting respectively.
Microsoft’s Motivation behind App Model
SharePoint 2007 and SharePoint 2010 have gained large-scale adoption worldwide and have generated billions of dollars in revenue primarily due to companies and organizations that have installed SharePoint on their own hardware in an on-premises farm. And, whereas previous versions of SharePoint have been very successful products with respect to all these on-premises farms, Microsoft’s success and adoption rate in hosted environments such as Microsoft Office 365 have been far more modest.
The release of SharePoint 2013 represents a significant shift in Microsoft’s strategy for evolving the product. Microsoft’s focus is now concerned with improving how SharePoint works in the cloud, especially with Office 365. Microsoft’s primary investment in SharePoint 2013 has been to add features and functionality that work equally well in the cloud as they do in on-premises farms.
SharePoint app model design goals
- Apps must be supported in Office 365 and in on-premises farms.
- App code never runs within the SharePoint host environment.
- App code programs against SharePoint sites by using web service entry points to minimize version-specific dependencies.
- App code is authenticated and runs under a distinct identity.
- App permissions can be configured independently of user permissions.
- Apps are deployed by using a publishing scheme based on app catalogs.
- Apps that are published in a catalog are easier to discover, install, and upgrade.
Web part VS App model
Web Part model
|
SharePoint App model
|
Web parts are directly installed onto SharePoint front-end servers. So web part code directly runs on those servers.
|
All SharePoint 2013 apps that have backend code run outside of SharePoint 2013 server/environment.
|
Web part either runs with user permission or with full permission (elevated privilege)
|
Access can be restricted for App on objects of SharePoint with permission level.
|
Web parts might take up a significant amount of CPU cycles performing complex operations.
|
Apps are executed outside SharePoint hence performance of SharePoint is not impacted.
|
Web part code needs to be reviewed cautiously to ensure that it does not make any harm.
|
SharePoint App prompts for trusting what are the resources it is going to access with permission level (Read / Full control) while installation.
|
Web part added to a page runs in the same domain and environment of the page and its content. Hence it is strongly coupled.
|
Apps are mounted on SharePoint pages via iFrame(s) that point to a domain other than the SharePoint server’s domain, insuring complete client-side isolation between the SharePoint surrounding interfaces, and the nested app.
|
Web parts are not easy to publish globally / locally. It requires installation and activation.
|
Apps can be published to Microsoft’s public SharePoint store or hosted in a private store (on-prem/O365). It can be very easily installed in a SharePoint site.
|
Nice article....thanks for sharing :)
ReplyDeleteWhat about the App's limitations comparing to full-trust web part?
ReplyDeleteNimrod Geva
www.kwizcom.com
This is a great inspiring article.I am pretty much pleased with your good work.You put really helpful information. Keep it up dear. Thanks Contact Lenses
ReplyDeleteHi vivek,
ReplyDeleteNice Article about App Model in SharePoint 2013.thanks for sharing this in very detail .
Sharepoint Developers