1

We are looking at using combination of MVC4 and JavaScript libraries like Knockout and/or Breezejs for providing SPA or better navigation and performance within SharePoint 2010 environment. I am studying Breeze and Knockout.

Is there any such good performing library/framework combination that might prove to be good in long term?

Primary objectives are:

  1. Good UI performance
  2. Good navigation and usability
  3. Maintainability for future SP updates
  4. Fast learning and development
  • Though stated within the post that this is for SP2010, just added the tag for clarity. – Kangkan Apr 3 '14 at 5:22
3

Lots of good answers to this. Angular JS and Durandal JS are the most popular SPA frameworks. If you like Knockout take a look at Durandal JS, a simple SPA framework built using KnockoutJS for all the MVVM features. The SharePoint JS client object model will give you most of what you need with regards to SharePoint, but you can use Jquery to make most AJAX calls to a MVC hosted application.

Its important to keep in mind that the SharePoint JS client object model doesn't allow cross site collection queries. If that's a need take a look at utilizing SPServices or building your own MVC endpoints. If using the SharePoint JS csom fulfills you business needs its best to stick with that though.

John Papa has an extensive course on utilizing Durandal JS, with knockout and BreezeJS with the .net Web API as a backend. He's created a Visual Studio project template.

Durandal JS website

John Papa Hot Towel Template

SPServices on Codeplex

Building a SPA using SPServices

  • 2
    Also take a look at Marc Anderson's blog about utilizing SPServices in a SPA. Marc actually built SPServices. – onzur Jan 21 '14 at 13:53
  • 1
    Another link where someone uses SPServices and Durandal to create a SP SPA. It even has links to a live demo to try yourself... rainerat.spirit.de/2013/04/08/… – tyshock Jan 21 '14 at 23:23
2

There are lots of SPA frameworks available and I found AngularJS as the quickest and easy to learn Also, there is a good documentation and support on this technology. I performed the same actions using

  1. AngularJS
  2. Bootstrap
  3. REST API for SharePoint
2

Andrew Connell is pretty keen on SharePoint 2013 SPAs.

He has several blog posts about his experience with Breeze + Angular such as this one "Getting BreezeJS to Work with the SharePoint 2013 REST API". His PluralSight course on the subject will be published very soon along with a sample. There's a "Breeze.Angular.SharePoint" nuget package that loads your project with the goods to get going.

I'd say this SPA approach is looking pretty bright.

  • Thanks Ward! I'd certainly give two thumbs up to using Breeze & AngularJS for building SPA's for SharePoint. – Andrew Connell Apr 3 '14 at 0:41
  • Thanks @Ward. However I am yet to move to SP2013 and my work is within SP2010 at this moment. And I wish to keep the SPA outside SP environment or even if it is within one, it need to interact with multiple SP environments. So I had to add additional components into the design to do away with a lot of hurdles. – Kangkan Apr 3 '14 at 5:24
  • I'm out of my depth now. Happy to respond (on StackOverflow) to specifics when you get there. – Ward Apr 3 '14 at 22:02

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.