Development Option means the type of solution like Sandboxed Solution, Apps and so on. Depending upon the Quality Level of your organization, the selection of development option will be crucial.
Development Options
The following are the development options we are using:
- OOTB Solution
- Third-party Solution
- Lite Customization
- Heavy Customization
- Sandboxed Solution
- SharePoint Hosted App
- Provider Hosted App
- Farm Solution
NoteAuto Hosted Apps are not supported going forward, hence excluded it.
OOTB Solution
In this type of solution, we will be using out-of-the-box SharePoint features. For example, a department can raise a request for document management site. We can resolve it using a creation of the new site instance and configuration of a library.
Here, there are no deployment items involved.
Third-Party Solution
In this type of solution, we are purchasing ready-made software from outside. For example, a project management site template from XYZ Software. A Print Management App can be another example.
Here, a purchase cost is involved but faster requirement accomplishment is realized than other options. The deployment will be done by an Administrator or User.
Customizations
Customization involves lite or heavy customizations like:
- Site Collection / Site creation
- List / Library creation
- Content Type creation
- Metadata usage
- Page editing
- Script inclusion
- Quick Launch hiding
- Master Page change
Sandboxed Solution
A Sandboxed Solution is a deployable, reusable package containing features, site definitions and so on. It is useful if application level items need to be combined and packaged as a single WSP. Sandboxed Solutions can be restricted on resource usage using Quotas.
Deployment of a Sandboxed Solution can be user managed.
Note
Sandboxed Solutions are deprecated in SharePoint 2013 but Declarative Sandboxed Solutions are not. Declarative Sandboxed Solutions are those with declarative markups and JavaScripts.
SharePoint Hosted App
Apps provide Discoverability from the Corporate Catalog. In a SharePoint Hosted App the App is hosted within the SharePoint Farm.
The JavaScript Object Model will be used to render the App. Hence, the app is executed from the client side.
Provider Hosted App
In a Provider Hosted App the App is hosted in an external server. This enables protection of business logic without exposing to the client side and remote event receivers.
Since there are 2 web servers involved, we need to configure Trust Certificates among these servers.
C# will be used to render the App using the Client-Side Object Model (CSOM).
Farm Solution
Farm Solution provides Full Trust code and resides in the SharePoint Server. Custom solutions that require advanced object management, central administration component creation, custom site templates, coded workflows and so on can be deployed using a Farm Solution.
Server Object Model is used for development and hence the code is executed in the server. Security challenges and Server Risks arise.
Comparison Table
Let us summarize the comparison table here.
References
Apps for SharePoint compared with SharePoint solutions.
Summary
In this article we explored various development options in SharePoint 2013.