SlideShare a Scribd company logo
1 of 14
HTML5: Next Generation Web Development




                         Tilak Joshi
                         Senior Web Architect
                         NASA Goddard Space Flight Center (Contractor)
                         August 17th 2011
What is HTML5?
“HTML5 is a language for structuring and presenting content for the World Wide Web, a core technology of the Internet. It is the fifth
 revision of the HTML standard (originally created in 1990 and most recently standardized as HTML4 in 1997[1]) and as of August 2011[update]
 is still under development. Its core aims have been to improve the language with support for the latest multimedia while keeping it easily
 readable by humans and consistently understood by computers and devices (web browsers, parsers etc.). HTML5 is intended to subsume
 not only HTML4, but XHTML1 and DOM2HTML (particularly JavaScript) as well.[1]” – Wikipedia
What is HTML5?
HTML5 is the up and coming standard for next generation web development. It reduces focus on syntax and
increases focus on features. It was created by developers and browsers to facilitate web programming and increase
focus on more dynamic content.

Included Features
• New Elements ( <article>,<section>,<aside>,<nav>, etc.)
• Native Audio/Video Support
• Drawing APIs (Canvas, SVG, MathML, WebGL)
• Geolocation
• Drag and Drop
• Web Forms 2.0
• Microdata
• Local Storage
• Web Sockets
• Web Workers

Fun Facts
• HTML5 is the brainchild of WHATWG and was adopted by the W3C after much hesitation
• Apple’s ongoing battle with Adobe was sparked by Apple choosing to support HTML5 over Flash
• Contrary to popular belief, almost all current browsers provide support for most HTML5 features
                                                                                                    Official HTML5 Logo
New Elements in HTML5
All new tags maintain the same style and element properties as <div> but have special meaning and possibly
special interpretations by markup readers (crawlers) or browsers. When declaring these tags, in order to maintain
backwards compatibility, style them as display:block in your stylesheet or internal style.

These are most of the more important tags:

• <article> – external content (news articles, blogs, etc)
• <section> – sections of the web page (can contain multiple <article> tags)
• <aside> - content related to, but not part of, the primary content
• <nav>,<menu> - the primary navigation, any subnavigation
• <header> - section before body, at the beginning of the page
• <footer> - section after body, at the end of the page
• <hgroup> - a group of headers (<h1> to <h6> tags)
• <time> - a date or time
• <figure>,<figcaption> - a figure and a caption describing it (could be a video or image)
Native Audio/Video Support
Current versions of browsers support audio/video, basic controls, a poster for video, duration hint, and more. They
allow VP8, H.264, and OGG formats depending on browser, and allow you to specify a codec in the declaration.

Code (Video):
<video id="video1" width="480" height="260" poster=”firstframe.jpg" durationHint=”59" >
      <source type="video/webm" src=“vid.webm" />
      <source src=“vid.mp4"/>
      <source src=“vid.ogv" />
      <p>Error: video not supported</p>
</video>


Code (Audio):
<audio src="song.ogg" controls="controls">
      Your browser does not support the audio element.
</audio>


Supported Formats (video; audio):
Mozilla Firefox – OGG, VP8; OGG, WAV
Internet Explorer – H.264 natively, OGG and VP8 with manual install; MP3 WAV
Google Chrome – OGG, H.264 (to be discontinued), VP8; OGG, WAV
Apple Safari – H.264 natively, OGG and VP8 with manual install; MP3, WAV
Opera – OGG, VP8; OGG, WAV
Drawing API
HTML5 supports many different APIs for drawing, eliminating the need for Flash, SilverLight, or other third-party
tools. Currently supported APIs include Canvas and SVG. Partially supported APIs include MathML and WebGL.

Canvas:
HTML
<canvas id=”canvas1" width=”600" height="200"> </canvas>

JavaScript
window.onload = function(){
      var canvas = document.getElementById("myCanvas");
      var context = canvas.getContext("2d");
      context.moveTo(100, 150);
      context.lineTo(450, 50);
      context.lineWidth = 10;
      context.strokeStyle = "#ff0000"; // line color
      context.stroke();
};



