SlideShare a Scribd company logo
1 of 42
Download to read offline
3rd Party JavaScript LibrariesYou Need to Know 
Scot Hillier 
MVP 
Scot Hillier Technical Solutions, LLC
scot@scothillier.net 
@ScotHillier
 
 
 
 
 
 
 
 
 
 

 
 
 
 
 
 
 
 

 
 
 
http://datajs.codeplex.com 
 
 
 

"../_api/web/lists/getByTitle('Contacts')/itemCount" "GET" 
"accept""application/json;odata=verbose" 
function
var"contacts" "../_api/web/lists/getByTitle('Contacts')/items" 
"?$select=Id,FullName,FirstName,Title,WorkPhone,Email" 
"&$orderby=Title,FirstName"
 
 
 
http://breezejs.com/ 
 
 
 
 
 
 

//initialize adapter"OData" ("/odata/" 
//create query"Contacts" "LastName""startsWith""C" 
//execute query//success//error
 
 

//create metadata store 
varnew 
//Define entities'Customer' 'Customers'false
 
 
 
 
 
 

 
 
 
http://knockoutjs.com/ 
 
 
 

"resultsTable"data-bind"foreach: get_contacts()" data-bind"text: get_lname()" data-bind"text: get_fname()" data-bind"text: get_phone()"
function 
varko.observableArray() functionfunctionfunction 
//update observable arrayfunction
 
 
 
http://angularjs.org/ 
https://ajax.googleapis.com/ajax/libs/angularjs/1.0.1/angular.min.js 
 
 
 
 
 
 

Module 
Routes 
View 
Controller 
Directives 
Factory 
$scope
 
 
 
 
data-ng-app 
data-ng-controller 
data-ng-click
<!DOCTYPEhtml> 
<html data-ng-app> 
<head></head> 
<body> 
<input type="text"data-ng-model="displayName"/> 
<divdata-ng-click="update"ng-controller="myCtrl"> 
</div> 
</body> 
</html> 
Initializes the app. Can be anonymous or named. 
Creates a property on the ViewModel 
References a controller named “myCtrl”, which creates a new ViewModel. 
References a controller method to call on a click event
<divng-app="App"> 
<div> 
<input type="text" data-ng-model="firstName"/> 
<div>{{firstName}}</div> 
</div> 
</div> 
•Binds ViewModelsto HTML elements 
•Uses {{…}} syntax 
•References a property of a ViewModel 
•Supports two-way binding 
This example will display whatever the user types
 
