SlideShare ist ein Scribd-Unternehmen logo
1 von 48
NEW JERSEY SHAREPOINT USER GROUP 
• Different SharePoint discussions each 
month on various topics. Announced on 
meetup.com 
• Meets 4th Tuesday of every month 
• 6pm – 8pm 
• Microsoft Office (MetroPark) 
• 101 Wood Ave, Iselin, NJ 08830 
• http://www.njspug.com
THANK YOU 
EVENT SPONSORS 
• Diamond & Platinum sponsors 
have tables here in the Fireside 
Lounge 
• Please visit them and inquire 
about their products & services 
• Also to be eligible for prizes 
make sure to get your bingo card 
stamped
What we’ll cover today 
4 
JavaScript in Content Editor Web Part (CEWP) 
JavaScript in an ASPX page – created in SharePoint Designer (SPD) 
REST – CRUD operations 
Bootstrap – just the basics 
Session Goals 
• Provide enough information for you to get started with a few basic 
examples to get past the initial learning curve 
• Focus on approaches that can be utilized by a Site Owner in SharePoint 
2010 / 2013 on premise or Office 365 without the App model
Session warning 
5 
This session is awesome 
There will be some code 
There will be awesome demos
About Jared 
6 
SharePoint Consultant with Slalom Consulting 
10+ years in the IT Field, 0 book deals 
President of CT SharePoint Users Group (www.ctspug.org) 
Blog: www.jaredmatfess.com 
Twitter: @JaredMatfess 
E-mail: JaredM@slalom.com
About Chris 
7 
SharePoint Lead at Saint Francis Hospital 
15+ years IT experience 
Got married in April 
Not president of CT SharePoint Users 
Group (www.ctspug.org) 
Author of SharePoint 2013 Web Analytics 
Data Export CodePlex project 
http://sp2013wade.codeplex.com
About Schmidt 
8 
Great movie starring Jack Nicholson 
Has nothing to do with our presentation 
Spoiler Alert: Kathy Bates skinny dips in 
a hot tub
9 
Demo 
$("#code").show();
So why Client Side Development? 
10 
Why JavaScript?
SharePoint “upgrades” are terrible 
11
The pain.. 
12 
Migrating lots of old data 
The fight to define (or justify) Information Architecture 
The G-Word (Governance) 
Technology – acquiring the hardware 
Addressing the Customizations
Does it need to be server side code? 
13 
Server Side Code 
Timer jobs 
Custom site definitions 
3rd party products where you have no choice 
Custom workflows (when you don’t own Nintex or K2) 
Client Side Code 
Everything else
The big M(icrosoft) 
14 
O365 is Microsoft’s “Cash Cow” 
You cannot deploy server-side code to O365 
MSFT is rolling out features to O365 first 
On premises second 
The client side API’s are getting better! 
Everybody’s doing – JavaScript is blowing up
15
JavaScript 
16
Benefits of JavaScript 
17 
SharePoint Admins are happy to get those WSP’s out of their farm 
Developers are happy because they can deploy new functionality without 
those grumpy SharePoint Admins 
JavaScript skills translate to other opportunities outside of SharePoint
It’s starting to feel a lot like NASCAR 
18
Our recommendation for beginners… 
19 
Here are the frameworks / libraries that I’d like to talk about: 
JavaScript 
jQuery 
Most of the code samples you'll find on the web use jQuery 
Bootstrap 
*As advertised in the session description 
jQuery 
20 
jQuery is the most popular JavaScript library in use today 
Used by over 60% of the 10,000 most visited websites 
It’s probably in your environment and you don’t even know it 
Greatly simplifies cross-browser client-side scripting of HTML 
Handles compatibility issues with older browsers (ex: IE6 / IE7 / IE8) 
Most SharePoint code examples on the internet use jQuery
Where do I put my scripts? 
21 
Option #1 Place code directly in Content Editor Web Part (CEWP) 
• Not so good 
Option #2 Create a “Scripts” library and put them there – much better 
• Enable Versioning (just in case) 
Option #3 Drop it in the hive (on premise only)? 
• Only if you want to dance with danger 
Option #4 Bundle with a SharePoint App (2013 only)
What tools do I need to write code? 
22 
Your favorite text editior (ex: NotePad ++) 
Visual Studio 
Sublime 
Web Storm 
Emacs or Vim for the hardcore 
The list goes on and on…
What tools do I need to troubleshoot 
code? 
23 
Internet Explorer F12 Developer Tools 
Chrome Developer Tools 
Firefox / Firebug 
Fiddler
24
REST Fundamentals 
25 
The term representational state transfer was introduced and defined in 2000 by 
Roy Fielding in his doctoral dissertation at UC Irvine 
What is REST or RESTful? 
Representational State Transfer – is that helpful? 
A RESTful service adheres to the 4 basic design principals outlined in Fielding’s 
dissertation 
Often times referred to as an alternative to SOAP
REST Design Principles 
26 
Four basic design principles: 
Use HTTP methods explicitly (POST, GET, PUT, DELETE) 
Be stateless 
Expose directory structure-like URIs 
Transfer XML, JavaScript Object Notation (JSON), or both
Reading Data using REST / jQuery 
27 
JavaScript with jQuery 
$.ajax({ 
url: "http://siteurl/_api/web/lists", 
type: "GET", 
headers: { 
"ACCEPT": "application/json;odata=verbose" 
}, 
success: doSuccess, 
error: doError 
});
Working with REST 
28 
Since REST uses HTTP methods you can test your queries in the browser 
https://ctsharepointusergroup.sharepoint.com/bootstrap/_api/Web/Lists/GetByTitle('CustomNews')
Working with IE (shudder) 
29 
Not helpful
Let’s fix that right quick! 
30
This is way more helpful! 
31
Better yet… 
32 
Postman is Google Chrome 
extension that can be used to 
quickly create and test REST calls 
Can execute different types of 
HTTP requests (GET, POST, 
DELETE, PATCH etc.) 
Output can be “Raw” or “Pretty” 
for improved readability 
http://www.getpostman.com 
Postman REST Client for Chrome
Creating Data using REST 
33 
JavaScript with JQuery 
jQuery.ajax({ 
url: “http://siteurl/_api/web/lists”, 
type: "POST", 
data: JSON.stringify({ '__metadata': { 'type': 'SP.List' }, 'AllowContentTypes': 
true, 'BaseTemplate': 100, 
'ContentTypesEnabled': true, 'Description': 'My list description', 'Title': 
'Test' } ), 
headers: { 
"accept": "application/json;odata=verbose", 
"content-type":"application/json;odata=verbose", 
"content-length":length of post body 
"X-RequestDigest": $("#__REQUESTDIGEST").val() 
}, 
success: doSuccess, 
error: doError 
});
Updating Data using REST 
34 
JavaScript with JQuery 
jQuery.ajax({ 
url: “http://siteurl/_api/web/lists/GetByTitle(‘Test')”, 
type: "POST", 
data: JSON.stringify({ '__metadata': { 'type': 'SP.List' }, 'Title': 'New title' 
} ), 
headers: { 
“X-HTTP-Method”:”MERGE”, 
"accept": "application/json;odata=verbose", 
"content-type": "application/json;odata=verbose", 
"content-length":length of post body 
"X-RequestDigest": $("#__REQUESTDIGEST").val(), 
“IF-MATCH”: “*” 
}, 
success: doSuccess, 
error: doError 
});
Putting it All Together for a Simple 
Example 
35 
1. Create a Document Library called Scripts and enable Versioning 
2. Download a copy of jQuery and upload to Scripts library 
3. Create a .txt file in your favorite code editor that contains or links to your 
HTML, CSS, and JavaScript 
4. Add an empty Content Editor Web Part (CEWP) to any SharePoint Page 
where you would like to put your content 
5. Configure Content Editor Web Part (CEWP) to point at .txt file with code
36 
Demo 
$("#code").show();
37 
2 
3 
4 
5 
6 
1
38
Bootstrap 
39
Bootstrap in action.. 
40
Pro Tip! 
41 
Watch out for XML validation issues with your design: 
<open tag></close tag> = works 
<tag stuff /> = not so much
Quick mock-up in Bootstrap 
42
Putting it All Together for a Simple 
Example 
43 
1. Create an empty .ASPX page in the Site Pages library with SharePoint 
Designer 
2. Download Bootstrap files and copy to SharePoint library 
3. Copy Bootstrap boilerplate HTML code into .ASPX page 
4. Update HTML content placeholders to have unique Ids 
5. Add JavaScript (equivalent to previous demo)
44 
Demo 
$("#code").show();
Code for Bootstrap Demo 
45
46 
Training / Resources
Books, books, and more books... 
47
© 2012 Slalom, LLC. All rights reserved. The information herein is for informational purposes only and represents the current view of Slalom, LLC. as of the date of this presentation. 
SLALOM MAKES NO WARRANTIES, EXPRESS, IMPLIED, OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