SVG:
HTML
<svg id=”svg1” xmlns="http://www.w3.org/2000/svg">
       <circle id=”circle1" cx="50" cy="50" r="50" fill="red" />
</svg>
Geolocation
Geolocation provides the user’s location. This is the closest position the User Agent can obtain, which in the case of a GPS
enabled device is exact, and in the case of non-GPS enabled device is the location from the IP address, closest cell phone
tower, or wireless network connection.

Code:
function get_location() {
      navigator.geolocation.getCurrentPosition( handlePosition );
}

function handlePosition(position){
      var longitude = position.coords.longitude;
      var latitude = position.coords.latitude;

        // use this info
}

Properties:
coords.latitude – decimal degrees
coords.longitude – decimal degrees
coords.altitude - meters
coords.accuracy - meters
coords.speed – meters/second
coords.altitudeAccuracy - meters
coords.heading – degrees clockwise from true north
timestamp – Date() Object

Warning:
User has to allow the browser to share their location. It is good practice to not to depend on this data.
Drag and Drop
Drag and Drop is natively allowed by overriding the default browser event of objects snapping back in place.

Code:
HTML
<div id=‘drag1’ draggable=‘true’>I’m Drag1</div>
<div id=‘drag2’ draggable=‘true’>I’m Drag2</div>
<div id=‘dropArea’ ></div>

JavaScript
function allowDrop(e){
      if(e.preventDefault){
            e.preventDefault();
      }
      return false;
}
var dropArea = document.getElementById(‘dropArea’);
dropArea.ondragenter = allowDrop;
dropArea.ondragover = allowDrop;


New Events:
ondragstart – when the draggable item begins to get dragged
ondragenter – when the draggable item enters the droppable area
ondragover – when the draggable item is in the droppable area
ondrop – when the draggable item is dropped
Web Forms 2.0
HTML5 has taken the more common recent input fields and officially standardized them. It provides browser built-
in GUI and basic validation as required.

New Input Types:
email – current validation checks for ‘@’ sign and ‘.’
url – current validation checks for ‘.’
number – provides up and down arrows on the gui, and validates for a number
range – provides a slider on the gui, and validates for a number
date (date, month, week, time, datetime, datetime-local) – shows a picker
search – currently behaves like a regular ‘text’ field
color – provides a color picker on the gui


New Input Type Attributes:
min – min for the number (works for number and range types)
max – max for the number (works for number and range types)
step – step increment for the number (works for number and range types)


Notes:
Support is currently limited, but coming soon. It is encouraged to use it with shims and polyfills as support comes soon. There will be
variation in the GUI and validation as each browser can handle the look and feel of the additional displayed features and the exact
validation.
Additional Features
Microdata, Local Storage, and Web Workers are some of the additional features available in HTML5.

Microdata:
Specifies additional markup language, as per the specified namespace, to identify reviews, recipes, authors, businesses, products, and other
information. This is most useful for screen readers like Google’s crawler to read and identify your content more accurately.


Local Storage:
Information can be stored in the browser without using cookies. This is less overhead and easy access to a lot of data in JSON format but it
is not safe for secure data.


Web Workers:
This is a method for running javascript concurrently and making use of multiple processor CPUs.


Additional Features:
WebSockets, native JSON functions, Cross Domain Requests using AJAX
Backwards Compatibility
Polyfills or polyfiller or shim, is a piece of code (or plugin) that provides the technology that you, the developer, expect the
browser to provide natively. Flattening the API landscape if you will. They can use third party technologies like Flash, SilverLight,
or JavaScript and JQuery libraries.

Modernizr:
Modernizr.load({
       test: Modernizr.geolocation,
       yep : 'geo.js',
       nope: 'geo-polyfill.js'
});


