SharePoint has evolved over a period of time and with SharePoint 2013, it now offers a great development platform for building add-ins and solutions with varying scope and addressing a wide range of needs. SharePoint 2013 now offer a new strong development platform that allows customizations via supported extensibility models. There are two ways to add custom functionality to SharePoint 2013: SharePoint Solutions and SharePoint Apps
SharePoint Solutions Vs SharePoint Apps
SharePoint 2013 Solutions is the classic model well-known to all SharePoint developers. SharePoint Solutions are still considered a good option, and in some cases the only option, for customizing SharePoint. SharePoint Solutions can be developed using Visual Studio 2012, which includes a number of supported templates. They can integrate with external applications using Business Connectivity Services (BCS), Web Services, or a custom Service Application. There are two types of SharePoint Solutions: Farm Solutions and Sandboxed Solutions.
SharePoint Apps is the brand new extensibility model introduced in SharePoint 2013 which addresses the inherent challenges with SharePoint Solutions model. The biggest advantage of the SharePoint apps is that unlike SharePoint Solutions; the app run completely outside the SharePoint Server; this implies that their custom code is executed either in context of the client browser or on other servers not running SharePoint. As a result of this, the apps model provides the highest level of app isolation. The SharePoint Apps are scoped to individual sites or special site called App Catalog, which allows other sites to connect and consume the app.
The three deployment model for SharePoint apps are:
- SharePoint-hosted
- Self-Hosted
- Automatically Provisioned Azure Web Application
Advantages of SharePoint App Model?
SharePoint Apps Model are now the preferred Customization Model for SharePoint due to the following advantages:
- Flexibility: SharePoint Apps can leverage any of the industry Web standards such as HTML5 and CSS3, JavaScript and jQuery (or any other frameworks/libraries), JSON, REST, OData, and OAuth. This provides for a great flexibility for integrating with external applications are vast.
- Stability: Since SharePoint Apps never run on the SharePoint server, this greatly increases the stability and performance of the farm. It makes it easier to upgrade to the next version of SharePoint since testing platform independent Apps is easier and faster than testing Solutions.
- Capability: SharePoint Apps can communicate with SharePoint via OData and CSOM. Microsoft has greatly improved the capabilities of the CSOM and the REST API to enable developers to create a wide-range of custom solutions without using the server-side API.
- Security: SharePoint Apps can leverage the newly added support for OAuth 2.0, which provides an easy way to manage their permissions. Developers can specify which permissions the app needs in order to function. The end-user installing the app is then prompted to accept the permission request the app needs to function.
- Reusability: Apps can be packaged, reused, and sold via a Corporate or Public Marketplace, which makes it easy for end-users to acquire new apps. Also, the same exact app is guaranteed to work in both on-premise and Cloud environments.
- Deployability: Microsoft has made great investments in simplifying the app installation and upgrade processes; thus, addressing many developer challenges with the solution model.
- Wide Range of Customizations: SharePoint Apps are capable enough to replace most of the Farm and Sandboxed Solutions. Specifically, they are suitable for a wide range of customizations, including:
- a) Custom Web Parts
- b) Event and Feature Receivers
- c) Custom Field Types
- d) Application Pages
Why Alrasmyat?
- More than a decade of experience in implementing SharePoint projects.
- Experience and proven track record in Office Business Application and with the SharePoint 2013 developing applications using SharePoint App Model.
- More than 30 solutions implementation on SharePoint for different industry verticals.
- Resource pool of Domain experts, SharePoint Consultants, .Net Developers with SharePoint apps expertise.
- Pre-build Frameworks and Accelerators on various SharePoint solutions and apps.
- Market tested approach to SharePoint and SharePoint apps implementation.
- Microsoft Certified Partner on SharePoint and Collaboration.