1. DEVELOPMENT MODELS AVAILABLE IN SHAREPOINT 2013
New model differs both
in architecture and capability from traditional full-trust solutions
offered in SharePoint 2007 and SharePoint 2010. As you start developing
solutions for SharePoint 2013 you need to decide which of the following
two models best suits your needs:
- A full-trust solution
- A new SharePoint application
Each has its respective pros and cons and you
must carefully weigh which will suit your purposes best. One of the
driving design decisions behind SharePoint applications was to provide
a development model that was agnostic to whether the application was
being used in SharePoint on premises or to Office 365 in the cloud.
This point is extremely important to keep in mind as you decide how to
build your application, and you are advised to seriously consider
future plans for using SharePoint Online. Your organization might very
well want to move to SharePoint Online in the coming years and will
need many of its apps to go with it.
Although both the older full trust–style apps and
the newer SharePoint applications offer some of the same capabilities,
they differ in several areas. Table 1 summarizes some of the high-level components, or building blocks, that each offers.
TABLE 1: Full Trust Solutions versus SharePoint Applications
COMPONENT |
SHAREPOINT APPS |
FULL TRUST SOLUTION |
Web Parts |
|
X |
App parts |
X |
|
ASP.NET server controls |
|
X |
ASP.NET user controls |
|
X |
List and library templates |
X |
X |
Content types |
X |
X |
Event handlers |
|
X |
Remote event receivers |
X |
|
Pages and page layouts |
|
X |
Files |
X |
X |
Master pages |
|
X |
Ribbon and list actions |
X |
X |
Workflows |
|
X |
Apps for Office |
X |
|
Custom JavaScript list view renderings |
X |
|
Custom JavaScript column renderings |
X |
|
All SharePoint 2013 solutions are made up from a
combination of one or more of the preceding building blocks. Typically,
a solution built on SharePoint consists of three high-level application
layers, not unlike solutions built with other technologies:
- User interface
- Logic
- Data storage
The developer’s task is to decide what
SharePoint components best fulfill the requirements for each of the
preceding application layers. A solution might, for example, mean using
a Web Part for display purposes, an event receiver for processing and
logic, and a list for storing and managing the solutions data. These
basic architectural decisions don’t change based on your decision to
build a full-trust solution or SharePoint application. You must still
map your requirements to each of the capabilities these models provide
to ensure it is suitable for your needs.