WebShims:
WebShims is a JavaScript library built on JQuery that provides polyfills for the most commonly used HTML5 features.
$.webshims.setOptions('canvas', { type: 'flashpro' //excanvas | flash | flashpro });



Notes:
There are polyfills available for every feature that I have covered and many more. These polyfills support browsers starting from IE6+,
Firefox 3+ and more. This is a quick and easy method that increases browser compatibility until all browsers have full support for HTML5.
Future versions of Modernizr 2.0 will have WebShims built in.
508 Compliance
HTML5 does not hinder 508 compliance as everything that is visual does not apply, and everything that is not has
similar fallbacks as HTML4 or XHTML (i.e. title tags, labels for inputs). The more descriptive tags and microdata
allow a possibility for many 508 enhancements in the future.



•All new elements available in HTML5 are the equivalent of HTML divs and can handle the ‘title’ attribute

• The media-rich enhancements are just that, ‘enhancements.’ There should be text counterparts for functionality

• Microdata offers better compliance options in the future

• Better tag structure offers more options for future screen readers for compliance
Extras: CSS3 Additions
New attributes:
•   border-image
•   border-radius
•   @font-family
•   box-shadow
•   text-shadow


Browser specific attributes:
• -moz (Mozilla Browsers)
• -o (Mozilla Browsers)
• -webkit (Mozilla Browsers)
Questions?

More Related Content

What's hot

Building Real-World Dojo Web Applications
Building Real-World Dojo Web ApplicationsBuilding Real-World Dojo Web Applications
Building Real-World Dojo Web ApplicationsAndrew Ferrier
 
JavaONE 2012 Using Java with HTML5 and CSS3
JavaONE 2012 Using Java with HTML5 and CSS3JavaONE 2012 Using Java with HTML5 and CSS3
JavaONE 2012 Using Java with HTML5 and CSS3Helder da Rocha
 
jQuery: The World's Most Popular JavaScript Library Comes to XPages
jQuery: The World's Most Popular JavaScript Library Comes to XPagesjQuery: The World's Most Popular JavaScript Library Comes to XPages
jQuery: The World's Most Popular JavaScript Library Comes to XPagesTeamstudio
 
Using Web Standards to create Interactive Data Visualizations for the Web
Using Web Standards to create Interactive Data Visualizations for the WebUsing Web Standards to create Interactive Data Visualizations for the Web
Using Web Standards to create Interactive Data Visualizations for the Webphilogb
 
Dynamic User Interfaces for Desktop and Mobile
Dynamic User Interfaces for Desktop and MobileDynamic User Interfaces for Desktop and Mobile
Dynamic User Interfaces for Desktop and Mobilepeychevi
 
Brave new world of HTML5 - Interlink Conference Vancouver 04.06.2011
Brave new world of HTML5 - Interlink Conference Vancouver 04.06.2011Brave new world of HTML5 - Interlink Conference Vancouver 04.06.2011
Brave new world of HTML5 - Interlink Conference Vancouver 04.06.2011Patrick Lauke
 
Dojo - from web page to web apps
Dojo - from web page to web appsDojo - from web page to web apps
Dojo - from web page to web appsyoavrubin
 
Web Components v1
Web Components v1Web Components v1
Web Components v1Mike Wilcox
 
jQuery Comes to XPages
jQuery Comes to XPagesjQuery Comes to XPages
jQuery Comes to XPagesTeamstudio
 
Rich internet application development using the dojo toolkit
Rich internet application development using the dojo toolkitRich internet application development using the dojo toolkit
Rich internet application development using the dojo toolkitalexklaeser
 
Great Responsive-ability Web Design
Great Responsive-ability Web DesignGreat Responsive-ability Web Design
Great Responsive-ability Web DesignMike Wilcox
 
Google Dev Day2007
Google Dev Day2007Google Dev Day2007
Google Dev Day2007lucclaes
 
Familiar HTML5 - 事例とサンプルコードから学ぶ 身近で普通に使わているHTML5
Familiar HTML5 - 事例とサンプルコードから学ぶ 身近で普通に使わているHTML5Familiar HTML5 - 事例とサンプルコードから学ぶ 身近で普通に使わているHTML5
Familiar HTML5 - 事例とサンプルコードから学ぶ 身近で普通に使わているHTML5Sadaaki HIRAI
 
It is not HTML5. but ... / HTML5ではないサイトからHTML5を考える
It is not HTML5. but ... / HTML5ではないサイトからHTML5を考えるIt is not HTML5. but ... / HTML5ではないサイトからHTML5を考える
It is not HTML5. but ... / HTML5ではないサイトからHTML5を考えるSadaaki HIRAI
 
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)Peter Lubbers
 
CiklumJavaSat15112011:Andrew Mormysh-GWT features overview
CiklumJavaSat15112011:Andrew Mormysh-GWT features overviewCiklumJavaSat15112011:Andrew Mormysh-GWT features overview
CiklumJavaSat15112011:Andrew Mormysh-GWT features overviewCiklum Ukraine
 
HTML5ではないサイトを HTML5へ - Change HTML5 from Not HTML5.
HTML5ではないサイトを HTML5へ - Change HTML5 from Not HTML5.HTML5ではないサイトを HTML5へ - Change HTML5 from Not HTML5.
HTML5ではないサイトを HTML5へ - Change HTML5 from Not HTML5.Sadaaki HIRAI
 

What's hot (20)

Word camp nextweb
Word camp nextwebWord camp nextweb
Word camp nextweb
 
Building Real-World Dojo Web Applications
Building Real-World Dojo Web ApplicationsBuilding Real-World Dojo Web Applications
Building Real-World Dojo Web Applications
 
JavaONE 2012 Using Java with HTML5 and CSS3
JavaONE 2012 Using Java with HTML5 and CSS3JavaONE 2012 Using Java with HTML5 and CSS3
JavaONE 2012 Using Java with HTML5 and CSS3
 
jQuery: The World's Most Popular JavaScript Library Comes to XPages
jQuery: The World's Most Popular JavaScript Library Comes to XPagesjQuery: The World's Most Popular JavaScript Library Comes to XPages
jQuery: The World's Most Popular JavaScript Library Comes to XPages
 
Using Web Standards to create Interactive Data Visualizations for the Web
Using Web Standards to create Interactive Data Visualizations for the WebUsing Web Standards to create Interactive Data Visualizations for the Web
Using Web Standards to create Interactive Data Visualizations for the Web
 
Edge of the Web
Edge of the WebEdge of the Web
Edge of the Web
 
Html5 more than just html5 v final
Html5  more than just html5 v finalHtml5  more than just html5 v final
Html5 more than just html5 v final
 
Dynamic User Interfaces for Desktop and Mobile
Dynamic User Interfaces for Desktop and MobileDynamic User Interfaces for Desktop and Mobile
Dynamic User Interfaces for Desktop and Mobile
 
Brave new world of HTML5 - Interlink Conference Vancouver 04.06.2011
Brave new world of HTML5 - Interlink Conference Vancouver 04.06.2011Brave new world of HTML5 - Interlink Conference Vancouver 04.06.2011
Brave new world of HTML5 - Interlink Conference Vancouver 04.06.2011
 
Dojo - from web page to web apps
Dojo - from web page to web appsDojo - from web page to web apps
Dojo - from web page to web apps
 
Web Components v1
Web Components v1Web Components v1
Web Components v1
 
jQuery Comes to XPages
jQuery Comes to XPagesjQuery Comes to XPages
jQuery Comes to XPages
 
Rich internet application development using the dojo toolkit
Rich internet application development using the dojo toolkitRich internet application development using the dojo toolkit
Rich internet application development using the dojo toolkit
 
Great Responsive-ability Web Design
Great Responsive-ability Web DesignGreat Responsive-ability Web Design
Great Responsive-ability Web Design
 
Google Dev Day2007
Google Dev Day2007Google Dev Day2007
Google Dev Day2007
 
Familiar HTML5 - 事例とサンプルコードから学ぶ 身近で普通に使わているHTML5
Familiar HTML5 - 事例とサンプルコードから学ぶ 身近で普通に使わているHTML5Familiar HTML5 - 事例とサンプルコードから学ぶ 身近で普通に使わているHTML5
Familiar HTML5 - 事例とサンプルコードから学ぶ 身近で普通に使わているHTML5
 
It is not HTML5. but ... / HTML5ではないサイトからHTML5を考える
It is not HTML5. but ... / HTML5ではないサイトからHTML5を考えるIt is not HTML5. but ... / HTML5ではないサイトからHTML5を考える
It is not HTML5. but ... / HTML5ではないサイトからHTML5を考える
 
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)
 