//module 
varmyapp= angular.module("MyApp", []); 
<!--html --> 
<divdata-ng-app= "MyApp"> 
Reference dependent modules
//controller 
myapp.controller("welcomeCtrl", ["$scope", 
functionwelcomeCtrl($scope) { 
//model 
$scope.welcomeMessage= "Hi"; 
} 
); 
<!--html --> 
<divdata-ng-controller="welcomeCtrl"> 
•Build up the $scope (a.k.a, View Model)
<divng-app="App"> 
<divng-controller="welcomeCtrl"> 
<h3>{{welcomeMessage}}</h3> 
</div> 
</div> 
•Bind the $scopeto the HTML elements
 
 
 
http://www.lesscss.org/ 
 
 
 
 
 
 

 
 
 
http://getbootstrap.com/ 
 
 
 
 
 
 

 
 
 
 
 
 
 
 
 
 
 

<!--CSS media query on a link element --> 
<linkrel="stylesheet"media="(max-width: 800px)"href="example.css"/> 
<!--CSS media query within a style sheet --> 
<style> 
@media (max-width: 600px) { 
.facet_sidebar{ 
display: none; 
} 
} 
</style> 
//media query with JavaScript 
varmq= window.matchMedia("(max-width:600px)"); 
mq.addListener(function () { 
//do something; 
});
<!--Stack the columns on mobile by making one full-width and the other half-width --> 
<divclass="row"> 
<divclass="col-xs-12 col-md-8">.col-xs-12 .col-md-8</div> 
<divclass="col-xs-6 col-md-4">.col-xs-6 .col-md-4</div> 
</div> 
<!--Columns start at 50% wide on mobile and bump up to 33.3% wide on desktop --> 
<divclass="row"> 
<divclass="col-xs-6 col-md-4">.col-xs-6 .col-md-4</div> 
<divclass="col-xs-6 col-md-4">.col-xs-6 .col-md-4</div> 
<divclass="col-xs-6 col-md-4">.col-xs-6 .col-md-4</div> 
</div> 
<!--Columns are always 50% wide, on mobile and desktop --> 
<divclass="row"> 
<divclass="col-xs-6">.col-xs-6</div> 
<divclass="col-xs-6">.col-xs-6</div> 
</div>
 
 
 
 
 
 
 
 

Spca2014 hillier 3rd party_javascript_libraries

More Related Content

What's hot

HTML5 - The 2012 of the Web
HTML5 - The 2012 of the WebHTML5 - The 2012 of the Web
HTML5 - The 2012 of the Web
Robert Nyman
 
HTML5 - The 2012 of the Web - Adobe MAX
HTML5 - The 2012 of the Web - Adobe MAXHTML5 - The 2012 of the Web - Adobe MAX
HTML5 - The 2012 of the Web - Adobe MAX
Robert Nyman
 
Intro to BackboneJS + Intermediate Javascript
Intro to BackboneJS + Intermediate JavascriptIntro to BackboneJS + Intermediate Javascript
Intro to BackboneJS + Intermediate Javascript
Andrew Lovett-Barron
 
Jqeury ajax plugins
Jqeury ajax pluginsJqeury ajax plugins
Jqeury ajax plugins
Inbal Geffen
 
jQuery 1.7 Events
jQuery 1.7 EventsjQuery 1.7 Events
jQuery 1.7 Events
dmethvin
 
Auto tools
Auto toolsAuto tools
Auto tools
祺 周
 

What's hot (20)

Understanding backbonejs
Understanding backbonejsUnderstanding backbonejs
Understanding backbonejs
 
Training in Asp.net mvc3 platform-apextgi,noidaAspnetmvc3 j query
Training in Asp.net mvc3 platform-apextgi,noidaAspnetmvc3 j queryTraining in Asp.net mvc3 platform-apextgi,noidaAspnetmvc3 j query
Training in Asp.net mvc3 platform-apextgi,noidaAspnetmvc3 j query
 
HTML5 - The 2012 of the Web
HTML5 - The 2012 of the WebHTML5 - The 2012 of the Web
HTML5 - The 2012 of the Web
 
Backbone js in action
Backbone js in actionBackbone js in action
Backbone js in action
 
Spout - Building a RESTful web app with Angular.js and BEAR.Sunday
Spout - Building a RESTful web app with Angular.js and BEAR.SundaySpout - Building a RESTful web app with Angular.js and BEAR.Sunday
Spout - Building a RESTful web app with Angular.js and BEAR.Sunday
 
You Can Kick-Ass Too, AtlasCamp US 2012
You Can Kick-Ass Too, AtlasCamp US 2012You Can Kick-Ass Too, AtlasCamp US 2012
You Can Kick-Ass Too, AtlasCamp US 2012
 
HTML5 - The 2012 of the Web - Adobe MAX
HTML5 - The 2012 of the Web - Adobe MAXHTML5 - The 2012 of the Web - Adobe MAX
HTML5 - The 2012 of the Web - Adobe MAX
 
Patterns Are Good For Managers
Patterns Are Good For ManagersPatterns Are Good For Managers
Patterns Are Good For Managers
 
Intro to BackboneJS + Intermediate Javascript
Intro to BackboneJS + Intermediate JavascriptIntro to BackboneJS + Intermediate Javascript
Intro to BackboneJS + Intermediate Javascript
 
BackboneJs
BackboneJsBackboneJs
BackboneJs
 
Utilization of zend an ultimate alternate for intense data processing
Utilization of zend  an ultimate alternate for intense data processingUtilization of zend  an ultimate alternate for intense data processing
Utilization of zend an ultimate alternate for intense data processing
 
Jqeury ajax plugins
Jqeury ajax pluginsJqeury ajax plugins
Jqeury ajax plugins
 
Angular JS blog tutorial
Angular JS blog tutorialAngular JS blog tutorial
Angular JS blog tutorial
 
Jquery.Tmpl
Jquery.TmplJquery.Tmpl
Jquery.Tmpl
 
jQuery 1.7 Events
jQuery 1.7 EventsjQuery 1.7 Events
jQuery 1.7 Events
 
Training in Asp.net mvc3 platform-apextgi,noida
Training in Asp.net mvc3 platform-apextgi,noidaTraining in Asp.net mvc3 platform-apextgi,noida
Training in Asp.net mvc3 platform-apextgi,noida
 
Auto tools
Auto toolsAuto tools
Auto tools
 
Backbonejs for beginners
Backbonejs for beginnersBackbonejs for beginners
Backbonejs for beginners
 
Controller in AngularJS
Controller in AngularJSController in AngularJS
Controller in AngularJS
 
Jquery Cheatsheet
Jquery CheatsheetJquery Cheatsheet
Jquery Cheatsheet
 

Viewers also liked (7)

Spca2014 js link and display templates hatch
Spca2014 js link and display templates hatchSpca2014 js link and display templates hatch
Spca2014 js link and display templates hatch
 
SPCA2013 - Real-life building public-facing websites with SharePoint 2013
SPCA2013 - Real-life building public-facing websites with SharePoint 2013SPCA2013 - Real-life building public-facing websites with SharePoint 2013
SPCA2013 - Real-life building public-facing websites with SharePoint 2013
 
Spca2014 hillier workshop 01
Spca2014 hillier workshop 01Spca2014 hillier workshop 01
Spca2014 hillier workshop 01
 
SPCA2013 - Dude, Where’s my Search Scopes
SPCA2013 - Dude, Where’s my Search ScopesSPCA2013 - Dude, Where’s my Search Scopes
SPCA2013 - Dude, Where’s my Search Scopes
 
SPCA2013 - SharePoint 2013 in a Hybrid World
SPCA2013 - SharePoint 2013 in a Hybrid WorldSPCA2013 - SharePoint 2013 in a Hybrid World
SPCA2013 - SharePoint 2013 in a Hybrid World
 
Spca2014 cool dashboards for power users niaulin
Spca2014 cool dashboards for power users niaulinSpca2014 cool dashboards for power users niaulin
Spca2014 cool dashboards for power users niaulin
 
SPCA2013 - Taking Office Beyond the Client with Office Web Apps 2013
SPCA2013 - Taking Office Beyond the Client with Office Web Apps 2013SPCA2013 - Taking Office Beyond the Client with Office Web Apps 2013
SPCA2013 - Taking Office Beyond the Client with Office Web Apps 2013
 

Similar to Spca2014 hillier 3rd party_javascript_libraries

Web applications with Catalyst
Web applications with CatalystWeb applications with Catalyst
Web applications with Catalyst
svilen.ivanov
 
Practical AngularJS
Practical AngularJSPractical AngularJS
Practical AngularJS
Wei Ru
 
Rails 3: Dashing to the Finish
Rails 3: Dashing to the FinishRails 3: Dashing to the Finish
Rails 3: Dashing to the Finish
Yehuda Katz
 
09 - express nodes on the right angle - vitaliy basyuk - it event 2013 (5)
09 - express nodes on the right angle - vitaliy basyuk - it event 2013 (5)09 - express nodes on the right angle - vitaliy basyuk - it event 2013 (5)
09 - express nodes on the right angle - vitaliy basyuk - it event 2013 (5)
Igor Bronovskyy
 
Rails 3 overview
Rails 3 overviewRails 3 overview
Rails 3 overview
Yehuda Katz
 
TechDays 2013 Jari Kallonen: What's New WebForms 4.5
TechDays 2013 Jari Kallonen: What's New WebForms 4.5TechDays 2013 Jari Kallonen: What's New WebForms 4.5
TechDays 2013 Jari Kallonen: What's New WebForms 4.5
Tieturi Oy
 

Similar to Spca2014 hillier 3rd party_javascript_libraries (20)

[Coscup 2012] JavascriptMVC
[Coscup 2012] JavascriptMVC[Coscup 2012] JavascriptMVC
[Coscup 2012] JavascriptMVC
 
Knockout.js
Knockout.jsKnockout.js
Knockout.js
 
Web applications with Catalyst
Web applications with CatalystWeb applications with Catalyst
Web applications with Catalyst
 
Flask – Python
Flask – PythonFlask – Python
Flask – Python
 
Practical AngularJS
Practical AngularJSPractical AngularJS
Practical AngularJS
 
Intro to JavaScript
Intro to JavaScriptIntro to JavaScript
Intro to JavaScript
 
HTML5 New and Improved
HTML5   New and ImprovedHTML5   New and Improved
HTML5 New and Improved
 
Angular.js Fundamentals
Angular.js FundamentalsAngular.js Fundamentals
Angular.js Fundamentals
 
Implementation of GUI Framework part3
Implementation of GUI Framework part3Implementation of GUI Framework part3
Implementation of GUI Framework part3
 
Rails 3: Dashing to the Finish
Rails 3: Dashing to the FinishRails 3: Dashing to the Finish
Rails 3: Dashing to the Finish
 
Introduction to Html5
Introduction to Html5Introduction to Html5
Introduction to Html5
 
09 - express nodes on the right angle - vitaliy basyuk - it event 2013 (5)
09 - express nodes on the right angle - vitaliy basyuk - it event 2013 (5)09 - express nodes on the right angle - vitaliy basyuk - it event 2013 (5)
09 - express nodes on the right angle - vitaliy basyuk - it event 2013 (5)
 
AngularJS vs. Ember.js vs. Backbone.js
AngularJS vs. Ember.js vs. Backbone.jsAngularJS vs. Ember.js vs. Backbone.js
AngularJS vs. Ember.js vs. Backbone.js
 
Rails 3 overview
Rails 3 overviewRails 3 overview
Rails 3 overview
 
TechDays 2013 Jari Kallonen: What's New WebForms 4.5
TechDays 2013 Jari Kallonen: What's New WebForms 4.5TechDays 2013 Jari Kallonen: What's New WebForms 4.5
TechDays 2013 Jari Kallonen: What's New WebForms 4.5
 
前端概述
前端概述前端概述
前端概述
 
Uniface Lectures Webinar - Building Responsive Applications with Uniface: Dev...
Uniface Lectures Webinar - Building Responsive Applications with Uniface: Dev...Uniface Lectures Webinar - Building Responsive Applications with Uniface: Dev...
Uniface Lectures Webinar - Building Responsive Applications with Uniface: Dev...
 
The Rails Way
The Rails WayThe Rails Way
The Rails Way
 
REST with Eve and Python
REST with Eve and PythonREST with Eve and Python
REST with Eve and Python
 
AngularJS Mobile Warsaw 20-10-2014
AngularJS Mobile Warsaw 20-10-2014AngularJS Mobile Warsaw 20-10-2014
AngularJS Mobile Warsaw 20-10-2014
 

More from NCCOMMS

More from NCCOMMS (20)

O365Con19 - UI:UX 101 Learn How to Design Custom Experiences for SharePoint -...
O365Con19 - UI:UX 101 Learn How to Design Custom Experiences for SharePoint -...O365Con19 - UI:UX 101 Learn How to Design Custom Experiences for SharePoint -...
O365Con19 - UI:UX 101 Learn How to Design Custom Experiences for SharePoint -...
 
O365Con19 - Model-driven Apps or Canvas Apps? - Rick Bakker
O365Con19 - Model-driven Apps or Canvas Apps? - Rick BakkerO365Con19 - Model-driven Apps or Canvas Apps? - Rick Bakker
O365Con19 - Model-driven Apps or Canvas Apps? - Rick Bakker
 
O365Con19 - Office 365 Groups Surviving the Real World - Jasper Oosterveld
O365Con19 - Office 365 Groups Surviving the Real World - Jasper OosterveldO365Con19 - Office 365 Groups Surviving the Real World - Jasper Oosterveld
O365Con19 - Office 365 Groups Surviving the Real World - Jasper Oosterveld
 
O365Con19 - Developing Timerjob and Eventhandler Equivalents - Adis Jugo
O365Con19 - Developing Timerjob and Eventhandler Equivalents - Adis JugoO365Con19 - Developing Timerjob and Eventhandler Equivalents - Adis Jugo
O365Con19 - Developing Timerjob and Eventhandler Equivalents - Adis Jugo
 
O365Con19 - Sharepoint with (Artificial) Intelligence - Adis Jugo
O365Con19 - Sharepoint with (Artificial) Intelligence - Adis JugoO365Con19 - Sharepoint with (Artificial) Intelligence - Adis Jugo
O365Con19 - Sharepoint with (Artificial) Intelligence - Adis Jugo
 
O365Con19 - What Do You Mean 90 days Isn't Enough - Paul Hunt
O365Con19 - What Do You Mean 90 days Isn't Enough - Paul HuntO365Con19 - What Do You Mean 90 days Isn't Enough - Paul Hunt
O365Con19 - What Do You Mean 90 days Isn't Enough - Paul Hunt
 
O365Con19 - Tips and Tricks for Complex Migrations to SharePoint Online - And...
O365Con19 - Tips and Tricks for Complex Migrations to SharePoint Online - And...O365Con19 - Tips and Tricks for Complex Migrations to SharePoint Online - And...
O365Con19 - Tips and Tricks for Complex Migrations to SharePoint Online - And...
 
O365Con19 - Start Developing Teams Tabs and SharePoint Webparts with SPFX - O...
O365Con19 - Start Developing Teams Tabs and SharePoint Webparts with SPFX - O...O365Con19 - Start Developing Teams Tabs and SharePoint Webparts with SPFX - O...
O365Con19 - Start Developing Teams Tabs and SharePoint Webparts with SPFX - O...
 
O365Con19 - Start Your Journey from Skype for Business to Teams - Sasja Beere...
O365Con19 - Start Your Journey from Skype for Business to Teams - Sasja Beere...O365Con19 - Start Your Journey from Skype for Business to Teams - Sasja Beere...
O365Con19 - Start Your Journey from Skype for Business to Teams - Sasja Beere...
 
O365Con19 - Lets Get Started with Azure Container Instances - Jussi Roine
O365Con19 - Lets Get Started with Azure Container Instances - Jussi RoineO365Con19 - Lets Get Started with Azure Container Instances - Jussi Roine
O365Con19 - Lets Get Started with Azure Container Instances - Jussi Roine
 
O365Con19 - Azure Blackbelt - Jussi Roine
O365Con19 - Azure Blackbelt - Jussi RoineO365Con19 - Azure Blackbelt - Jussi Roine
O365Con19 - Azure Blackbelt - Jussi Roine
 
O365Con19 - Customise the UI in Modern SharePoint Workspaces - Corinna Lins
O365Con19 - Customise the UI in Modern SharePoint Workspaces - Corinna LinsO365Con19 - Customise the UI in Modern SharePoint Workspaces - Corinna Lins
O365Con19 - Customise the UI in Modern SharePoint Workspaces - Corinna Lins
 
O365Con19 - Be The Protagonist of Your Modern Workplace - Corinna Lins
O365Con19 - Be The Protagonist of Your Modern Workplace - Corinna LinsO365Con19 - Be The Protagonist of Your Modern Workplace - Corinna Lins
O365Con19 - Be The Protagonist of Your Modern Workplace - Corinna Lins
 
O365Con19 - How to Really Manage all your Tasks Across Microsoft 365 - Luise ...
O365Con19 - How to Really Manage all your Tasks Across Microsoft 365 - Luise ...O365Con19 - How to Really Manage all your Tasks Across Microsoft 365 - Luise ...
O365Con19 - How to Really Manage all your Tasks Across Microsoft 365 - Luise ...
 
O365Con19 - Sharing Code Efficiently in your Organisation - Elio Struyf
O365Con19 - Sharing Code Efficiently in your Organisation - Elio StruyfO365Con19 - Sharing Code Efficiently in your Organisation - Elio Struyf
O365Con19 - Sharing Code Efficiently in your Organisation - Elio Struyf
 
O365Con19 - Things I've Learned While Building a Product on SharePoint Modern...
O365Con19 - Things I've Learned While Building a Product on SharePoint Modern...O365Con19 - Things I've Learned While Building a Product on SharePoint Modern...
O365Con19 - Things I've Learned While Building a Product on SharePoint Modern...
 
O365Con19 - Keep Control of Your Data with AIP and CA - Bram de Jager
O365Con19 - Keep Control of Your Data with AIP and CA - Bram de JagerO365Con19 - Keep Control of Your Data with AIP and CA - Bram de Jager
O365Con19 - Keep Control of Your Data with AIP and CA - Bram de Jager
 
O365Con19 - Kaizala a Dive Into the Unknown - Rick van Rousselt
O365Con19 - Kaizala a Dive Into the Unknown - Rick van RousseltO365Con19 - Kaizala a Dive Into the Unknown - Rick van Rousselt
O365Con19 - Kaizala a Dive Into the Unknown - Rick van Rousselt
 
O365Con19 - How to Inspire Users to Unstick from Email - Luise Freese
O365Con19 - How to Inspire Users to Unstick from Email - Luise FreeseO365Con19 - How to Inspire Users to Unstick from Email - Luise Freese
O365Con19 - How to Inspire Users to Unstick from Email - Luise Freese
 
O365Con19 - O365 Identity Management and The Golden Config - Chris Goosen
O365Con19 - O365 Identity Management and The Golden Config - Chris GoosenO365Con19 - O365 Identity Management and The Golden Config - Chris Goosen
O365Con19 - O365 Identity Management and The Golden Config - Chris Goosen
 

Spca2014 hillier 3rd party_javascript_libraries