EMBER & 
SHAREPOINT
AGENDA 
• Why bother? 
• A Brief History 
• Handlebars 
• Ember 
• Demo: Setting up 
• Demo: Templating & UI Build 
• Demo: Everything else 
• SharePoint? 
• Conclusions
WHO AM I? 
• Greg Hurlman 
• Developer / Programmer / Designer (kinda) / Etc. 
• @justcallme98
“Who are you?” 
– Caterpillar
WHY BOTHER?
A BRIEF HISTORY 
• 1995: JavaScript is born at Netscape 
• 1997: JavaScript standardized as ECMAScript 
• 2006: jQuery 1.0 is released 
• May 2013: Handlebars 1.0 
• September 2013: EmberJS 1.0
EMBER 
• Originally SproutCore 2.0, was renamed 
• Created by Yehuda Katz, member of the jQuery, Ruby on Rails, and SproutCore core teams 
• Integrates {{Handlebars}} templates 
• Model — View — ViewModel 
• Models are extensions or subclasses of the Ember.Object class 
• Uniform Access Principle 
• Context passing between controllers 
• Focus on complexity, made easier with convention over configuration
DEMO 
Setting up
DEMO 
Templating & UI Build
DEMO 
Everything else
SHAREPOINT? 
• Reduced to a data & authentication source 
• JSOM calls made in your controller or view model 
to get the data for your models 
• Remember: SharePoint Apps are 10% SharePoint, 
90% App.
CONCLUSIONS?
“It depends.” 
– Every SharePoint Person Ever
THANK YOU FOR COMING

SPSNJ 2014: EmberJS & SharePoint

  • 1.
  • 2.
    AGENDA • Whybother? • A Brief History • Handlebars • Ember • Demo: Setting up • Demo: Templating & UI Build • Demo: Everything else • SharePoint? • Conclusions
  • 3.
    WHO AM I? • Greg Hurlman • Developer / Programmer / Designer (kinda) / Etc. • @justcallme98
  • 4.
    “Who are you?” – Caterpillar
  • 5.
  • 6.
    A BRIEF HISTORY • 1995: JavaScript is born at Netscape • 1997: JavaScript standardized as ECMAScript • 2006: jQuery 1.0 is released • May 2013: Handlebars 1.0 • September 2013: EmberJS 1.0
  • 7.
    EMBER • OriginallySproutCore 2.0, was renamed • Created by Yehuda Katz, member of the jQuery, Ruby on Rails, and SproutCore core teams • Integrates {{Handlebars}} templates • Model — View — ViewModel • Models are extensions or subclasses of the Ember.Object class • Uniform Access Principle • Context passing between controllers • Focus on complexity, made easier with convention over configuration
  • 8.
  • 9.
  • 10.
  • 11.
    SHAREPOINT? • Reducedto a data & authentication source • JSOM calls made in your controller or view model to get the data for your models • Remember: SharePoint Apps are 10% SharePoint, 90% App.
  • 12.
  • 13.
    “It depends.” –Every SharePoint Person Ever
  • 14.