Weitere ähnliche Inhalte

Was ist angesagt?

2/15/2012 - Wrapping Your Head Around the SharePoint Beast
2/15/2012 - Wrapping Your Head Around the SharePoint Beast2/15/2012 - Wrapping Your Head Around the SharePoint Beast
2/15/2012 - Wrapping Your Head Around the SharePoint BeastMark Rackley
 
SPTechCon - Share point and jquery essentials
SPTechCon - Share point and jquery essentialsSPTechCon - Share point and jquery essentials
SPTechCon - Share point and jquery essentialsMark Rackley
 
HTML5 Bootcamp: Essential HTML, CSS, & JavaScript
HTML5 Bootcamp: Essential HTML, CSS, & JavaScriptHTML5 Bootcamp: Essential HTML, CSS, & JavaScript
HTML5 Bootcamp: Essential HTML, CSS, & JavaScriptTodd Anglin
 
SharePoint PowerShell for the Admin and Developer - A Venn Diagram Experience
SharePoint PowerShell for the Admin and Developer - A Venn Diagram ExperienceSharePoint PowerShell for the Admin and Developer - A Venn Diagram Experience
SharePoint PowerShell for the Admin and Developer - A Venn Diagram ExperienceRicardo Wilkins
 
An Introduction To HTML5
An Introduction To HTML5An Introduction To HTML5
An Introduction To HTML5Robert Nyman
 
