Building No-Code Sandbox WebParts for the past, present and the future [Proposed Session Outline]


[Previous Working Title: Build amazing web parts using only JavaScript and evolving your code with any version of SharePoint]

I've modified the session title based on recent events.  Namely, this big one: 


In this session I really want to talk about investing in a safe, new technology (JavaScript) that isn't going away anytime soon, and have it being useful for you, today, regardless of whether you have/are/won't migrate to SharePoint 2013 anytime soon.  I want this to be a talk about the timelessness of the technology, but also the ever-changing landscape.  I hope I can get us there.  I think it is awesome.


Session Description

SharePoint is an evolving platform: in 2007, we were all building farm web parts. Then in 2010, we were introduced with sandbox web parts, with the beginnings of the client side object model. In 2013, we are looking at the evolved app model, with a super-charged REST service.

As developers, while it is great to learn about what's coming down the pike, it feels extremely frustrating not knowing what to learn, or attend a session and learn a technology that you can’t put to use because you don’t use the latest and the most cutting edge in your organization.

Let’s take a step back, let’s look at how to build a web part using only JavaScript. Let’s separate the UX from the logic. Then let’s plug in different types of CRUD code to work with different versions of SharePoint, across different data sources: lists, search or user profile.

This session is about learning how to use JavaScript to build amazing web parts, regardless of what version of SharePoint you have.


Session Outline


  • What is in a little WebPart
  • Where do you run your code
    • Running the code on the Server (.NET)
    • Running the code on the browser (JavaScript)
  • Choices:
    • SPServices
    • CSOM
    • REST (listdata.svc)
    • REST (_app)
  • Platforms
    • SP2007
    • SP2010
    • SP2013
    • Office 365
  • Framework Considerations:
    • Plain JQuery
    • KnockoutJS
    • AngularJS
  • Adding Value:
    • TypeScript (Syntax, Intelli-Sense)
    • Jasmine (Unit Testing)
  • Where are we, where are we going
    • Where should we be?
  • Demo
    • Can't possibly cover everything and still have a working demo, can I?  Though I do love having demos to show people at the end of a session.


This is a session in ongoing development.  But I wanted to throw out the outlines and get some feedback on what do you want to see?  And what do you NOT want to see.

Let me know below!