CiklumJavaSat15112011:Andrew Mormysh-GWT features overview
CiklumJavaSat15112011:Andrew Mormysh-GWT features overviewCiklumJavaSat15112011:Andrew Mormysh-GWT features overview
CiklumJavaSat15112011:Andrew Mormysh-GWT features overview
 
HTML5ではないサイトを HTML5へ - Change HTML5 from Not HTML5.
HTML5ではないサイトを HTML5へ - Change HTML5 from Not HTML5.HTML5ではないサイトを HTML5へ - Change HTML5 from Not HTML5.
HTML5ではないサイトを HTML5へ - Change HTML5 from Not HTML5.
 

Similar to HTML5: An Introduction To Next Generation Web Development

Similar to HTML5: An Introduction To Next Generation Web Development (20)

Html5
Html5Html5
Html5
 
5. HTML5
5. HTML55. HTML5
5. HTML5
 
WordCamp Thessaloniki2011 The NextWeb
WordCamp Thessaloniki2011 The NextWebWordCamp Thessaloniki2011 The NextWeb
WordCamp Thessaloniki2011 The NextWeb
 
Word camp nextweb
Word camp nextwebWord camp nextweb
Word camp nextweb
 
Html5 Future of WEB
Html5 Future of WEBHtml5 Future of WEB
Html5 Future of WEB
 
HTML5 introduction for beginners
HTML5 introduction for beginnersHTML5 introduction for beginners
HTML5 introduction for beginners
 
Html5 overview
Html5 overviewHtml5 overview
Html5 overview
 
Html5 Basics
Html5 BasicsHtml5 Basics
Html5 Basics
 
HTML5 Presentation
HTML5 PresentationHTML5 Presentation
HTML5 Presentation
 
HTML 5
HTML 5HTML 5
HTML 5
 
HTML 5
HTML 5HTML 5
HTML 5
 
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)
 
Html 5
Html 5Html 5
Html 5
 
What is HTML 5?
What is HTML 5?What is HTML 5?
What is HTML 5?
 
IJCER (www.ijceronline.com) International Journal of computational Engineerin...
IJCER (www.ijceronline.com) International Journal of computational Engineerin...IJCER (www.ijceronline.com) International Journal of computational Engineerin...
IJCER (www.ijceronline.com) International Journal of computational Engineerin...
 
HTML5 Intoduction for Web Developers
HTML5 Intoduction for Web DevelopersHTML5 Intoduction for Web Developers
HTML5 Intoduction for Web Developers
 
HTML5 Technical Executive Summary
HTML5 Technical Executive SummaryHTML5 Technical Executive Summary
HTML5 Technical Executive Summary
 
Everything you need to know about HTML5 in 15 min
Everything you need to know about HTML5 in 15 minEverything you need to know about HTML5 in 15 min
Everything you need to know about HTML5 in 15 min
 
Html5 workshop part 1
Html5 workshop part 1Html5 workshop part 1
Html5 workshop part 1
 
Html5
Html5Html5
Html5
 

Recently uploaded

Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
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...Drew Madelung
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
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, Adobeapidays
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessPixlogix Infotech
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
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.pdfsudhanshuwaghmare1
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 

Recently uploaded (20)

Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 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...
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
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
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
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
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 

HTML5: An Introduction To Next Generation Web Development

  • 1. HTML5: Next Generation Web Development Tilak Joshi Senior Web Architect NASA Goddard Space Flight Center (Contractor) August 17th 2011
  • 2. What is HTML5? “HTML5 is a language for structuring and presenting content for the World Wide Web, a core technology of the Internet. It is the fifth revision of the HTML standard (originally created in 1990 and most recently standardized as HTML4 in 1997[1]) and as of August 2011[update] is still under development. Its core aims have been to improve the language with support for the latest multimedia while keeping it easily readable by humans and consistently understood by computers and devices (web browsers, parsers etc.). HTML5 is intended to subsume not only HTML4, but XHTML1 and DOM2HTML (particularly JavaScript) as well.[1]” – Wikipedia
  • 3. What is HTML5? HTML5 is the up and coming standard for next generation web development. It reduces focus on syntax and increases focus on features. It was created by developers and browsers to facilitate web programming and increase focus on more dynamic content. Included Features • New Elements ( <article>,<section>,<aside>,<nav>, etc.) • Native Audio/Video Support • Drawing APIs (Canvas, SVG, MathML, WebGL) • Geolocation • Drag and Drop • Web Forms 2.0 • Microdata • Local Storage • Web Sockets • Web Workers Fun Facts • HTML5 is the brainchild of WHATWG and was adopted by the W3C after much hesitation • Apple’s ongoing battle with Adobe was sparked by Apple choosing to support HTML5 over Flash • Contrary to popular belief, almost all current browsers provide support for most HTML5 features Official HTML5 Logo
  • 4. New Elements in HTML5 All new tags maintain the same style and element properties as <div> but have special meaning and possibly special interpretations by markup readers (crawlers) or browsers. When declaring these tags, in order to maintain backwards compatibility, style them as display:block in your stylesheet or internal style. These are most of the more important tags: • <article> – external content (news articles, blogs, etc) • <section> – sections of the web page (can contain multiple <article> tags) • <aside> - content related to, but not part of, the primary content • <nav>,<menu> - the primary navigation, any subnavigation • <header> - section before body, at the beginning of the page • <footer> - section after body, at the end of the page • <hgroup> - a group of headers (<h1> to <h6> tags) • <time> - a date or time • <figure>,<figcaption> - a figure and a caption describing it (could be a video or image)
  • 5. Native Audio/Video Support Current versions of browsers support audio/video, basic controls, a poster for video, duration hint, and more. They allow VP8, H.264, and OGG formats depending on browser, and allow you to specify a codec in the declaration. Code (Video): <video id="video1" width="480" height="260" poster=”firstframe.jpg" durationHint=”59" > <source type="video/webm" src=“vid.webm" /> <source src=“vid.mp4"/> <source src=“vid.ogv" /> <p>Error: video not supported</p> </video> Code (Audio): <audio src="song.ogg" controls="controls"> Your browser does not support the audio element. </audio> Supported Formats (video; audio): Mozilla Firefox – OGG, VP8; OGG, WAV Internet Explorer – H.264 natively, OGG and VP8 with manual install; MP3 WAV Google Chrome – OGG, H.264 (to be discontinued), VP8; OGG, WAV Apple Safari – H.264 natively, OGG and VP8 with manual install; MP3, WAV Opera – OGG, VP8; OGG, WAV
  • 6. Drawing API HTML5 supports many different APIs for drawing, eliminating the need for Flash, SilverLight, or other third-party tools. Currently supported APIs include Canvas and SVG. Partially supported APIs include MathML and WebGL. Canvas: HTML <canvas id=”canvas1" width=”600" height="200"> </canvas> JavaScript window.onload = function(){ var canvas = document.getElementById("myCanvas"); var context = canvas.getContext("2d"); context.moveTo(100, 150); context.lineTo(450, 50); context.lineWidth = 10; context.strokeStyle = "#ff0000"; // line color context.stroke(); }; SVG: HTML <svg id=”svg1” xmlns="http://www.w3.org/2000/svg"> <circle id=”circle1" cx="50" cy="50" r="50" fill="red" /> </svg>
  • 7. Geolocation Geolocation provides the user’s location. This is the closest position the User Agent can obtain, which in the case of a GPS enabled device is exact, and in the case of non-GPS enabled device is the location from the IP address, closest cell phone tower, or wireless network connection. Code: function get_location() { navigator.geolocation.getCurrentPosition( handlePosition ); } function handlePosition(position){ var longitude = position.coords.longitude; var latitude = position.coords.latitude; // use this info } Properties: coords.latitude – decimal degrees coords.longitude – decimal degrees coords.altitude - meters coords.accuracy - meters coords.speed – meters/second coords.altitudeAccuracy - meters coords.heading – degrees clockwise from true north timestamp – Date() Object Warning: User has to allow the browser to share their location. It is good practice to not to depend on this data.
  • 8. Drag and Drop Drag and Drop is natively allowed by overriding the default browser event of objects snapping back in place. Code: HTML <div id=‘drag1’ draggable=‘true’>I’m Drag1</div> <div id=‘drag2’ draggable=‘true’>I’m Drag2</div> <div id=‘dropArea’ ></div> JavaScript function allowDrop(e){ if(e.preventDefault){ e.preventDefault(); } return false; } var dropArea = document.getElementById(‘dropArea’); dropArea.ondragenter = allowDrop; dropArea.ondragover = allowDrop; New Events: ondragstart – when the draggable item begins to get dragged ondragenter – when the draggable item enters the droppable area ondragover – when the draggable item is in the droppable area ondrop – when the draggable item is dropped
  • 9. Web Forms 2.0 HTML5 has taken the more common recent input fields and officially standardized them. It provides browser built- in GUI and basic validation as required. New Input Types: email – current validation checks for ‘@’ sign and ‘.’ url – current validation checks for ‘.’ number – provides up and down arrows on the gui, and validates for a number range – provides a slider on the gui, and validates for a number date (date, month, week, time, datetime, datetime-local) – shows a picker search – currently behaves like a regular ‘text’ field color – provides a color picker on the gui New Input Type Attributes: min – min for the number (works for number and range types) max – max for the number (works for number and range types) step – step increment for the number (works for number and range types) Notes: Support is currently limited, but coming soon. It is encouraged to use it with shims and polyfills as support comes soon. There will be variation in the GUI and validation as each browser can handle the look and feel of the additional displayed features and the exact validation.
  • 10. Additional Features Microdata, Local Storage, and Web Workers are some of the additional features available in HTML5. Microdata: Specifies additional markup language, as per the specified namespace, to identify reviews, recipes, authors, businesses, products, and other information. This is most useful for screen readers like Google’s crawler to read and identify your content more accurately. Local Storage: Information can be stored in the browser without using cookies. This is less overhead and easy access to a lot of data in JSON format but it is not safe for secure data. Web Workers: This is a method for running javascript concurrently and making use of multiple processor CPUs. Additional Features: WebSockets, native JSON functions, Cross Domain Requests using AJAX
  • 11. Backwards Compatibility Polyfills or polyfiller or shim, is a piece of code (or plugin) that provides the technology that you, the developer, expect the browser to provide natively. Flattening the API landscape if you will. They can use third party technologies like Flash, SilverLight, or JavaScript and JQuery libraries. Modernizr: Modernizr.load({ test: Modernizr.geolocation, yep : 'geo.js', nope: 'geo-polyfill.js' }); WebShims: WebShims is a JavaScript library built on JQuery that provides polyfills for the most commonly used HTML5 features. $.webshims.setOptions('canvas', { type: 'flashpro' //excanvas | flash | flashpro }); Notes: There are polyfills available for every feature that I have covered and many more. These polyfills support browsers starting from IE6+, Firefox 3+ and more. This is a quick and easy method that increases browser compatibility until all browsers have full support for HTML5. Future versions of Modernizr 2.0 will have WebShims built in.
  • 12. 508 Compliance HTML5 does not hinder 508 compliance as everything that is visual does not apply, and everything that is not has similar fallbacks as HTML4 or XHTML (i.e. title tags, labels for inputs). The more descriptive tags and microdata allow a possibility for many 508 enhancements in the future. •All new elements available in HTML5 are the equivalent of HTML divs and can handle the ‘title’ attribute • The media-rich enhancements are just that, ‘enhancements.’ There should be text counterparts for functionality • Microdata offers better compliance options in the future • Better tag structure offers more options for future screen readers for compliance
  • 13. Extras: CSS3 Additions New attributes: • border-image • border-radius • @font-family • box-shadow • text-shadow Browser specific attributes: • -moz (Mozilla Browsers) • -o (Mozilla Browsers) • -webkit (Mozilla Browsers)