Bringing HTML5 alive in SharePoint
Bringing HTML5 alive in SharePointBringing HTML5 alive in SharePoint
Bringing HTML5 alive in SharePointChad Schroeder
 
Intro to html5 Boilerplate
Intro to html5 BoilerplateIntro to html5 Boilerplate
Intro to html5 BoilerplateMichael Enslow
 
An Introduction to HTML5
An Introduction to HTML5An Introduction to HTML5
An Introduction to HTML5Steven Chipman
 
Introduction to html 5
Introduction to html 5Introduction to html 5
Introduction to html 5Sayed Ahmed
 
Introduction to HTML5
Introduction to HTML5Introduction to HTML5
Introduction to HTML5Gil Fink
 
DSL, Page Object and Selenium – a way to reliable functional tests
DSL, Page Object and Selenium – a way to reliable functional testsDSL, Page Object and Selenium – a way to reliable functional tests
DSL, Page Object and Selenium – a way to reliable functional testsMikalai Alimenkou
 
OSGi and Spring Data for simple (Web) Application Development
OSGi and Spring Data  for simple (Web) Application DevelopmentOSGi and Spring Data  for simple (Web) Application Development
OSGi and Spring Data for simple (Web) Application DevelopmentChristian Baranowski
 
Best Practices in SharePoint Development - Just Freakin Work! Overcoming Hurd...
Best Practices in SharePoint Development - Just Freakin Work! Overcoming Hurd...Best Practices in SharePoint Development - Just Freakin Work! Overcoming Hurd...
Best Practices in SharePoint Development - Just Freakin Work! Overcoming Hurd...Geoff Varosky
 
HTML5 Introduction
HTML5 IntroductionHTML5 Introduction
HTML5 Introductiondynamis
 
Selenium - The page object pattern
Selenium - The page object patternSelenium - The page object pattern
Selenium - The page object patternMichael Palotas
 
HTML5 New Features and Resources
HTML5 New Features and ResourcesHTML5 New Features and Resources
HTML5 New Features and ResourcesRon Reiter
 

Was ist angesagt? (20)

2/15/2012 - Wrapping Your Head Around the SharePoint Beast
2/15/2012 - Wrapping Your Head Around the SharePoint Beast2/15/2012 - Wrapping Your Head Around the SharePoint Beast
2/15/2012 - Wrapping Your Head Around the SharePoint Beast
 
SPTechCon - Share point and jquery essentials
SPTechCon - Share point and jquery essentialsSPTechCon - Share point and jquery essentials
SPTechCon - Share point and jquery essentials
 
HTML5
HTML5HTML5
HTML5
 
HTML5 Bootcamp: Essential HTML, CSS, & JavaScript
HTML5 Bootcamp: Essential HTML, CSS, & JavaScriptHTML5 Bootcamp: Essential HTML, CSS, & JavaScript
HTML5 Bootcamp: Essential HTML, CSS, & JavaScript
 
SharePoint PowerShell for the Admin and Developer - A Venn Diagram Experience
SharePoint PowerShell for the Admin and Developer - A Venn Diagram ExperienceSharePoint PowerShell for the Admin and Developer - A Venn Diagram Experience
SharePoint PowerShell for the Admin and Developer - A Venn Diagram Experience
 
An Introduction To HTML5
An Introduction To HTML5An Introduction To HTML5
An Introduction To HTML5
 
Html5 Basics
Html5 BasicsHtml5 Basics
Html5 Basics
 
Bringing HTML5 alive in SharePoint
Bringing HTML5 alive in SharePointBringing HTML5 alive in SharePoint
Bringing HTML5 alive in SharePoint
 
Intro to html5 Boilerplate
Intro to html5 BoilerplateIntro to html5 Boilerplate
Intro to html5 Boilerplate
 
An Introduction to HTML5
An Introduction to HTML5An Introduction to HTML5
An Introduction to HTML5
 
Introduction to html 5
Introduction to html 5Introduction to html 5
Introduction to html 5
 
Introduction to HTML5
Introduction to HTML5Introduction to HTML5
Introduction to HTML5
 
DSL, Page Object and Selenium – a way to reliable functional tests
DSL, Page Object and Selenium – a way to reliable functional testsDSL, Page Object and Selenium – a way to reliable functional tests
DSL, Page Object and Selenium – a way to reliable functional tests
 
OSGi and Spring Data for simple (Web) Application Development
OSGi and Spring Data  for simple (Web) Application DevelopmentOSGi and Spring Data  for simple (Web) Application Development
OSGi and Spring Data for simple (Web) Application Development
 
Best Practices in SharePoint Development - Just Freakin Work! Overcoming Hurd...
Best Practices in SharePoint Development - Just Freakin Work! Overcoming Hurd...Best Practices in SharePoint Development - Just Freakin Work! Overcoming Hurd...
Best Practices in SharePoint Development - Just Freakin Work! Overcoming Hurd...
 
HTML5 Introduction
HTML5 IntroductionHTML5 Introduction
HTML5 Introduction
 
Selenium - The page object pattern
Selenium - The page object patternSelenium - The page object pattern
Selenium - The page object pattern
 
orcreatehappyusers
orcreatehappyusersorcreatehappyusers
orcreatehappyusers
 
HTML5 New Features and Resources
HTML5 New Features and ResourcesHTML5 New Features and Resources
HTML5 New Features and Resources
 
