Should I Develop Office 365 / SharePoint Online Applications with the Apps Model or SharePoint 2013 Sandboxed Solutions?

I’ve been looking at more SharePoint Online work recently, and many people have encouraged me to look at the apps model as the way to build solutions for it.

I do get the apps model and after some years dealing with the complications of custom WebParts it does seem pretty compelling. That said after trying some coding over the weekend I’ve come to the conclusion that it really isn’t for every scenario.

Actually, I REALLY want to be able to just use the App development model. I want to buy a new laptop, and the requirement to run SharePoint 2013 is the only thing that blows my minimum system needs out.

First I did a side by side comparison between

  1. Building ‘traditional’ sandbox solutions in SharePoint 2013 and then deploying to SharePoint Online
  2. Building SharePoint Online apps directly

 

Aspect 

SP 2013 Sandbox Solutions 

SharePoint Online App 

Comment 

Development environment 

Visual Studio 2013 + SharePoint 2013 & SQL Server installed locally

Visual Studio 2013  

The cost of licensing SharePoint 2013 and SQL Server for development purposes should be considered as well.

System Requirements 

Virtualization, 16GB RAM & multicore CPU recommended.  

4GB RAM 

It is possible to reduce the SharePoint 2013 requirements, however there are a few hoops to jump and basically you need a powerful machine.

Offline development?

Yes 

No 

Fairly obvious one…. 

Visual Studio Debug on SharePoint Online 

No 

Yes 

SharePoint 2013 Sandbox solutions can be debugged locally, but not when later deployed to SharePoint Online. This is potentially a big one, since sandbox solutions on both platforms do not operate exactly the same.

Ease of integration into SharePoint Site

Simple 

Difficult 

After installing an app it will not appear in SharePoint itself but rather its own separate application.


 

Packaged Solutions 

Simple. A sandboxed solution can be packaged, installed, activated, disabled and removed. 

Difficult. Custom code required, and uninstalling pieces will require the entire app to be removed.

This is not actually so clear cut. For ‘standard’ items such as Lists, Web Parts and Workflows, the sandboxed solution is easiest. If you want more web related files such as CSS and Javascript then it seems it is easier to deploy in an app.

Leverage existing web parts for lists 

Simple. The new list is visible to the WebPart through a standard API call 

Difficult. SharePoint cannot ‘see’ the new List, and a reference to it would have to be explicitly entered, if possible

I downloaded some webparts from the SharePoint store and many required me to select an existing list from the SharePoint site. There was no option to place the URL string to the app hosted List. 

 

 

 

Scenarios

 

Scenario 

Choice 

Reason 

Create some custom lists / web parts for end users 

Sandboxed Solution 

Simple to develop, deploy and remove. Much more difficult to use the same artefacts from SharePoint Online in a SharePoint Online App

Display a table that combines SharePoint list data with data taken from a standard SAP data source

Sandboxed Solution 

Use BCS to consume SAP as a data source 

SharePoint Online running under a highly restricted security governance model

SharePoint Online App 

Sometime developing a custom webpart is not sufficient to get around your organizations security practices. Hosting in an app is the easiest way to quickly develop functionality.

Flexible custom application 

SharePoint Online App 

The SharePoint Online sandbox is very restrictive from a security perspective. If you do not need the application to be hosted in a SharePoint site then I’d probably recommend using apps.

 

Conclusion

The app model is a great way to enable you to build flexible and powerful apps that leverage SharePoint on the SharePoint Online platform.

If you need to extend SharePoint itself, such as deploy custom Lists and Web Parts, then the Sandboxed model is still the way to go.

I hope that Microsoft can evolve the app model further and allow tighter integration of apps into the SharePoint application itself.

 

 

 

 

About these ads

2 Responses to Should I Develop Office 365 / SharePoint Online Applications with the Apps Model or SharePoint 2013 Sandboxed Solutions?

  1. Shirley Priyanka says:

    Interesting article! And I can’t agree more…For the scenarios mentioned above, I think creating Sandboxed solutions are much easier to implement. However, I was under the impression that Microsoft has deprecated Sandboxed solutions in SharePoint 2013 (http://social.technet.microsoft.com/wiki/contents/articles/13154.sharepoint-2013-sandboxed-solutions-are-deprecated.aspx). Any thoughts on this?

    • andrewwhitten says:

      Microsoft do love deprecating tried and tested technologies :) I do agree that the App Model is likely the future, and the V1 release we see in SharePoint 2013 gives us a good taste of what could be possible. I believe that a V2 in the next SharePoint will probably bring Apps much closer to Sandboxed solutions, and that the magic V3 release after that will offer the fully featured experience for Apps.

      I’d be really surprised if Sandboxed solutions were dropped in the next release. I think it would be a very bad move to lose this before the Apps Model is ready to take over and I fully expect to work with Sandboxed Solutions for at least a few more years yet.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

Follow

Get every new post delivered to your Inbox.

%d bloggers like this: