16 October 2014

SharePoint Apps or Sandboxed Solutions?

Microsoft has deprecated the use of custom managed code in SharePoint Sandboxed Solutions, a decision that of course affects the future of the kalmstrom.com SharePoint Solutions.

Choices for SharePoint development
At kalmstrom.com we are constantly evaluating new technologies and trying to make the best choices for our product development. When it comes to SharePoint development one such choice is the type of product to build. Currently there are three major choices, each with its own pros and cons.

Technology

Pros

Cons

Apps

Server-side code in C# -
also called custom code.

Easy to build, fast and
we are able to protect our IP. Very good developer tools.

Deprecated, subject to resource points and server-side timeouts.

No

Server-side code off SharePoint

Same as above, but harder
to build

All of our customers would
need to be connected to the internet, which some are not.

Yes

Client-side code in JavaScript

Slow development process.

Hard to protect our IP,
cross-browser problems, poorly documented.

Yes

Client-side development
In addition to the above choices, another option is to do client-side development, which allows us to integrate SharePoint with Outlook or write to a local database. This
is what we do in HelpDesk OSP, Kanban Task Manager for Outlook and the upcoming SP Archive, and we plan to
continue doing so in future products.
To use both SharePoint and Outlook in the same solution gives many advantages, and our customers also like to be able to choose between SharePoint lists and databases for sharing and storage.

Apps are not compatible with SharePoint 2010, while our sandboxed solutions work fine on both 2010 and 2013.

No-code Sandboxed
Thus we are not fully following Microsoft’s recommendations. However, most of our functionality is already in JavaScript and we are moving off server-side code fast.

This means that we are making our products nearly 100% no-code sandboxed solutions, NCSSs, which is not included in the Microsoft deprecation. It only applies to custom managed code within the sandboxed solution.

"While developing sandboxed solutions that contain only declarative markup and JavaScript -- which we call no-code sandboxed solutions (NCSS) -- is still viable, we have deprecated the use of custom managed code within the sandboxed solution.", says Brian Jones in Microsoft's official blog for SharePoint Developers

We will continue to discuss the future development in the kalmstrom.com developer group as well as with subscribers to our SharePoint Solutions. However, our aim is to start building Apps as soon as our Subscribers are ready and we can drop the support for SharePoint 2010.

Note: Since this blog post was written, we have moved all products off server-side code.