Html 5
Html 5Html 5
Html 5
 

Ähnlich wie A Beginner's Guide to Client Side Development with Javascript

SharePoint for the .NET Developer
SharePoint for the .NET DeveloperSharePoint for the .NET Developer
SharePoint for the .NET DeveloperJohn Calvert
 
SPTechCon 2014 How to develop and debug client side code in SharePoint
SPTechCon 2014 How to develop and debug client side code in SharePointSPTechCon 2014 How to develop and debug client side code in SharePoint
SPTechCon 2014 How to develop and debug client side code in SharePointMark Rackley
 
Sps Boston The Share Point Beast
Sps Boston   The Share Point BeastSps Boston   The Share Point Beast
Sps Boston The Share Point Beastgueste918732
 
Office 365 Saturday (Sydney) - SharePoint framework – build integrated user e...
Office 365 Saturday (Sydney) - SharePoint framework – build integrated user e...Office 365 Saturday (Sydney) - SharePoint framework – build integrated user e...
Office 365 Saturday (Sydney) - SharePoint framework – build integrated user e...Anupam Ranku
 
Introduction to PowerShell - Be a PowerShell Hero - SPFest workshop
Introduction to PowerShell - Be a PowerShell Hero - SPFest workshopIntroduction to PowerShell - Be a PowerShell Hero - SPFest workshop
Introduction to PowerShell - Be a PowerShell Hero - SPFest workshopMichael Blumenthal (Microsoft MVP)
 
Bootstrap for Beginners
Bootstrap for BeginnersBootstrap for Beginners
Bootstrap for BeginnersD'arce Hess
 
No Feature Solutions with SharePoint
No Feature Solutions with SharePointNo Feature Solutions with SharePoint
No Feature Solutions with SharePointmikehuguet
 
Intro to mobile web application development
Intro to mobile web application developmentIntro to mobile web application development
Intro to mobile web application developmentzonathen
 
SPS Monaco 2017 - The Lay of the Land of Client-Side Development circa 2017
SPS Monaco 2017 - The Lay of the Land of Client-Side Development circa 2017SPS Monaco 2017 - The Lay of the Land of Client-Side Development circa 2017
SPS Monaco 2017 - The Lay of the Land of Client-Side Development circa 2017Marc D Anderson
 
Intro to .NET for Government Developers
Intro to .NET for Government DevelopersIntro to .NET for Government Developers
Intro to .NET for Government DevelopersFrank La Vigne
 
2012 - HTML5, CSS3 and jQuery with SharePoint 2010
2012 - HTML5, CSS3 and jQuery with SharePoint 20102012 - HTML5, CSS3 and jQuery with SharePoint 2010
2012 - HTML5, CSS3 and jQuery with SharePoint 2010Chris O'Connor
 
Introduction to using jQuery with SharePoint
Introduction to using jQuery with SharePointIntroduction to using jQuery with SharePoint
Introduction to using jQuery with SharePointRene Modery
 
JavaScript front end performance optimizations
JavaScript front end performance optimizationsJavaScript front end performance optimizations
JavaScript front end performance optimizationsChris Love
 
AUSPC 2011: How we did it: NothingButSharePoint.com
AUSPC 2011: How we did it: NothingButSharePoint.comAUSPC 2011: How we did it: NothingButSharePoint.com
AUSPC 2011: How we did it: NothingButSharePoint.comJeremy Thake
 
German introduction to sp framework
German   introduction to sp frameworkGerman   introduction to sp framework
German introduction to sp frameworkBob German
 
TypeScript and SharePoint Framework
TypeScript and SharePoint FrameworkTypeScript and SharePoint Framework
TypeScript and SharePoint FrameworkBob German
 
SharePoint for ASP.Net Developers
SharePoint for ASP.Net DevelopersSharePoint for ASP.Net Developers
SharePoint for ASP.Net DevelopersGreg Hurlman
 
MongoDB.local Atlanta: MongoDB Stitch Tutorial
MongoDB.local Atlanta: MongoDB Stitch TutorialMongoDB.local Atlanta: MongoDB Stitch Tutorial
MongoDB.local Atlanta: MongoDB Stitch TutorialMongoDB
 
Custom Development in SharePoint – What are my options now?
Custom Development in SharePoint – What are my options now?Custom Development in SharePoint – What are my options now?
Custom Development in SharePoint – What are my options now?Talbott Crowell
 

Ähnlich wie A Beginner's Guide to Client Side Development with Javascript (20)

SharePoint for the .NET Developer
SharePoint for the .NET DeveloperSharePoint for the .NET Developer
SharePoint for the .NET Developer
 
SPTechCon 2014 How to develop and debug client side code in SharePoint
SPTechCon 2014 How to develop and debug client side code in SharePointSPTechCon 2014 How to develop and debug client side code in SharePoint
SPTechCon 2014 How to develop and debug client side code in SharePoint
 
Sps Boston The Share Point Beast
Sps Boston   The Share Point BeastSps Boston   The Share Point Beast
Sps Boston The Share Point Beast
 
Office 365 Saturday (Sydney) - SharePoint framework – build integrated user e...
Office 365 Saturday (Sydney) - SharePoint framework – build integrated user e...Office 365 Saturday (Sydney) - SharePoint framework – build integrated user e...
Office 365 Saturday (Sydney) - SharePoint framework – build integrated user e...
 
