HTML5 An Introduction Sascha P. Corti Developer Evangelist, Microsoft Switzerland [email protected] | blog | twitter.
Download ReportTranscript HTML5 An Introduction Sascha P. Corti Developer Evangelist, Microsoft Switzerland [email protected] | blog | twitter.
HTML5 An Introduction Sascha P. Corti Developer Evangelist, Microsoft Switzerland [email protected] | blog | twitter What is HTML5? HTML5… Is a draft specification from the W3C with over 1100 (printed) pages Adds new elements (canvas, video, audio, inline SVG…) Changes and removes some older elements and attributes (center, font…) Is NOT done yet! Keeps evolving. Is NOT (only) a Marketing Message The Map of HTML5 Specification Status May 2011 2014 HTML5 Today First Public Working Draft Working Draft Candidate Recommendation Last call (feature complete) Proposed Recommendation Call to implement http://www.w3.org/2011/02/htmlwg-pr.html Recommendation The Map of HTML5 First Public Working Draft Working Draft Last Call Candidate Recommendation Recommendation Dive into HTML5 HTML5 Markup <div id=mainContent> New Markup Elements Article, Section, Nav Aside, Hgroup, Header, Footer Figure, Figcaption Address <Canvas> <Audio> <Video> <article> …article text… HTML5 & SVG in Visual Studio http://visualstudiogallery.msdn.microsoft.com HTML 5 Intellisense for Visual Studio 2010 & 2008 CSS 3 Intellisense Schema Now included in Visual Studio 2010 SP1 demo HTML5 Markup Elements HTML5 <video> Video can be composited with anything else on the page HTML content, images, SVG graphics IE9: Hardware accelerated, GPU-based decoding Attributes src – specifies the location to pull the source file autoplay – if present starts playing as soon as it’s ready controls – if present displays controls preload – if present loads source at page load loop – if present loops back to the beginning of the video height & width – specifies the height & width of the player <video src="video.mp4" id="videoTag" width="640px" height="360px"> <!-- Only shown when browser doesn’t support video --> <!-- You Could Embed Flash or Silverlight Video Here --> </video> HTML5 <video> Format Support Ogg Theora H.264 VP8 (WebM) No 9.0 Using VP8 Codec installed by Chrome / WebM Components for IE9 (Preview) 3.5 No 4.0 3.0 Windows Media Player HTML5 Extension for Chrome on Win7] 6.0 No 3.1 Google announced a WebM plugin for Safari 10.50 No 10.60 http://en.wikipedia.org/wiki/HTML5_video Converting Videos Expression Media Encoder 4 Pro Transcoding Project Output Format: MP4 VLC Media Player (free download) Media Convert/Save Video: H.264 + AAC (MP4)” “Video: VP8 + Vorbis (Webm)” demo <video> http://www.youtube.com/watch?v=RfMSxf6P_AM HTML5 <audio> Industry-standard MP3 and AAC audio Fully scriptable via the DOM Attributes src – specifies the location to pull the source file autoplay – if present starts playing as soon as it’s ready controls – if present displays controls preload – if present loads source at page load <audio src="audio.mp3" id="audioTag" autoplay controls> <!-- Only shown when browser doesn’t support audio --> <!-- You could embed Flash or Silverlight audio here --> </audio> HTML5 <canvas> A block element that allows developers to draw 2d graphics using JavaScript. Methods for drawing include: paths, boxes, circles, text and rasterized images <canvas id="myCanvas" width="200" height="200"> Your browser doesn’t support the HTML5 canvas, sorry. </canvas> <script type="text/javascript"> var example = document.getElementById("myCanvas"); var context = example.getContext("2d"); context.fillStyle = "rgb(255,0,0)"; context.fillRect(30, 30, 50, 50); </script> demo <canvas> http://www.thekillersmusic.com/HTML5 HTML5 Tools & Frameworks Modernizr Feature Detection JavaScript library HTML5 or CSS3 features. Feature missing: Modernizr creates Fallback. jQuery JavaScript library for DOM Manipulation Event Handling, Animation, Document Traversing. Supported in Visual Studio. Easel.js JavaScript Library for building Canvas-Based Apps. Example: Pirates Love Daisies. includes concepts such as sprites, graphics, sparkles and game semantics. Ai2Canvas Export Adobe Illustrator Vector and Bitmap Artwork directly to HTML5 Canvas. Provides Drawing, Animation and Coding Options such as Events SVG Basic Shapes Paths Text Transforms Painting, Filling, Color Scripting Styling Gradients, Patterns Scalable Vector Graphics Create and draw 2D vector graphics using XML Vector images are composed of shapes instead of pixels Based on the SVG 1.1 2nd Edition Full specification Support for Full DOM access to SVG elements Document structure, scripting, styling, paths, shapes, colors, transforms, gradients, patterns, masking, clipping, markers, linking and views <svg width="400" height="200" xmlns="http://www.w3.org/2000/svg"> <rect fill="red" x="20" y="20" width="100" height="75" /> <rect fill="blue" x="50" y="50" width="100" height="75" /> </svg> 2 demo <SVG> http://en.wikipedia.org/wiki/United_states_of_america CSS Complete CSS 2.1 support Selectors Border Radius Backgrounds Color & Opacity WOFF Fonts Box Shadow 2D Transforms CSS3 Colors & Opacity CSS3 Color Alpha color with rgba() and hsla() color functions Transparency control with the opacity property CSS3 Backgrounds and Borders Round corners with the border-radius property Multiple background images per element box-shadow property on block elements div.top { background-color: rgba(0, 0, 0, 0.5); } div.bottom { background-color: hlsa(0, 0%, 0%, 0.5); } CSS3 Media Queries Selectively style page based on properties of the media <link href="DoNotDisplay.css" rel="stylesheet" media="screen and (max-width:1199px)" type="text/css" /> <link href="DoNotDisplay.css" rel="stylesheet" media="screen and (min-width:1301px)" type="text/css" /> <link href="Presentation.css" rel="stylesheet" media="screen and (min-width:1200px) and (max-width: 1300px)" type="text/css" /> Maxdesign: CSS3 Media Queries (SlideShare) New: @font-face & WOFF Fonts No longer limited to the “web safe” font list! Web Open Font Format allows you to package and deliver fonts as needed, per site Designed for web use with the @font-face declaration A simple repackaging of OpenType or TrueType font data From the W3C Fonts Working Group <style type="text/css"> @font-face { font-family:MyFontName; src: url('FontFile.woff'); } </style> <div style="font: 24pt MyFontName, sans-serif;"> This will render using the font in FontFile.woff </div> demo <CSS> http://www.nevermindthebullets.com/ DOM/ECMA Script 262 addEventListener GetElementByClassName New Array Methods indexOf, lastIndexOf, forEach, every Enhanced Object Model defineProperty, create, getPrototypeOf Computational Methods string.Trim, toISOString, data.parse, date.now, bind demo <ECMA Script 262> http://www.visitnmc.com/ Conclusion What about the other Specs? http://html5labs.interoperabilitybridges.com IndexedDB: W3C draft Web specification for the storage of large amounts of structured data in the browser, using indexes that allow for high performance searches on this data. WebSockets: Technology designed to simplify much of the complexity around bidirectional, full-duplex communications channels, over a single Transmission ControlProtocol (TCP) socket. Implemented in web browsers, web servers as well as used by any client or server application. Mobile: HTML5 or App? HTML5 a Solution to Homogenize Mobile Space? Users mostly still decide Pro App Added Interactivity Faster Start-Up More Network Independent Data Intense Interation Intense HTML5 or Plug-In based RIA? Plug-In based Today, Browsers should not require a Plug-In to play Multimedia Content. Today, Line-of-Business Applications with lots of Logic are very hard to write in JavaScript. Resources W3C HTML5 Working Group HTML5 Test Suite Conformance Results Microsoft IE Blog IE Test Drive IE Test Center HTML5 Gallery © 2011 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.