SlideShare a Scribd company logo
Quick Start Guide to JavaScript
Frameworks for SharePoint Apps
#SPSBE20
Sonja Madsen
April 18th, 2015
Quickstartguidetojavascriptframeworksforsharepointapps spsbe-2015-150419032642-conversion-gate01
JavaScript Frameworks and Libraries
SharePoint Apps
SharePoint 2003-2010
SharePoint 2010-2013
JavaScript Frameworks
 Standardized code structure and rules
 HTML, CSS and JS
 Front-end frameworks
 CSS to position elements
 Typography styles
 Browser compatibility
 Standard CSS classes
 Library
 Set of tools
 Imposes no structure
SharePoint hosted / Provider app
 jQuery
 NuGet packages
• jQuery
• Bootstrap
• jQuery validation
• jQuery validation
unobtrusive
• Modernizr
• Respond
jQuery
 JavaScript library
 Most popular
 Open-source
 Released in 2006
 Easier to select DOM elements
 Used in Bootstrap and other libraries
jQuery
 Start with $(document).ready(function(){
 AJAX calls $.ajax({
 Element selector $(".item")
 Chaining
$(".item").addClass("blue").slideDown("slow");
 Jquery.ui, jquery.validation
Quickstartguidetojavascriptframeworksforsharepointapps spsbe-2015-150419032642-conversion-gate01
Bootstrap
 The most popular HTML, CSS, and JS framework for
developing responsive, mobile first projects on the
web
 Open-source
 Twitter Bootstrap in 2011
 Bootstrap 3.0 - mobile first
Bootstrap made sites
 http://expo.getbootstrap.com/
Bootstrap
 CSS
 Grid, typography, code, tables, forms, buttons, images
 Components
 Glyphicons, dropdowns, input, navs, nav bars, breadcrumbs, pagination, labels,
badges, jumbotron, page header, thumbnails, alerts, progress bars, media
object, list group, panels, responsive embed, wells
 JavaScript
 Transitions, modal, dropdown, scrollspy, tab, tooltip, popover, alert, button,
collapse, carousel, affix
 Customize
SP Table / Bootstrap Div
 <table><tr><td>
 <div class=“container”>
<div class=“row”><div class=“col-md-6 col-xs-12”>
Phones (xs – auto width), Tablets (sm – 750px),
desktops(md – 970px), large (lg – 1170px)
Bootstrap / SharePoint list item form
Bootstrap - label and text field
<div class="form-group">
<label for="inputSite3" class="col-sm-2 control-label"><span class="glyphicon glyphicon-exclamation-sign" aria-hidden="true"></span>
Site Title
</label>
<input type="text" class="form-control" id="inputEmail3" placeholder="Site Title" required />
</div>
SharePoint – label and text field
<tr>
<td nowrap="true" valign="top" width="113px" class="ms-formlabel"><h3 class="ms-standardheader">
<label for="inputSite3" class="ms-standardheader">
Site Title
</label>
</h3></td>
<td valign="top" width="350px" class="ms-formbody">
<!-- FieldName="Title"
FieldInternalName="Title"
FieldType="SPFieldText"
-->
<input type="text" class="ms-long ms-spellcheck-true"" id="inputEmail3" placeholder="Site Title" required />
</td>
</tr>
CSS Classes
Bootstrap
<div class=“col-md-6 col-md-offset-2 hidden-xs col-lg-12”>
Office 365
<div autoid="__Microsoft_O365_ShellG2_Core_templates_cs_k" class="o365cs-nav-header16 o365cs-base o365cst
o365spo o365cs-nav-header o365cs-topnavBGColor-2 o365cs-topnavBGImage" id="O365_NavHeader">
Custom LESS stylesheet with Bootstrap
<div class=“col-md-6 col-md-offset-2 hidden-xs –col-lg-12”>
HTML
<div class=“demoblock”>
LESS
.demoblock
{
. col-md-6;
.col-md-offset-2;
.hidden-xs;
.col-lg-12;
}
Quickstartguidetojavascriptframeworksforsharepointapps spsbe-2015-150419032642-conversion-gate01
DEMO Bootstrap
SharePoint hosted app
Bootstrap Themes
 Bootswatch – free themes at bootswatch.com
 Wrapbootstrap – payed themes at
wrapbootstrap.com
Validation with jQuery
 Jquery.validation
 Jquery.validation.unobtrusive
Validation / Unobtrusive
HTML
<input type=“text” id=“SiteTitle”
JavaScript
rules: {
"SiteTitle": { required: true,
minlength: 5 }
},
messages: {
"SiteTitle": {
required: "Please enter the site
title.",
minlength: "Minimum length is 5
letters."
}
}
HTML
<input type="text“ id=“SiteTitle”
data-rule-required="true"
data-msg-required="The Site Title
field is required.“
data-rule-minlength="5"
data-msg-minlength="The
minimum length is 5 letters.“
JavaScript
$form.validate();
DEMO Validation
Modernizr
 Detects HTML5 and CSS3 features that your browser
supports on page load
 Result of “feature detection” is “yes” or “no”
 Adds classes to HTML
https://github.com/Modernizr/Modernizr/wiki/HTML5-
Cross-browser-Polyfills
 Support IE6+, Firefox 3.5+, Opera 9.6+, Safari 2+,
Chrome
Modernizr
 Yepnopejs is deprecated
Modernizr.load({
test: Modernizr.borderradius,
yep : alert("This browser supports border radius."),
nope: 'PIE_IE678.js'
});
Respondjs
 It loops through the CSS referenced on the page
 IE8: re-requests the CSS files using Ajax
 Polyfill for CSS min-width and max-width in browsers
that don't support CSS3 Media Queries
Polyfills, shims
 Shim: a generic code, a library that brings a new API
to an older environment
 Polyfill: downloadable code with fallback for
functionality that is not available in your browser
https://github.com/Modernizr/Modernizr/wiki/HTML5-
Cross-browser-Polyfills
Quickstartguidetojavascriptframeworksforsharepointapps spsbe-2015-150419032642-conversion-gate01
Links
 jQuery http://api.jquery.com/
 Bootstrap tutorial
http://www.tutorialspoint.com/bootstrap/bootstrap_t
utorial.pdf
 Modernizr http://modernizr.com/docs/
 Respond https://github.com/scottjehl/Respond
 Building Responsive UI with Bootstrap on MVA
http://www.microsoftvirtualacademy.com/training-
courses/building-responsive-ui-with-bootstrap
PlatinumGoldSilver
Thanks to our sponsors!
Thank you!
Quickstartguidetojavascriptframeworksforsharepointapps spsbe-2015-150419032642-conversion-gate01

More Related Content

PDF
How to build your own Delve: combining machine learning, big data and SharePoint
PPTX
Search-Driven Applications with SharePoint 2013 (#SBSBE16)
PPTX
SPSBE building an faq for end users
PPTX
Spsbe 18-04-15 - should i move my network folders to office 365
PPSX
Sharepointarchitecturereal worldscenariofundamentals-150419043032-conversion-...
PPTX
Getting The Most Out Of SP Search SPSTC
PDF
SPUnite17 IT Pros Guide to Managing SharePoint Search
PDF
SPUnite17 The New Enterprise Content Management
How to build your own Delve: combining machine learning, big data and SharePoint
Search-Driven Applications with SharePoint 2013 (#SBSBE16)
SPSBE building an faq for end users
Spsbe 18-04-15 - should i move my network folders to office 365
Sharepointarchitecturereal worldscenariofundamentals-150419043032-conversion-...
Getting The Most Out Of SP Search SPSTC
SPUnite17 IT Pros Guide to Managing SharePoint Search
SPUnite17 The New Enterprise Content Management

What's hot (20)

PPTX
B365 saturday practical guide to building a scalable search architecture in s...
PPTX
Search Server 2010
PPTX
Cloud Hybrid Search with SharePoint
PPTX
Content by query web part
PPTX
SEF2013 - A jQuery Primer for SharePoint
PDF
Search Solution in SharePoint 2013
PPTX
ECS 19 - John White, Jason Himmelstein - Everything You Always Wanted To Know...
PPTX
ECS19 - Mike Ammerlaan - Microsoft Graph Data Connect
PPTX
SharePoint 2010 - User Profile Store
PPTX
SharePoint & jQuery Guide - SPSTC 5/18/2013
PPTX
SharePoint Search Secrets for Power Users & Administrators - Mike Smith
PPTX
SPCA2013 - Best Practices Document Management in SharePoint (Online) 2013
PPTX
Logical architecture considerations for SharePoint 2013
PPTX
Intranet Case Studies - HNL SPS
PDF
Sps boston 2014_o365_power_shell_csom_amitv
PDF
Designing Corporate News Application Using SharePoint 2013 Web Content Manage...
PPTX
ECS19 - Matthew McDermott - How to Run a Search Project in SharePoint
PDF
Delve and the Office Graph for IT- Pros & Admins
PPTX
Best Practices to SharePoint Physical and Information Architecture
PPTX
Is BCS Dead?
B365 saturday practical guide to building a scalable search architecture in s...
Search Server 2010
Cloud Hybrid Search with SharePoint
Content by query web part
SEF2013 - A jQuery Primer for SharePoint
Search Solution in SharePoint 2013
ECS 19 - John White, Jason Himmelstein - Everything You Always Wanted To Know...
ECS19 - Mike Ammerlaan - Microsoft Graph Data Connect
SharePoint 2010 - User Profile Store
SharePoint & jQuery Guide - SPSTC 5/18/2013
SharePoint Search Secrets for Power Users & Administrators - Mike Smith
SPCA2013 - Best Practices Document Management in SharePoint (Online) 2013
Logical architecture considerations for SharePoint 2013
Intranet Case Studies - HNL SPS
Sps boston 2014_o365_power_shell_csom_amitv
Designing Corporate News Application Using SharePoint 2013 Web Content Manage...
ECS19 - Matthew McDermott - How to Run a Search Project in SharePoint
Delve and the Office Graph for IT- Pros & Admins
Best Practices to SharePoint Physical and Information Architecture
Is BCS Dead?
Ad

Viewers also liked (8)

PPTX
Spsbe16 searchdrivenapplications-150419151108-conversion-gate01
PPTX
Matthias einig transforming share point farm solutions to the app model
PPTX
Spsbe15 high-trust apps for on-premises development
PPTX
Stop your sharepoint css becoming a disasster today spsbe2015
PDF
Spsbepoelmanssharepointbigdataclean 150421080105-conversion-gate02
PPTX
Spsbe buildinganfaqforendusers-150422122027-conversion-gate02
PDF
Biwug 230217 choices_incollaboration - An Lenders
PPTX
Office 365 api vs share point app model
Spsbe16 searchdrivenapplications-150419151108-conversion-gate01
Matthias einig transforming share point farm solutions to the app model
Spsbe15 high-trust apps for on-premises development
Stop your sharepoint css becoming a disasster today spsbe2015
Spsbepoelmanssharepointbigdataclean 150421080105-conversion-gate02
Spsbe buildinganfaqforendusers-150422122027-conversion-gate02
Biwug 230217 choices_incollaboration - An Lenders
Office 365 api vs share point app model
Ad

Similar to Quickstartguidetojavascriptframeworksforsharepointapps spsbe-2015-150419032642-conversion-gate01 (20)

PPTX
Quick start guide to java script frameworks for sharepoint add ins sharepoint...
PPTX
Oracle Application Express & jQuery Mobile - OGh Apex Dag 2012
PPTX
PPTX
Html5 and web technology update
PPTX
Quick start guide to java script frameworks for sharepoint add ins oslo
KEY
Slow kinda sucks
KEY
Summer - The HTML5 Library for Java and Scala
PPTX
SharePoint 2010 Training Session 6
PPTX
The SharePoint and jQuery Guide by Mark Rackley - SPTechCon
PPTX
The SharePoint & jQuery Guide
PDF
Vaadin Components @ Angular U
PDF
Django Rest Framework and React and Redux, Oh My!
PDF
Bootstrap
PDF
CSS framework By Palash
PDF
HTML & CSS - Le Wagon Bootcamp
PPSX
DIWE - Coding HTML for Basic Web Designing
PPTX
JavaScript Frameworks for SharePoint add-ins Cambridge
PPT
Enhance Web Performance
PDF
Introduction to Bootstrap
PPTX
Going Serverless with Azure Functions
Quick start guide to java script frameworks for sharepoint add ins sharepoint...
Oracle Application Express & jQuery Mobile - OGh Apex Dag 2012
Html5 and web technology update
Quick start guide to java script frameworks for sharepoint add ins oslo
Slow kinda sucks
Summer - The HTML5 Library for Java and Scala
SharePoint 2010 Training Session 6
The SharePoint and jQuery Guide by Mark Rackley - SPTechCon
The SharePoint & jQuery Guide
Vaadin Components @ Angular U
Django Rest Framework and React and Redux, Oh My!
Bootstrap
CSS framework By Palash
HTML & CSS - Le Wagon Bootcamp
DIWE - Coding HTML for Basic Web Designing
JavaScript Frameworks for SharePoint add-ins Cambridge
Enhance Web Performance
Introduction to Bootstrap
Going Serverless with Azure Functions

More from BIWUG (20)

PPTX
Biwug20190425
PDF
Working with PowerShell, Visual Studio Code and Github for the reluctant IT Pro
PPTX
Global Office 365 Developer Bootcamp
PPTX
Deep dive into advanced teams development
PPTX
SharePoint wizards - no magic needed, just use Microsoft Flow
PPTX
Make IT Pro's great again: Microsoft Azure for the SharePoint professional
PPTX
Modern collaboration in teams and projects with Microsoft 365
PDF
Mining SharePoint data with PowerBI
PPTX
Don't simply deploy, transform! Build your digital workplace in Office 365
PPTX
Connect SharePoint Framework solutions to APIs secured with Azure AD
PPTX
Cloud First. Be Prepared
PPTX
APIs, APIs Everywhere!
PPTX
Advanced PowerShell for Office 365
PPTX
New era of customizing site provisioning
PDF
Understanding SharePoint Framework Extensions
PPTX
Microsoft Flow in Real World Projects: 2 Years later & What's next
PPTX
Microsoft Stream - Your enterprise video portal unleashed
PDF
What's new in SharePoint Server 2019
PPTX
Why you shouldn't probably care about Machine Learning
PPTX
Transforming your classic team sites in group connected team sites
Biwug20190425
Working with PowerShell, Visual Studio Code and Github for the reluctant IT Pro
Global Office 365 Developer Bootcamp
Deep dive into advanced teams development
SharePoint wizards - no magic needed, just use Microsoft Flow
Make IT Pro's great again: Microsoft Azure for the SharePoint professional
Modern collaboration in teams and projects with Microsoft 365
Mining SharePoint data with PowerBI
Don't simply deploy, transform! Build your digital workplace in Office 365
Connect SharePoint Framework solutions to APIs secured with Azure AD
Cloud First. Be Prepared
APIs, APIs Everywhere!
Advanced PowerShell for Office 365
New era of customizing site provisioning
Understanding SharePoint Framework Extensions
Microsoft Flow in Real World Projects: 2 Years later & What's next
Microsoft Stream - Your enterprise video portal unleashed
What's new in SharePoint Server 2019
Why you shouldn't probably care about Machine Learning
Transforming your classic team sites in group connected team sites

Recently uploaded (20)

PDF
cuic standard and advanced reporting.pdf
PPTX
Understanding_Digital_Forensics_Presentation.pptx
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PDF
NewMind AI Weekly Chronicles - August'25 Week I
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PDF
Empathic Computing: Creating Shared Understanding
PPTX
Programs and apps: productivity, graphics, security and other tools
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PDF
Electronic commerce courselecture one. Pdf
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PDF
Encapsulation theory and applications.pdf
PDF
Review of recent advances in non-invasive hemoglobin estimation
PDF
Machine learning based COVID-19 study performance prediction
PDF
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PDF
KodekX | Application Modernization Development
cuic standard and advanced reporting.pdf
Understanding_Digital_Forensics_Presentation.pptx
Building Integrated photovoltaic BIPV_UPV.pdf
NewMind AI Weekly Chronicles - August'25 Week I
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
Empathic Computing: Creating Shared Understanding
Programs and apps: productivity, graphics, security and other tools
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
The Rise and Fall of 3GPP – Time for a Sabbatical?
Electronic commerce courselecture one. Pdf
“AI and Expert System Decision Support & Business Intelligence Systems”
Encapsulation theory and applications.pdf
Review of recent advances in non-invasive hemoglobin estimation
Machine learning based COVID-19 study performance prediction
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
Dropbox Q2 2025 Financial Results & Investor Presentation
KodekX | Application Modernization Development

Quickstartguidetojavascriptframeworksforsharepointapps spsbe-2015-150419032642-conversion-gate01

  • 1. Quick Start Guide to JavaScript Frameworks for SharePoint Apps #SPSBE20 Sonja Madsen April 18th, 2015
  • 5. JavaScript Frameworks  Standardized code structure and rules  HTML, CSS and JS  Front-end frameworks  CSS to position elements  Typography styles  Browser compatibility  Standard CSS classes  Library  Set of tools  Imposes no structure
  • 6. SharePoint hosted / Provider app  jQuery  NuGet packages • jQuery • Bootstrap • jQuery validation • jQuery validation unobtrusive • Modernizr • Respond
  • 7. jQuery  JavaScript library  Most popular  Open-source  Released in 2006  Easier to select DOM elements  Used in Bootstrap and other libraries
  • 8. jQuery  Start with $(document).ready(function(){  AJAX calls $.ajax({  Element selector $(".item")  Chaining $(".item").addClass("blue").slideDown("slow");  Jquery.ui, jquery.validation
  • 10. Bootstrap  The most popular HTML, CSS, and JS framework for developing responsive, mobile first projects on the web  Open-source  Twitter Bootstrap in 2011  Bootstrap 3.0 - mobile first
  • 11. Bootstrap made sites  http://expo.getbootstrap.com/
  • 12. Bootstrap  CSS  Grid, typography, code, tables, forms, buttons, images  Components  Glyphicons, dropdowns, input, navs, nav bars, breadcrumbs, pagination, labels, badges, jumbotron, page header, thumbnails, alerts, progress bars, media object, list group, panels, responsive embed, wells  JavaScript  Transitions, modal, dropdown, scrollspy, tab, tooltip, popover, alert, button, collapse, carousel, affix  Customize
  • 13. SP Table / Bootstrap Div  <table><tr><td>  <div class=“container”> <div class=“row”><div class=“col-md-6 col-xs-12”> Phones (xs – auto width), Tablets (sm – 750px), desktops(md – 970px), large (lg – 1170px)
  • 14. Bootstrap / SharePoint list item form Bootstrap - label and text field <div class="form-group"> <label for="inputSite3" class="col-sm-2 control-label"><span class="glyphicon glyphicon-exclamation-sign" aria-hidden="true"></span> Site Title </label> <input type="text" class="form-control" id="inputEmail3" placeholder="Site Title" required /> </div> SharePoint – label and text field <tr> <td nowrap="true" valign="top" width="113px" class="ms-formlabel"><h3 class="ms-standardheader"> <label for="inputSite3" class="ms-standardheader"> Site Title </label> </h3></td> <td valign="top" width="350px" class="ms-formbody"> <!-- FieldName="Title" FieldInternalName="Title" FieldType="SPFieldText" --> <input type="text" class="ms-long ms-spellcheck-true"" id="inputEmail3" placeholder="Site Title" required /> </td> </tr>
  • 15. CSS Classes Bootstrap <div class=“col-md-6 col-md-offset-2 hidden-xs col-lg-12”> Office 365 <div autoid="__Microsoft_O365_ShellG2_Core_templates_cs_k" class="o365cs-nav-header16 o365cs-base o365cst o365spo o365cs-nav-header o365cs-topnavBGColor-2 o365cs-topnavBGImage" id="O365_NavHeader"> Custom LESS stylesheet with Bootstrap <div class=“col-md-6 col-md-offset-2 hidden-xs –col-lg-12”> HTML <div class=“demoblock”> LESS .demoblock { . col-md-6; .col-md-offset-2; .hidden-xs; .col-lg-12; }
  • 18. Bootstrap Themes  Bootswatch – free themes at bootswatch.com  Wrapbootstrap – payed themes at wrapbootstrap.com
  • 19. Validation with jQuery  Jquery.validation  Jquery.validation.unobtrusive
  • 20. Validation / Unobtrusive HTML <input type=“text” id=“SiteTitle” JavaScript rules: { "SiteTitle": { required: true, minlength: 5 } }, messages: { "SiteTitle": { required: "Please enter the site title.", minlength: "Minimum length is 5 letters." } } HTML <input type="text“ id=“SiteTitle” data-rule-required="true" data-msg-required="The Site Title field is required.“ data-rule-minlength="5" data-msg-minlength="The minimum length is 5 letters.“ JavaScript $form.validate();
  • 22. Modernizr  Detects HTML5 and CSS3 features that your browser supports on page load  Result of “feature detection” is “yes” or “no”  Adds classes to HTML https://github.com/Modernizr/Modernizr/wiki/HTML5- Cross-browser-Polyfills  Support IE6+, Firefox 3.5+, Opera 9.6+, Safari 2+, Chrome
  • 23. Modernizr  Yepnopejs is deprecated Modernizr.load({ test: Modernizr.borderradius, yep : alert("This browser supports border radius."), nope: 'PIE_IE678.js' });
  • 24. Respondjs  It loops through the CSS referenced on the page  IE8: re-requests the CSS files using Ajax  Polyfill for CSS min-width and max-width in browsers that don't support CSS3 Media Queries
  • 25. Polyfills, shims  Shim: a generic code, a library that brings a new API to an older environment  Polyfill: downloadable code with fallback for functionality that is not available in your browser https://github.com/Modernizr/Modernizr/wiki/HTML5- Cross-browser-Polyfills
  • 27. Links  jQuery http://api.jquery.com/  Bootstrap tutorial http://www.tutorialspoint.com/bootstrap/bootstrap_t utorial.pdf  Modernizr http://modernizr.com/docs/  Respond https://github.com/scottjehl/Respond  Building Responsive UI with Bootstrap on MVA http://www.microsoftvirtualacademy.com/training- courses/building-responsive-ui-with-bootstrap