Introduction to PowerShell - Be a PowerShell Hero - SPFest workshop
Introduction to PowerShell - Be a PowerShell Hero - SPFest workshopIntroduction to PowerShell - Be a PowerShell Hero - SPFest workshop
Introduction to PowerShell - Be a PowerShell Hero - SPFest workshop
 
Bootstrap for Beginners
Bootstrap for BeginnersBootstrap for Beginners
Bootstrap for Beginners
 
No Feature Solutions with SharePoint
No Feature Solutions with SharePointNo Feature Solutions with SharePoint
No Feature Solutions with SharePoint
 
Intro to mobile web application development
Intro to mobile web application developmentIntro to mobile web application development
Intro to mobile web application development
 
SPS Monaco 2017 - The Lay of the Land of Client-Side Development circa 2017
SPS Monaco 2017 - The Lay of the Land of Client-Side Development circa 2017SPS Monaco 2017 - The Lay of the Land of Client-Side Development circa 2017
SPS Monaco 2017 - The Lay of the Land of Client-Side Development circa 2017
 
Intro to .NET for Government Developers
Intro to .NET for Government DevelopersIntro to .NET for Government Developers
Intro to .NET for Government Developers
 
2012 - HTML5, CSS3 and jQuery with SharePoint 2010
2012 - HTML5, CSS3 and jQuery with SharePoint 20102012 - HTML5, CSS3 and jQuery with SharePoint 2010
2012 - HTML5, CSS3 and jQuery with SharePoint 2010
 
Introduction to using jQuery with SharePoint
Introduction to using jQuery with SharePointIntroduction to using jQuery with SharePoint
Introduction to using jQuery with SharePoint
 
JavaScript front end performance optimizations
JavaScript front end performance optimizationsJavaScript front end performance optimizations
JavaScript front end performance optimizations
 
AUSPC 2011: How we did it: NothingButSharePoint.com
AUSPC 2011: How we did it: NothingButSharePoint.comAUSPC 2011: How we did it: NothingButSharePoint.com
AUSPC 2011: How we did it: NothingButSharePoint.com
 
German introduction to sp framework
German   introduction to sp frameworkGerman   introduction to sp framework
German introduction to sp framework
 
TypeScript and SharePoint Framework
TypeScript and SharePoint FrameworkTypeScript and SharePoint Framework
TypeScript and SharePoint Framework
 
php
phpphp
php
 
SharePoint for ASP.Net Developers
SharePoint for ASP.Net DevelopersSharePoint for ASP.Net Developers
SharePoint for ASP.Net Developers
 
MongoDB.local Atlanta: MongoDB Stitch Tutorial
MongoDB.local Atlanta: MongoDB Stitch TutorialMongoDB.local Atlanta: MongoDB Stitch Tutorial
MongoDB.local Atlanta: MongoDB Stitch Tutorial
 
Custom Development in SharePoint – What are my options now?
Custom Development in SharePoint – What are my options now?Custom Development in SharePoint – What are my options now?
Custom Development in SharePoint – What are my options now?
 

Mehr von SharePoint Saturday New Jersey

Building Mobile Apps With Xamarin and Visual Studio App Center
Building Mobile Apps With Xamarin and Visual Studio App CenterBuilding Mobile Apps With Xamarin and Visual Studio App Center
Building Mobile Apps With Xamarin and Visual Studio App CenterSharePoint Saturday New Jersey
 
The Definitive Guide for When to Use What In Office 365
The Definitive Guide for When to Use What In Office 365The Definitive Guide for When to Use What In Office 365
The Definitive Guide for When to Use What In Office 365SharePoint Saturday New Jersey
 
Improving the SharePoint Development Process with Continuous Integration
Improving the SharePoint Development Process with Continuous IntegrationImproving the SharePoint Development Process with Continuous Integration
Improving the SharePoint Development Process with Continuous IntegrationSharePoint Saturday New Jersey
 
10 points to make a rogue SharePoint environment really, really secure..
10 points to make a rogue SharePoint environment really, really secure..10 points to make a rogue SharePoint environment really, really secure..
10 points to make a rogue SharePoint environment really, really secure..SharePoint Saturday New Jersey
 
Exchange Server 2013 and SharePoint Server 2013 Integration
Exchange Server 2013 and SharePoint Server 2013 IntegrationExchange Server 2013 and SharePoint Server 2013 Integration
Exchange Server 2013 and SharePoint Server 2013 IntegrationSharePoint Saturday New Jersey
 

Mehr von SharePoint Saturday New Jersey (17)

Building Mobile Apps With Xamarin and Visual Studio App Center
Building Mobile Apps With Xamarin and Visual Studio App CenterBuilding Mobile Apps With Xamarin and Visual Studio App Center
Building Mobile Apps With Xamarin and Visual Studio App Center
 
Azure Active Directory
Azure Active DirectoryAzure Active Directory
Azure Active Directory
 
The Definitive Guide for When to Use What In Office 365
The Definitive Guide for When to Use What In Office 365The Definitive Guide for When to Use What In Office 365
The Definitive Guide for When to Use What In Office 365
 
