SlideShare una empresa de Scribd logo
1 de 41
HTML5, CSS3 and jQuery with
SharePoint 2010 – what you
can (and need to) start doing
now
MSPUG - May 2012
~ Chris O’Connor (OBS
About Me
 Senior Consultant at OBS
 Blog : www.sharepointroot.com
 Twitter : @GrumpyWookie
 Dad of three boys – and keen cyclist
 Let’s talk MTB (!)
Agenda
 HTML5 – what & why
 CSS3
 SharePoint 2010
 jQuery
 REST + JSON
 jQuery Templates
 SharePoint vNext (15/2013?)
History of the Web (HTML)
 HTML 3.2 and CSS 1.0 (~1997)
 Browser wars : Netscape vs. Internet Explorer
 HTML 4.01 and CSS 2.0 (~1999)
 Exit Netscape – Enter FireFox, Opera, Safari, etc.
 XHTML 1.0 and CSS 2.1 (~2000)
 HTML content pages written as valid XML documents
 HTML 5 and CSS 3.0 (~2005)
 Rejects the constraints added by XHTML
 New HTML elements, CSS properties and JavaScript APIs
** SharePoint 2010
Moving to HTML5
• Why ?
 HTML to work consistently across all modern
browsers
 Eliminate need for Flash, Silverlight, etc
 New JavaScript APIs
 Target mobile devices - CEO's iPad !!
• And, simply…
 New stuff that makes sense
 Evolution of the language of the web
A new simpler
DOCTYPE
A new semantic
element
A new functional
element
Example : HTML5
New HTML5 semantic tags
 Layout & structure
<header>
<nav>
<article>
<section>
<figure>
<dialog>
<aside>
<time>
<footer>
<header></header>
<nav></nav>
<footer></footer>
<article>
<section>
<h2></h2>
<p></p>
<p></p>
</section>
<section>
<h3></h3>
<p></p>
</section>
</article>
<aside>
<section>
</section>
</aside>
New HTML5 Functional Tags
 New Elements Provide Functional Behavior
<canvas>
<svg> [Scalable Vector Graphics – defined by XML]
<audio>
<video>
<source>
<command>
<datalist>
<embed>
<output>
New HTML5 Functional Tags
<input type=‘TYPE’ id=‘myField’ />
 New Types :
tel week
search time
url datetime-local
email number
datetime range
date color
month placeholder
New HTML5 Functions (API)
 Additional methods & functions (JavaScript)
 Geolocation
 Determine current location
 2D drawing
 Canvas – draw lines & graphics using JavaScript
 Drag and drop
 Images & attachments within browser
 <img draggable="true" />
 Web storage
 Key-value pair framework - like cookies, but much richer
(tastier ?)
 …. plus more
http://html5demos.com
New for CSS3
 Rounded corners
#example1 {border-radius: 15px;}
 Text shadow
#title{text-shadow: 2px 2px 2px #000;}
 Gradient
background: -ms-linear-gradient(top,
#2F2727, #1a82f7);
BUT…!
 “Modern” browsers support portions of HTML5
specification
 IE 9
 Google Chrome
 Mozilla Firefox v4
 Apple Safari v5 (iOS)
 Full HTML5 support across browsers
anticipated in “2022” !
 Need failback / other way to show if not
supported
 Avoid “if browser-x, then {aaaa}”
What about SharePoint 2010 ?
• HTML5 Master Page
• Include HTML5 tags
 ListView + XSLT to render HTML5
 Include in Content Editor WebPart (CEWP)
 Page Layout
• BUT – browser support always an issue
 Need to support IE8 and IE7
HTML5 + CSS3 + SharePoint
2010
DEMO
jQuery Fundamentals
• Designed to hide differences between browsers
 Eliminate browser-specific code
• Focuses on two primary tasks
 Retrieving sets of elements from HTML pages
 Performing operations on the elements within a set
• jQuery is a great alternative (safe bet)
 Compared to HTML5
 Browser support
jQuery and SharePoint 2010
• Load JavaScript to SharePoint
 Download jQuery (eg. jquery-1.7.1.min.js)
 STYLE LIBRARY
• Reference JavaScript file/s
 <SCRIPTLINK> tag – in feature
 <SCRIPT> tag reference – Master Page
• Or – directly within CEWP or XSLT
Feature to deploy jQuery
• Create a SharePoint project in Visual Studio
2010
 Create a site collection-scoped feature (i.e.
scope=site)
 Add a Module to deploy jQuery JavaScript files
 Eg. STYLE LIBRARY or SITE ASSETS
How to use jQuery
• JavaScript code
 CSS Selectors
 Action
<script>
$('#ContactName').html('Joe Smith');
</script>
 SELECT stuff…
 DO stuff…
 jQuery – should’ve been called jSelect (?)
jQuery Selectors
 jQuery leverages familiar CSS selector syntax
jQuery Actions
• Perform function/update to a piece of HTML
 html()
 addClass()
 attr()
 slideUp()
• Most jQuery object methods support
cascading calls
jQuery Events
• Document ready event handler
 Executed when DOM document is ready for
access
 Can also dynamically add events to DOM
 click()
 hover()
 keypress()
jQuery UI Library
• Pre-coded UI components
 Based on built-in theming scheme
• jQuery UI Widgets
 Auto-complete
 Date Picker
 Slider
 Progress Bar
 Tabs
 Accordion
 Dialog
http://jqueryui.com/
Demo
jQuery + SharePoint 2010
jQuery+ SharePoint 2010
DEMO
REST
• Previously had ASMX Web Services
 Eg. GetLists, etc
 Returns as XML data
 Difficult to construct + call (XML packet)
 New WCF REST’ful Web Services
 URL based query
 JSON data format returned
 JavaScript Object Notation
REST : using ListData.svc
Get all items in list
http://server/_vti_bin/ListData.svc
Returns all items in MyList
http://server/_vti_bin/ListData.svc/MyList
Returns all items in MyList ordered ascending by Title
http://server/_vti_bin/ListData.svc/MyList?$orderby=Title
Returns all items in MyList that has a column that equal to
'Music'
http://server/_vti_bin/ListData.svc/MyList?$filter=MyColumn
eq 'Music'
jQuery + REST
• jQuery provides methods to call across
network
 Call to REST-based Web services (ListData.svc)
 Delegate for OnSuccess + OnError
 Returns results in JSON format
jQuery+ REST + SharePoint
2010
DEMO
jQuery Templates
• Layout for displaying data collections rendered as
HTML
 Create layout within JavaScript
 using literal HTML and tokens
 Just like XSLT – only easier (!)
 Render data + layout
 tmpl() method
 Process template once for each item in collection
Bring it all together
 jQuery
 Call to REST web service
 REST
 SharePoint List Data
 JSON data returned
 jQuery Template
 HTML template
jQuery Templates
jQuery Templates
jQuery Templates
Demo
jQuery + REST + jQuery
Templates
SharePoint vNext
• Think more about dev. with client-side
 REST
 jQuery
 HTML5 ? Maybe – browser dependant
• Office 365
 Combined code-base w/ SharePoint 15
 SandBoxed Solutions – or Client Side
• Windows 8
 HTML+jQuery – apps
Confused ? Where to ?
• Long way before vNext is PROD everywhere
• Get started with jQuery
• Get started with REST
• HTML5
 Browser support – write-once, test-many
 Modernizr – JS library
 Sandboxed Solutions
 Next session – Elaine van Bergen
Summary
• HTML5 – what & why
• CSS3
• SharePoint 2010
• jQuery
• REST + JSON
• jQuery Templates
• SharePoint vNext (?)
• Question + Answer
References
 www.w3schools.com/html5
 html5demos.com
 jquery.com
 tutsplus.com/course/30-days-to-learn-jquery/
 Sends link to a video every day – learnt LOTS !
 SharePoint 2010 Developer Training Course
 msdn.microsoft.com/en-us/gg620703
Contact Details
 Chris O’Connor
 Senior Consultant, OBS
[email]
chris.oconnor@obs.com.au
[blog] www.sharepointroot.com
[twitter] @grumpywookie
 Come and say hello at the OBS booth – or UG
booth
Gold Sponsors
Bronze Sponsors Media Sponsors
Silver Sponsors

Más contenido relacionado

La actualidad más candente

HTML5 New Features and Resources
HTML5 New Features and ResourcesHTML5 New Features and Resources
HTML5 New Features and Resources
Ron Reiter
 
Spirit-teknologiapäivät Petri Niemi HTML5 & JavaScript Developereille
Spirit-teknologiapäivät Petri Niemi HTML5 & JavaScript DevelopereilleSpirit-teknologiapäivät Petri Niemi HTML5 & JavaScript Developereille
Spirit-teknologiapäivät Petri Niemi HTML5 & JavaScript Developereille
Tieturi Oy
 
WHAT IS HTML5? (at CSS Nite Osaka)
WHAT IS HTML5? (at CSS Nite Osaka)WHAT IS HTML5? (at CSS Nite Osaka)
WHAT IS HTML5? (at CSS Nite Osaka)
Shumpei Shiraishi
 

La actualidad más candente (20)

SPDY
SPDYSPDY
SPDY
 
HTML5 New Features and Resources
HTML5 New Features and ResourcesHTML5 New Features and Resources
HTML5 New Features and Resources
 
BP101: A Modernized Workflow w/ Domino/XPages
BP101: A Modernized Workflow w/ Domino/XPagesBP101: A Modernized Workflow w/ Domino/XPages
BP101: A Modernized Workflow w/ Domino/XPages
 
The Rich Standard: Getting Familiar with HTML5
The Rich Standard: Getting Familiar with HTML5The Rich Standard: Getting Familiar with HTML5
The Rich Standard: Getting Familiar with HTML5
 
MWLUG - Universal Java
MWLUG  -  Universal JavaMWLUG  -  Universal Java
MWLUG - Universal Java
 
Spirit-teknologiapäivät Petri Niemi HTML5 & JavaScript Developereille
Spirit-teknologiapäivät Petri Niemi HTML5 & JavaScript DevelopereilleSpirit-teknologiapäivät Petri Niemi HTML5 & JavaScript Developereille
Spirit-teknologiapäivät Petri Niemi HTML5 & JavaScript Developereille
 
Edge of the Web
Edge of the WebEdge of the Web
Edge of the Web
 
Making HTML5 Work Everywhere
Making HTML5 Work EverywhereMaking HTML5 Work Everywhere
Making HTML5 Work Everywhere
 
Tips for Building your First XPages Java Application
Tips for Building your First XPages Java ApplicationTips for Building your First XPages Java Application
Tips for Building your First XPages Java Application
 
WHAT IS HTML5? (at CSS Nite Osaka)
WHAT IS HTML5? (at CSS Nite Osaka)WHAT IS HTML5? (at CSS Nite Osaka)
WHAT IS HTML5? (at CSS Nite Osaka)
 
HTML5 in IE9
HTML5 in IE9HTML5 in IE9
HTML5 in IE9
 
IBM Domino Modernizing apps with Angularjs
IBM Domino Modernizing apps with AngularjsIBM Domino Modernizing apps with Angularjs
IBM Domino Modernizing apps with Angularjs
 
WordPress Theme Performance - WP Vienna meetup 8.6.2016
WordPress Theme Performance - WP Vienna meetup 8.6.2016WordPress Theme Performance - WP Vienna meetup 8.6.2016
WordPress Theme Performance - WP Vienna meetup 8.6.2016
 
Web components, so close!
Web components, so close!Web components, so close!
Web components, so close!
 
Upgrading to Drupal 8: Benefits and Gotchas
Upgrading to Drupal 8: Benefits and GotchasUpgrading to Drupal 8: Benefits and Gotchas
Upgrading to Drupal 8: Benefits and Gotchas
 
Html 5 introduction
Html 5 introductionHtml 5 introduction
Html 5 introduction
 
HTML5--The 30,000' View (A fast-paced overview of HTML5)
HTML5--The 30,000' View (A fast-paced overview of HTML5)HTML5--The 30,000' View (A fast-paced overview of HTML5)
HTML5--The 30,000' View (A fast-paced overview of HTML5)
 
Everything XControls
Everything XControlsEverything XControls
Everything XControls
 
Get Involved with WordPress
Get Involved with WordPressGet Involved with WordPress
Get Involved with WordPress
 
Getting Started with HTML5 in Tech Com (STC 2012)
Getting Started with HTML5 in Tech Com (STC 2012)Getting Started with HTML5 in Tech Com (STC 2012)
Getting Started with HTML5 in Tech Com (STC 2012)
 

Similar a 2012 - HTML5, CSS3 and jQuery with SharePoint 2010

SoCal Code Camp 2011 - ASP.NET MVC 4
SoCal Code Camp 2011 - ASP.NET MVC 4SoCal Code Camp 2011 - ASP.NET MVC 4
SoCal Code Camp 2011 - ASP.NET MVC 4
Jon Galloway
 

Similar a 2012 - HTML5, CSS3 and jQuery with SharePoint 2010 (20)

HTML5 Bootcamp: Essential HTML, CSS, & JavaScript
HTML5 Bootcamp: Essential HTML, CSS, & JavaScriptHTML5 Bootcamp: Essential HTML, CSS, & JavaScript
HTML5 Bootcamp: Essential HTML, CSS, & JavaScript
 
A Beginner's Guide to Client Side Development with Javascript
A Beginner's Guide to Client Side Development with JavascriptA Beginner's Guide to Client Side Development with Javascript
A Beginner's Guide to Client Side Development with Javascript
 
Demystifying HTML5
Demystifying HTML5Demystifying HTML5
Demystifying HTML5
 
Push it to the Edge
Push it to the EdgePush it to the Edge
Push it to the Edge
 
HTML5: An Overview
HTML5: An OverviewHTML5: An Overview
HTML5: An Overview
 
JavaScript front end performance optimizations
JavaScript front end performance optimizationsJavaScript front end performance optimizations
JavaScript front end performance optimizations
 
TypeScript and SharePoint Framework
TypeScript and SharePoint FrameworkTypeScript and SharePoint Framework
TypeScript and SharePoint Framework
 
Html5
Html5Html5
Html5
 
Spsmi13 charts
Spsmi13 chartsSpsmi13 charts
Spsmi13 charts
 
What is HTML 5?
What is HTML 5?What is HTML 5?
What is HTML 5?
 
Building intranet applications with ASP.NET AJAX and jQuery
Building intranet applications with ASP.NET AJAX and jQueryBuilding intranet applications with ASP.NET AJAX and jQuery
Building intranet applications with ASP.NET AJAX and jQuery
 
Familiar HTML5 - 事例とサンプルコードから学ぶ 身近で普通に使わているHTML5
Familiar HTML5 - 事例とサンプルコードから学ぶ 身近で普通に使わているHTML5Familiar HTML5 - 事例とサンプルコードから学ぶ 身近で普通に使わているHTML5
Familiar HTML5 - 事例とサンプルコードから学ぶ 身近で普通に使わているHTML5
 
The SharePoint & jQuery Guide
The SharePoint & jQuery GuideThe SharePoint & jQuery Guide
The SharePoint & jQuery Guide
 
The SharePoint and jQuery Guide by Mark Rackley - SPTechCon
The SharePoint and jQuery Guide by Mark Rackley - SPTechConThe SharePoint and jQuery Guide by Mark Rackley - SPTechCon
The SharePoint and jQuery Guide by Mark Rackley - SPTechCon
 
2011 - SharePoint + jQuery
2011 - SharePoint + jQuery2011 - SharePoint + jQuery
2011 - SharePoint + jQuery
 
SoCal Code Camp 2011 - ASP.NET MVC 4
SoCal Code Camp 2011 - ASP.NET MVC 4SoCal Code Camp 2011 - ASP.NET MVC 4
SoCal Code Camp 2011 - ASP.NET MVC 4
 
The SharePoint & jQuery Guide - Updated 1/14/14
The SharePoint & jQuery Guide - Updated 1/14/14The SharePoint & jQuery Guide - Updated 1/14/14
The SharePoint & jQuery Guide - Updated 1/14/14
 
2011 - SharePoint + jQuery
2011 - SharePoint + jQuery2011 - SharePoint + jQuery
2011 - SharePoint + jQuery
 
いま使われているHTML5と、これからのHTML5
いま使われているHTML5と、これからのHTML5いま使われているHTML5と、これからのHTML5
いま使われているHTML5と、これからのHTML5
 
Html5 & less css
Html5 & less cssHtml5 & less css
Html5 & less css
 

Más de Chris O'Connor (9)

Developing Mobile Apps with Office365
Developing Mobile Apps with Office365Developing Mobile Apps with Office365
Developing Mobile Apps with Office365
 
2011 - From Zero to productivity (Tech Ed 2011)
2011 - From Zero to productivity (Tech Ed 2011)2011 - From Zero to productivity (Tech Ed 2011)
2011 - From Zero to productivity (Tech Ed 2011)
 
2011 - jQuery + SharePoint (TechEd)
2011 - jQuery + SharePoint (TechEd)2011 - jQuery + SharePoint (TechEd)
2011 - jQuery + SharePoint (TechEd)
 
2011 - Adding bells & whistles to the ribbon
2011 - Adding bells & whistles to the ribbon2011 - Adding bells & whistles to the ribbon
2011 - Adding bells & whistles to the ribbon
 
2010 - Developer look at the Client Object Model
2010 - Developer look at the Client Object Model2010 - Developer look at the Client Object Model
2010 - Developer look at the Client Object Model
 
2013 - Back to the Future with Client/Server Development
2013 - Back to the Future with Client/Server Development 2013 - Back to the Future with Client/Server Development
2013 - Back to the Future with Client/Server Development
 
2015 - PowerShell, C# and JavaScript for Office 365
2015 - PowerShell, C# and JavaScript for Office 3652015 - PowerShell, C# and JavaScript for Office 365
2015 - PowerShell, C# and JavaScript for Office 365
 
2014 - The Future Of Forms (InfoPath)
2014 - The Future Of Forms (InfoPath)2014 - The Future Of Forms (InfoPath)
2014 - The Future Of Forms (InfoPath)
 
2014 - Integrating Yammer with SharePoint
2014 - Integrating Yammer with SharePoint2014 - Integrating Yammer with SharePoint
2014 - Integrating Yammer with SharePoint
 

Último

Último (20)

AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 

2012 - HTML5, CSS3 and jQuery with SharePoint 2010

  • 1. HTML5, CSS3 and jQuery with SharePoint 2010 – what you can (and need to) start doing now MSPUG - May 2012 ~ Chris O’Connor (OBS
  • 2. About Me  Senior Consultant at OBS  Blog : www.sharepointroot.com  Twitter : @GrumpyWookie  Dad of three boys – and keen cyclist  Let’s talk MTB (!)
  • 3. Agenda  HTML5 – what & why  CSS3  SharePoint 2010  jQuery  REST + JSON  jQuery Templates  SharePoint vNext (15/2013?)
  • 4. History of the Web (HTML)  HTML 3.2 and CSS 1.0 (~1997)  Browser wars : Netscape vs. Internet Explorer  HTML 4.01 and CSS 2.0 (~1999)  Exit Netscape – Enter FireFox, Opera, Safari, etc.  XHTML 1.0 and CSS 2.1 (~2000)  HTML content pages written as valid XML documents  HTML 5 and CSS 3.0 (~2005)  Rejects the constraints added by XHTML  New HTML elements, CSS properties and JavaScript APIs ** SharePoint 2010
  • 5. Moving to HTML5 • Why ?  HTML to work consistently across all modern browsers  Eliminate need for Flash, Silverlight, etc  New JavaScript APIs  Target mobile devices - CEO's iPad !! • And, simply…  New stuff that makes sense  Evolution of the language of the web
  • 6. A new simpler DOCTYPE A new semantic element A new functional element Example : HTML5
  • 7. New HTML5 semantic tags  Layout & structure <header> <nav> <article> <section> <figure> <dialog> <aside> <time> <footer> <header></header> <nav></nav> <footer></footer> <article> <section> <h2></h2> <p></p> <p></p> </section> <section> <h3></h3> <p></p> </section> </article> <aside> <section> </section> </aside>
  • 8. New HTML5 Functional Tags  New Elements Provide Functional Behavior <canvas> <svg> [Scalable Vector Graphics – defined by XML] <audio> <video> <source> <command> <datalist> <embed> <output>
  • 9. New HTML5 Functional Tags <input type=‘TYPE’ id=‘myField’ />  New Types : tel week search time url datetime-local email number datetime range date color month placeholder
  • 10. New HTML5 Functions (API)  Additional methods & functions (JavaScript)  Geolocation  Determine current location  2D drawing  Canvas – draw lines & graphics using JavaScript  Drag and drop  Images & attachments within browser  <img draggable="true" />  Web storage  Key-value pair framework - like cookies, but much richer (tastier ?)  …. plus more http://html5demos.com
  • 11. New for CSS3  Rounded corners #example1 {border-radius: 15px;}  Text shadow #title{text-shadow: 2px 2px 2px #000;}  Gradient background: -ms-linear-gradient(top, #2F2727, #1a82f7);
  • 12. BUT…!  “Modern” browsers support portions of HTML5 specification  IE 9  Google Chrome  Mozilla Firefox v4  Apple Safari v5 (iOS)  Full HTML5 support across browsers anticipated in “2022” !  Need failback / other way to show if not supported  Avoid “if browser-x, then {aaaa}”
  • 13. What about SharePoint 2010 ? • HTML5 Master Page • Include HTML5 tags  ListView + XSLT to render HTML5  Include in Content Editor WebPart (CEWP)  Page Layout • BUT – browser support always an issue  Need to support IE8 and IE7
  • 14. HTML5 + CSS3 + SharePoint 2010 DEMO
  • 15. jQuery Fundamentals • Designed to hide differences between browsers  Eliminate browser-specific code • Focuses on two primary tasks  Retrieving sets of elements from HTML pages  Performing operations on the elements within a set • jQuery is a great alternative (safe bet)  Compared to HTML5  Browser support
  • 16. jQuery and SharePoint 2010 • Load JavaScript to SharePoint  Download jQuery (eg. jquery-1.7.1.min.js)  STYLE LIBRARY • Reference JavaScript file/s  <SCRIPTLINK> tag – in feature  <SCRIPT> tag reference – Master Page • Or – directly within CEWP or XSLT
  • 17. Feature to deploy jQuery • Create a SharePoint project in Visual Studio 2010  Create a site collection-scoped feature (i.e. scope=site)  Add a Module to deploy jQuery JavaScript files  Eg. STYLE LIBRARY or SITE ASSETS
  • 18. How to use jQuery • JavaScript code  CSS Selectors  Action <script> $('#ContactName').html('Joe Smith'); </script>  SELECT stuff…  DO stuff…  jQuery – should’ve been called jSelect (?)
  • 19. jQuery Selectors  jQuery leverages familiar CSS selector syntax
  • 20. jQuery Actions • Perform function/update to a piece of HTML  html()  addClass()  attr()  slideUp() • Most jQuery object methods support cascading calls
  • 21. jQuery Events • Document ready event handler  Executed when DOM document is ready for access  Can also dynamically add events to DOM  click()  hover()  keypress()
  • 22. jQuery UI Library • Pre-coded UI components  Based on built-in theming scheme • jQuery UI Widgets  Auto-complete  Date Picker  Slider  Progress Bar  Tabs  Accordion  Dialog http://jqueryui.com/
  • 25. REST • Previously had ASMX Web Services  Eg. GetLists, etc  Returns as XML data  Difficult to construct + call (XML packet)  New WCF REST’ful Web Services  URL based query  JSON data format returned  JavaScript Object Notation
  • 26. REST : using ListData.svc Get all items in list http://server/_vti_bin/ListData.svc Returns all items in MyList http://server/_vti_bin/ListData.svc/MyList Returns all items in MyList ordered ascending by Title http://server/_vti_bin/ListData.svc/MyList?$orderby=Title Returns all items in MyList that has a column that equal to 'Music' http://server/_vti_bin/ListData.svc/MyList?$filter=MyColumn eq 'Music'
  • 27. jQuery + REST • jQuery provides methods to call across network  Call to REST-based Web services (ListData.svc)  Delegate for OnSuccess + OnError  Returns results in JSON format
  • 28. jQuery+ REST + SharePoint 2010 DEMO
  • 29. jQuery Templates • Layout for displaying data collections rendered as HTML  Create layout within JavaScript  using literal HTML and tokens  Just like XSLT – only easier (!)  Render data + layout  tmpl() method  Process template once for each item in collection
  • 30. Bring it all together  jQuery  Call to REST web service  REST  SharePoint List Data  JSON data returned  jQuery Template  HTML template
  • 34.
  • 35. Demo jQuery + REST + jQuery Templates
  • 36. SharePoint vNext • Think more about dev. with client-side  REST  jQuery  HTML5 ? Maybe – browser dependant • Office 365  Combined code-base w/ SharePoint 15  SandBoxed Solutions – or Client Side • Windows 8  HTML+jQuery – apps
  • 37. Confused ? Where to ? • Long way before vNext is PROD everywhere • Get started with jQuery • Get started with REST • HTML5  Browser support – write-once, test-many  Modernizr – JS library  Sandboxed Solutions  Next session – Elaine van Bergen
  • 38. Summary • HTML5 – what & why • CSS3 • SharePoint 2010 • jQuery • REST + JSON • jQuery Templates • SharePoint vNext (?) • Question + Answer
  • 39. References  www.w3schools.com/html5  html5demos.com  jquery.com  tutsplus.com/course/30-days-to-learn-jquery/  Sends link to a video every day – learnt LOTS !  SharePoint 2010 Developer Training Course  msdn.microsoft.com/en-us/gg620703
  • 40. Contact Details  Chris O’Connor  Senior Consultant, OBS [email] chris.oconnor@obs.com.au [blog] www.sharepointroot.com [twitter] @grumpywookie  Come and say hello at the OBS booth – or UG booth
  • 41. Gold Sponsors Bronze Sponsors Media Sponsors Silver Sponsors

Notas del editor

  1. Chris O’Connor (OBS) chris.oconnor@obs.com.au
  2. HTML5 example – sample ‘page’ – not necessarily ASP.NET or SharePoint – but just as an example
  3. Good description : http://www.ibm.com/developerworks/library/x-html5/
  4. EXAMPLES : <input list="browsers" name="browser" /> <datalist id="browsers"> <option value="Internet Explorer"> <option value="Firefox"> <option value="Google Chrome"> <option value="Opera"> <option value="Safari"> </datalist>   <video width="320" height="240" controls="controls">   <source src="movie.mp4" type="video/mp4" />   <source src="movie.ogg" type="video/ogg" />   <source src="movie.webm" type="video/webm" /> <i>Your browser does not support the video tag.</i> </video> <canvas id="myCanvas" width="200" height="100" style="border:1px solid #c3c3c3;"> Your browser does not support the canvas element. </canvas> <script type="text/javascript"> var c=document.getElementById("myCanvas"); var ctx=c.getContext("2d"); ctx.fillStyle="#FF0000"; ctx.fillRect(0,0,150,75); </script>
  5. Drag + drop to document library – in SharePoint vNext – wouldn’t that be cool ?!?
  6. Other links : http://www.css3.info/preview/multiple-backgrounds/ http://css-tricks.com/examples/CSS3Gradient/
  7. Master page – using Header, Nav, Content, Footer
  8. REST = Representational state transfer JSON = JavaScript Object Notation
  9. Turn off feed view http://www.walkernews.net/2007/03/25/ie-7-xml-feed-display-rss-feed-validation/ Comes back as RSS feed – need to view as XML