Sps2015 intro to office 365 admin nikkia carter
Sps2015 intro to office 365 admin   nikkia carterSps2015 intro to office 365 admin   nikkia carter
Sps2015 intro to office 365 admin nikkia carter
 
The anatomy of office 365 groups
The anatomy of office 365 groupsThe anatomy of office 365 groups
The anatomy of office 365 groups
 
Integrating SSRS with SharePoint
Integrating SSRS with SharePointIntegrating SSRS with SharePoint
Integrating SSRS with SharePoint
 
Where to save my data, for devs!
Where to save my data, for devs!Where to save my data, for devs!
Where to save my data, for devs!
 
SharePoint Saturday NJ 2014 Slides
SharePoint Saturday NJ 2014 SlidesSharePoint Saturday NJ 2014 Slides
SharePoint Saturday NJ 2014 Slides
 
Improving the SharePoint Development Process with Continuous Integration
Improving the SharePoint Development Process with Continuous IntegrationImproving the SharePoint Development Process with Continuous Integration
Improving the SharePoint Development Process with Continuous Integration
 
10 points to make a rogue SharePoint environment really, really secure..
10 points to make a rogue SharePoint environment really, really secure..10 points to make a rogue SharePoint environment really, really secure..
10 points to make a rogue SharePoint environment really, really secure..
 
Insights and Monitoring of SharePoint Applications
Insights and Monitoring of SharePoint ApplicationsInsights and Monitoring of SharePoint Applications
Insights and Monitoring of SharePoint Applications
 
Optimizing SQL Server 2012 for SharePoint 2013
Optimizing SQL Server 2012 for SharePoint 2013Optimizing SQL Server 2012 for SharePoint 2013
Optimizing SQL Server 2012 for SharePoint 2013
 
Integrating Office Web Apps with SharePoint 2013
Integrating Office Web Apps with SharePoint 2013Integrating Office Web Apps with SharePoint 2013
Integrating Office Web Apps with SharePoint 2013
 
Anatomy of a mail app
Anatomy of a mail appAnatomy of a mail app
Anatomy of a mail app
 
Exchange Server 2013 and SharePoint Server 2013 Integration
Exchange Server 2013 and SharePoint Server 2013 IntegrationExchange Server 2013 and SharePoint Server 2013 Integration
Exchange Server 2013 and SharePoint Server 2013 Integration
 
Term Store Navigation
Term Store NavigationTerm Store Navigation
Term Store Navigation
 
Business Intelligence
Business IntelligenceBusiness Intelligence
Business Intelligence
 

Kürzlich hochgeladen

Exploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdfExploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdfproinshot.com
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsAlberto González Trastoy
 
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfonteinmasabamasaba
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfkalichargn70th171
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...Health
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Modelsaagamshah0812
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplatePresentation.STUDIO
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️Delhi Call girls
 
ManageIQ - Sprint 236 Review - Slide Deck
ManageIQ - Sprint 236 Review - Slide DeckManageIQ - Sprint 236 Review - Slide Deck
ManageIQ - Sprint 236 Review - Slide DeckManageIQ
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️Delhi Call girls
 
%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrandmasabamasaba
 
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...Jittipong Loespradit
 
Sector 18, Noida Call girls :8448380779 Model Escorts | 100% verified
Sector 18, Noida Call girls :8448380779 Model Escorts | 100% verifiedSector 18, Noida Call girls :8448380779 Model Escorts | 100% verified
Sector 18, Noida Call girls :8448380779 Model Escorts | 100% verifiedDelhi Call girls
 
Define the academic and professional writing..pdf
Define the academic and professional writing..pdfDefine the academic and professional writing..pdf
Define the academic and professional writing..pdfPearlKirahMaeRagusta1
 
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdfAzure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdfryanfarris8
 
BUS PASS MANGEMENT SYSTEM USING PHP.pptx
BUS PASS MANGEMENT SYSTEM USING PHP.pptxBUS PASS MANGEMENT SYSTEM USING PHP.pptx
BUS PASS MANGEMENT SYSTEM USING PHP.pptxalwaysnagaraju26
 
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park %in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park masabamasaba
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providermohitmore19
 
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdfPayment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdfkalichargn70th171
 

Kürzlich hochgeladen (20)

Exploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdfExploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdf
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
ManageIQ - Sprint 236 Review - Slide Deck
ManageIQ - Sprint 236 Review - Slide DeckManageIQ - Sprint 236 Review - Slide Deck
ManageIQ - Sprint 236 Review - Slide Deck
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand
 
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
 
Sector 18, Noida Call girls :8448380779 Model Escorts | 100% verified
Sector 18, Noida Call girls :8448380779 Model Escorts | 100% verifiedSector 18, Noida Call girls :8448380779 Model Escorts | 100% verified
Sector 18, Noida Call girls :8448380779 Model Escorts | 100% verified
 
Define the academic and professional writing..pdf
Define the academic and professional writing..pdfDefine the academic and professional writing..pdf
Define the academic and professional writing..pdf
 
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdfAzure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
 
BUS PASS MANGEMENT SYSTEM USING PHP.pptx
BUS PASS MANGEMENT SYSTEM USING PHP.pptxBUS PASS MANGEMENT SYSTEM USING PHP.pptx
BUS PASS MANGEMENT SYSTEM USING PHP.pptx
 
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park %in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdfPayment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
 

A Beginner's Guide to Client Side Development with Javascript

  • 1.
  • 2. NEW JERSEY SHAREPOINT USER GROUP • Different SharePoint discussions each month on various topics. Announced on meetup.com • Meets 4th Tuesday of every month • 6pm – 8pm • Microsoft Office (MetroPark) • 101 Wood Ave, Iselin, NJ 08830 • http://www.njspug.com
  • 3. THANK YOU EVENT SPONSORS • Diamond & Platinum sponsors have tables here in the Fireside Lounge • Please visit them and inquire about their products & services • Also to be eligible for prizes make sure to get your bingo card stamped
  • 4. What we’ll cover today 4 JavaScript in Content Editor Web Part (CEWP) JavaScript in an ASPX page – created in SharePoint Designer (SPD) REST – CRUD operations Bootstrap – just the basics Session Goals • Provide enough information for you to get started with a few basic examples to get past the initial learning curve • Focus on approaches that can be utilized by a Site Owner in SharePoint 2010 / 2013 on premise or Office 365 without the App model
  • 5. Session warning 5 This session is awesome There will be some code There will be awesome demos
  • 6. About Jared 6 SharePoint Consultant with Slalom Consulting 10+ years in the IT Field, 0 book deals President of CT SharePoint Users Group (www.ctspug.org) Blog: www.jaredmatfess.com Twitter: @JaredMatfess E-mail: JaredM@slalom.com
  • 7. About Chris 7 SharePoint Lead at Saint Francis Hospital 15+ years IT experience Got married in April Not president of CT SharePoint Users Group (www.ctspug.org) Author of SharePoint 2013 Web Analytics Data Export CodePlex project http://sp2013wade.codeplex.com
  • 8. About Schmidt 8 Great movie starring Jack Nicholson Has nothing to do with our presentation Spoiler Alert: Kathy Bates skinny dips in a hot tub
  • 10. So why Client Side Development? 10 Why JavaScript?
  • 12. The pain.. 12 Migrating lots of old data The fight to define (or justify) Information Architecture The G-Word (Governance) Technology – acquiring the hardware Addressing the Customizations
  • 13. Does it need to be server side code? 13 Server Side Code Timer jobs Custom site definitions 3rd party products where you have no choice Custom workflows (when you don’t own Nintex or K2) Client Side Code Everything else
  • 14. The big M(icrosoft) 14 O365 is Microsoft’s “Cash Cow” You cannot deploy server-side code to O365 MSFT is rolling out features to O365 first On premises second The client side API’s are getting better! Everybody’s doing – JavaScript is blowing up
  • 15. 15
  • 17. Benefits of JavaScript 17 SharePoint Admins are happy to get those WSP’s out of their farm Developers are happy because they can deploy new functionality without those grumpy SharePoint Admins JavaScript skills translate to other opportunities outside of SharePoint
  • 18. It’s starting to feel a lot like NASCAR 18
  • 19. Our recommendation for beginners… 19 Here are the frameworks / libraries that I’d like to talk about: JavaScript jQuery Most of the code samples you'll find on the web use jQuery Bootstrap *As advertised in the session description 
  • 20. jQuery 20 jQuery is the most popular JavaScript library in use today Used by over 60% of the 10,000 most visited websites It’s probably in your environment and you don’t even know it Greatly simplifies cross-browser client-side scripting of HTML Handles compatibility issues with older browsers (ex: IE6 / IE7 / IE8) Most SharePoint code examples on the internet use jQuery
  • 21. Where do I put my scripts? 21 Option #1 Place code directly in Content Editor Web Part (CEWP) • Not so good Option #2 Create a “Scripts” library and put them there – much better • Enable Versioning (just in case) Option #3 Drop it in the hive (on premise only)? • Only if you want to dance with danger Option #4 Bundle with a SharePoint App (2013 only)
  • 22. What tools do I need to write code? 22 Your favorite text editior (ex: NotePad ++) Visual Studio Sublime Web Storm Emacs or Vim for the hardcore The list goes on and on…
  • 23. What tools do I need to troubleshoot code? 23 Internet Explorer F12 Developer Tools Chrome Developer Tools Firefox / Firebug Fiddler
  • 24. 24
  • 25. REST Fundamentals 25 The term representational state transfer was introduced and defined in 2000 by Roy Fielding in his doctoral dissertation at UC Irvine What is REST or RESTful? Representational State Transfer – is that helpful? A RESTful service adheres to the 4 basic design principals outlined in Fielding’s dissertation Often times referred to as an alternative to SOAP
  • 26. REST Design Principles 26 Four basic design principles: Use HTTP methods explicitly (POST, GET, PUT, DELETE) Be stateless Expose directory structure-like URIs Transfer XML, JavaScript Object Notation (JSON), or both
  • 27. Reading Data using REST / jQuery 27 JavaScript with jQuery $.ajax({ url: "http://siteurl/_api/web/lists", type: "GET", headers: { "ACCEPT": "application/json;odata=verbose" }, success: doSuccess, error: doError });
  • 28. Working with REST 28 Since REST uses HTTP methods you can test your queries in the browser https://ctsharepointusergroup.sharepoint.com/bootstrap/_api/Web/Lists/GetByTitle('CustomNews')
  • 29. Working with IE (shudder) 29 Not helpful
  • 30. Let’s fix that right quick! 30
  • 31. This is way more helpful! 31
  • 32. Better yet… 32 Postman is Google Chrome extension that can be used to quickly create and test REST calls Can execute different types of HTTP requests (GET, POST, DELETE, PATCH etc.) Output can be “Raw” or “Pretty” for improved readability http://www.getpostman.com Postman REST Client for Chrome
  • 33. Creating Data using REST 33 JavaScript with JQuery jQuery.ajax({ url: “http://siteurl/_api/web/lists”, type: "POST", data: JSON.stringify({ '__metadata': { 'type': 'SP.List' }, 'AllowContentTypes': true, 'BaseTemplate': 100, 'ContentTypesEnabled': true, 'Description': 'My list description', 'Title': 'Test' } ), headers: { "accept": "application/json;odata=verbose", "content-type":"application/json;odata=verbose", "content-length":length of post body "X-RequestDigest": $("#__REQUESTDIGEST").val() }, success: doSuccess, error: doError });
  • 34. Updating Data using REST 34 JavaScript with JQuery jQuery.ajax({ url: “http://siteurl/_api/web/lists/GetByTitle(‘Test')”, type: "POST", data: JSON.stringify({ '__metadata': { 'type': 'SP.List' }, 'Title': 'New title' } ), headers: { “X-HTTP-Method”:”MERGE”, "accept": "application/json;odata=verbose", "content-type": "application/json;odata=verbose", "content-length":length of post body "X-RequestDigest": $("#__REQUESTDIGEST").val(), “IF-MATCH”: “*” }, success: doSuccess, error: doError });
  • 35. Putting it All Together for a Simple Example 35 1. Create a Document Library called Scripts and enable Versioning 2. Download a copy of jQuery and upload to Scripts library 3. Create a .txt file in your favorite code editor that contains or links to your HTML, CSS, and JavaScript 4. Add an empty Content Editor Web Part (CEWP) to any SharePoint Page where you would like to put your content 5. Configure Content Editor Web Part (CEWP) to point at .txt file with code
  • 37. 37 2 3 4 5 6 1
  • 38. 38
  • 41. Pro Tip! 41 Watch out for XML validation issues with your design: <open tag></close tag> = works <tag stuff /> = not so much
  • 42. Quick mock-up in Bootstrap 42
  • 43. Putting it All Together for a Simple Example 43 1. Create an empty .ASPX page in the Site Pages library with SharePoint Designer 2. Download Bootstrap files and copy to SharePoint library 3. Copy Bootstrap boilerplate HTML code into .ASPX page 4. Update HTML content placeholders to have unique Ids 5. Add JavaScript (equivalent to previous demo)
  • 46. 46 Training / Resources
  • 47. Books, books, and more books... 47
  • 48. © 2012 Slalom, LLC. All rights reserved. The information herein is for informational purposes only and represents the current view of Slalom, LLC. as of the date of this presentation. SLALOM MAKES NO WARRANTIES, EXPRESS, IMPLIED, OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

Hinweis der Redaktion

  1. Jared
  2. Conversation about upgrading SharePoint is a real pain..And you might be Microsoft MVP, Works for Rackspace SharePoint Admin Netcast Quick Todd Klindt shout-out – Mondays @ 8:30 PM CST – http://www.toddklindt.com
  3. All that server side code.. Branding Missing source code Elevation of privs to the farm account - can do whatever it wants Consumes less resources on the server (javascript) Brings down the environment – 55 WSP’s @ old company
  4. *** Back in the day the thinking was server side first, and client side “maybe” *** ** Today’s thinking – Client Side first ** If the answer is No – go client side.. Default client side – vs old model of defaulting server side
  5. Still Jared **
  6. Before we get into frameworks, let’s talk about Javascript. JavaScript is like that nerd (or maybe it was you) that asked you out a million times to prom. Long-term you know it would be good for you.. That nerd would grow up, get a great job, be able to provide for you.. By man oh man, did that C# Server Side code look good at the time.. You were a hot commodity, recruiters couldn’t throw money at you fast enough to churn out those webparts that displayed Dilbert cartoons, stock tickers, all that other nonsense. First class citizen in SHarePoint Development
  7. ***Thousands of JavaScript libraries / frameworks are available to facilitate development of JavaScript-based applications *** Wikipedia’s list of “notable” JavaScript libraries contains 65 items
  8. Chris starts speaking
  9. Chris speaks to this slide
  10. Chris speaks to this slide
  11. ** Chris is REST-less **
  12. Jared to hop in real quick
  13. Jared
  14. Jared
  15. Basically what you’re seeing here is SharePoint spitting back XML of all the Lists in the CTSPUG.ORG O365 site.. (plz don’t hack us)
  16. Chris picks it back up here
  17. ** Jared to talk ** Bootstrap is a combination of CSS & Javascript libraries
  18. Jared talking Bootstrap is a combination of CSS & Javascript libraries Good to get a quick nice visual - still requires effort
  19. You’ve seen it, and you might not even know it…
  20. **
  21. Chris speaking
  22. Jared / Chris both talk about books