SlideShare una empresa de Scribd logo
1 de 22
[object Object]
 Embedded JavaScript
 RESTful WebServices using MVC 3, jQuery, and JSON
 Go mobile with PhoneGapDoug Domeny Principal Software Engineer, Newforma, Inc. September 2011
HTML5 Features Video Canvas (i.e., graphics API) Offline support Storage (i.e., database) Geolocation Form Elements http://html5demos.com/
HTML5 Form Elements <input type="search" name="q" placeholder="Search" autofocus /> <input type="email" placeholder="Enter your email address" /> <input type="url" placeholder="Enter your web address" /> <input type="number" min="1" max="12" value="12" /> <input type="range" min="1" max="12" value="12" /> <input type="date" /> <input type="datetime" /> <input type="color" /> http://localhost/html5cap/form.html
HTML5 Elements <header> The header element represents a group of introductory or navigational aids. The header element can also be used to wrap a section’s table of contents, a search form, or any relevant logos.  <hgroup> The hgroup element represents the heading of a section. The element is used to group a set of h1–h6 elements when the heading has multiple levels, such as subheadings, alternative titles, or taglines.  <footer> The footer element represents a footer for its nearest ancestor sectioning content or sectioning root element. A footer typically contains information about its section such as who wrote it, links to related documents, copyright data, and the like.
HTML5 Elements <nav> The nav element represents a section of a page that links to other pages or to parts within the page: a section with navigation links.  <article> The article element represents a component of a page that consists of a self-contained composition that is intended to be independently distributable or reusable, e.g. in syndication. This could be a forum post, a magazine or newspaper article, a Web log entry, or any other independent item of content.
HTML5 Elements <section> The section element represents a generic document or application section. Examples of sections would be chapters, the tabbed pages in a tabbed dialog box, or the numbered sections of a thesis.  <aside> The aside element represents a section of a page that consists of content that is tangentially related to the content around the aside element. Such sections are often represented as sidebars in printed typography.  <time datetime=“2009-10-22”>October 22, 2009</time> http://diveintohtml5.org/semantics.html#new-elements
HTML5 Document <!DOCTYPE html> <html lang="en">   <head>     <meta charset="utf-8" />     <title></title>   </head>   <body></body> </html>
HTML5 Offline <!DOCTYPE html><html lang="en" manifest="CacheManifest.ashx"> CACHE MANIFEST /HoneyDoList/css/style.css /HoneyDoList/ejs/HoneyDoListItemRow.htm /HoneyDoList/ejs/SelectList.htm /HoneyDoList/images/810%20Floor%20Plan.jpg /HoneyDoList/js/appCacheEventLogger.js/HoneyDoList/js/ejs.js /HoneyDoList/js/jquery-1.5.1.min.js /HoneyDoList/js/json2.js /HoneyDoList/js/modernizr-1.7.min.js /HoneyDoList/HoneyDoList.html /HoneyDoList/HoneyDoListItemForm.html  … NETWORK: * # 2011-05-12 12:46:40Z
EMbeddedJavascript (EJS) <table>     <thead>         <tr>             <th>Description</th>             <th>Location</th>             <th>Discipline</th>             <th>Status</th>         </tr>     </thead>     <tbody> <%  for (var i = 0; i < items.length; i++)  {      var item = items[i];  %>     <tr>         <td><%= item.description %></td>         <td><%= item.location %></td>         <td><%= item.discipline %></td>         <td><%= item.status %></td>     </tr> <% } %>     </tbody> </table>
EJS <script src="js/ejs.js" type="text/javascript"></script> http://embeddedjs.com/getting_started.html
RESTfulWebService using ASP.NET MVC 3 public JsonResult Locations() {    SelectionList list = _lists.GetLocations("json");    return Json(list, JsonRequestBehavior.AllowGet);} http://localhost/HoneyDo/Lists/Locations {"items":[{"val": "Kitchen",	"txt": "Kitchen"},{"val": "Living",		"txt": "Living Room"},{"val": "Dining",	"txt": "Dining Room"},{"val": "Base",		"txt": "Basement"},{"val": "BedRm",	"txt": "Bedroom"},{"val": "Garage",	"txt": "Garage"},{"val": "Deck",		"txt": "Deck"},{"val": "Lav",		"txt": "Bathroom"},{"val": "Stairs",		"txt": "Stairs"}]} JSON JavaScript Object Notation http://www.json.org
Client-Side AJAX to get JSON jQuery.ajax(  {url: "http://localhost/HoneyDo/Lists/" + list.key,   dataType: "text",   context: list,   success: function (data) {         var json = data;         if (Modernizr.localstorage )  {               // localStorage is always a string               localStorage[this.key] = json;         }                                      updateList(this.key, json);         numListsUpdated++;         if (numListsUpdated == lists.length) {                clearTimeout(timer);                initdb();         }     } });
HTML5 Storage localStorage (key/value strings) 5 MB limit Supported by all browsers WebSqlDatabase (SQLite) Safari, Chrome, Opera NOT FireFox (has IndexedDB instead) IE doesn’t have any database yet
localStorage  if (Modernizr.localstorage)                             {                                 // localStorage is always a string    localStorage[key] = value; }
WebSqlDatabase if (Modernizr.websqldatabase) {   db = openDatabase(“honeydodb", "0.1",       “HoneyDo Database",       10 * 1024 * 1024); db.transaction(function (tx) {     tx.executeSql("insert into HoneyDoList         (location, description, discipline, status)         values (?,?,?,?);",               values, nullDataHandler, errorHandler);}, myTransactionErrorCallback, myTransactionSuccessCallback);
Modernizr: feature detection Modernizr is a small JavaScript library that detects the availability of native implementations for next-generation web technologies:  HTML5 CSS3 Geolocation API SVG Touch Events WebGL <script src=“js/modernizr-1.7.js" type="text/javascript"></script> http://www.modernizr.com/ http://localhost/html5cap/index.html
Visual Studio HTML5 ASP.Net Controls http://sourceforge.net/projects/html5asp/ Inputs with Custom Keyboards Inputs with Placeholder Text Dynamically created email links tappable phone numbers Map Links with Start and Finish addresses Visual Studio 2010 HTML5 Templates HTML5 Page Template with jQuery 1.5.1 & Modernizr 1.7 HTML5 Web Site Template with jQuery 1.5.1 & Modernizr 1.7
Visual Studio 2010
HTML5 Canvas <canvas id="floorplan" width="300" height="225"></canvas> var canvas = $("#floorplan").get(0);var c = canvas.getContext("2d");c.save();c.lineWidth = 1;c.lineJoin = "round";var flipped = (y < 3 * r + 5);c.translate(x, y);if (flipped) {      c.rotate(180 * deg);}// number background outlinec.strokeStyle = "#F00";c.beginPath();c.moveTo(-r, 0);c.lineTo(-r, -3 * r);c.lineTo(r, -3 * r);c.lineTo(r, 0);// circlec.arc(0, 0, r, 0, Math.PI * 2, true);c.stroke();c.restore();

Más contenido relacionado

La actualidad más candente

La actualidad más candente (20)

Introduction to html5
Introduction to html5Introduction to html5
Introduction to html5
 
Booting up with polymer
Booting up with polymerBooting up with polymer
Booting up with polymer
 
HTML5 Semantics, Accessibility & Forms [Carsonified HTML5 Online Conference]
HTML5 Semantics, Accessibility & Forms [Carsonified HTML5 Online Conference]HTML5 Semantics, Accessibility & Forms [Carsonified HTML5 Online Conference]
HTML5 Semantics, Accessibility & Forms [Carsonified HTML5 Online Conference]
 
HTML5 - Introduction
HTML5 - IntroductionHTML5 - Introduction
HTML5 - Introduction
 
Building mobile applications with DrupalGap
Building mobile applications with DrupalGapBuilding mobile applications with DrupalGap
Building mobile applications with DrupalGap
 
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)
 
HTML5 Video Player - HTML5 Dev Conf 2012
HTML5 Video Player - HTML5 Dev Conf 2012HTML5 Video Player - HTML5 Dev Conf 2012
HTML5 Video Player - HTML5 Dev Conf 2012
 
What is HTML 5?
What is HTML 5?What is HTML 5?
What is HTML 5?
 
Oleh Zasadnyy "Progressive Web Apps: line between web and native apps become ...
Oleh Zasadnyy "Progressive Web Apps: line between web and native apps become ...Oleh Zasadnyy "Progressive Web Apps: line between web and native apps become ...
Oleh Zasadnyy "Progressive Web Apps: line between web and native apps become ...
 
An Introduction To HTML5
An Introduction To HTML5An Introduction To HTML5
An Introduction To 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)
HTML5--The 30,000' View (A fast-paced overview of HTML5)
 
Workshop HTML5+PhoneGap by Ivano Malavolta
Workshop HTML5+PhoneGap by Ivano Malavolta Workshop HTML5+PhoneGap by Ivano Malavolta
Workshop HTML5+PhoneGap by Ivano Malavolta
 
CTS Conference Web 2.0 Tutorial Part 2
CTS Conference Web 2.0 Tutorial Part 2CTS Conference Web 2.0 Tutorial Part 2
CTS Conference Web 2.0 Tutorial Part 2
 
Keypoints html5
Keypoints html5Keypoints html5
Keypoints html5
 
Web Standards: Fueling Innovation [Web Design World Boston '08]
Web Standards: Fueling Innovation [Web Design World Boston '08]Web Standards: Fueling Innovation [Web Design World Boston '08]
Web Standards: Fueling Innovation [Web Design World Boston '08]
 
Web Components with Polymer (extra Polymer 2.0)
Web Components with Polymer (extra Polymer 2.0)Web Components with Polymer (extra Polymer 2.0)
Web Components with Polymer (extra Polymer 2.0)
 
Web components the future is here
Web components   the future is hereWeb components   the future is here
Web components the future is here
 
Vaadin Components
Vaadin ComponentsVaadin Components
Vaadin Components
 
Vaadin Components @ Angular U
Vaadin Components @ Angular UVaadin Components @ Angular U
Vaadin Components @ Angular U
 
HTML5 Introduction
HTML5 IntroductionHTML5 Introduction
HTML5 Introduction
 

Destacado

MyBlogGuest 2013 Year
MyBlogGuest 2013 YearMyBlogGuest 2013 Year
MyBlogGuest 2013 Year
Ann Smarty
 
Investigacón de Longevidad
Investigacón de LongevidadInvestigacón de Longevidad
Investigacón de Longevidad
Cynthia Aguilar
 
список победителей конкурса ОНФ
список победителей конкурса ОНФсписок победителей конкурса ОНФ
список победителей конкурса ОНФ
Opennewspaper
 
Сбор базы для email-рассылки
Сбор базы для email-рассылкиСбор базы для email-рассылки
Сбор базы для email-рассылки
ePochta
 
Sobi pro flexibility by design
Sobi pro flexibility by designSobi pro flexibility by design
Sobi pro flexibility by design
Sigsiu.NET
 

Destacado (20)

Vb access
Vb accessVb access
Vb access
 
№ 2 Розничный рынок Украины _2015
№ 2 Розничный рынок Украины _2015№ 2 Розничный рынок Украины _2015
№ 2 Розничный рынок Украины _2015
 
MyBlogGuest 2013 Year
MyBlogGuest 2013 YearMyBlogGuest 2013 Year
MyBlogGuest 2013 Year
 
список
списоксписок
список
 
Investigacón de Longevidad
Investigacón de LongevidadInvestigacón de Longevidad
Investigacón de Longevidad
 
Love the enemy
Love the enemyLove the enemy
Love the enemy
 
AGRUBISENESS CV-1
AGRUBISENESS CV-1AGRUBISENESS CV-1
AGRUBISENESS CV-1
 
Media kit k_cubeventures_141201_eng
Media kit k_cubeventures_141201_engMedia kit k_cubeventures_141201_eng
Media kit k_cubeventures_141201_eng
 
Talking Content Marketing with @BradSKnutson
Talking Content Marketing with @BradSKnutsonTalking Content Marketing with @BradSKnutson
Talking Content Marketing with @BradSKnutson
 
Organise a successful Joomla! Event
Organise a successful Joomla! EventOrganise a successful Joomla! Event
Organise a successful Joomla! Event
 
список победителей конкурса ОНФ
список победителей конкурса ОНФсписок победителей конкурса ОНФ
список победителей конкурса ОНФ
 
API Workshop: Deep dive into REST APIs
API Workshop: Deep dive into REST APIsAPI Workshop: Deep dive into REST APIs
API Workshop: Deep dive into REST APIs
 
Сбор базы для email-рассылки
Сбор базы для email-рассылкиСбор базы для email-рассылки
Сбор базы для email-рассылки
 
helen keller
helen keller helen keller
helen keller
 
Prezentace ukrajinského e-commerce trhu 2016
Prezentace ukrajinského e-commerce trhu 2016Prezentace ukrajinského e-commerce trhu 2016
Prezentace ukrajinského e-commerce trhu 2016
 
Medhat Youssef
Medhat YoussefMedhat Youssef
Medhat Youssef
 
HTML Website Screen Scraping
HTML Website Screen ScrapingHTML Website Screen Scraping
HTML Website Screen Scraping
 
Generaciones digitales
Generaciones digitalesGeneraciones digitales
Generaciones digitales
 
Generación Y, Z
Generación Y, ZGeneración Y, Z
Generación Y, Z
 
Sobi pro flexibility by design
Sobi pro flexibility by designSobi pro flexibility by design
Sobi pro flexibility by design
 

Similar a HTML5 and web technology update

Is it time to start using HTML 5
Is it time to start using HTML 5Is it time to start using HTML 5
Is it time to start using HTML 5
Ravi Raj
 
HTML5 - Future of Web
HTML5 - Future of WebHTML5 - Future of Web
HTML5 - Future of Web
Mirza Asif
 
Design and Development performance considerations
Design and Development performance considerationsDesign and Development performance considerations
Design and Development performance considerations
Elaine Van Bergen
 
Open social 2.0 sandbox ee and breaking out of the gadget box
Open social 2.0 sandbox  ee and breaking out of the gadget boxOpen social 2.0 sandbox  ee and breaking out of the gadget box
Open social 2.0 sandbox ee and breaking out of the gadget box
Ryan Baxter
 

Similar a HTML5 and web technology update (20)

Html5 and web technology update
Html5 and web technology updateHtml5 and web technology update
Html5 and web technology update
 
Accelerated Adoption: HTML5 and CSS3 for ASP.NET Developers
Accelerated Adoption: HTML5 and CSS3 for ASP.NET DevelopersAccelerated Adoption: HTML5 and CSS3 for ASP.NET Developers
Accelerated Adoption: HTML5 and CSS3 for ASP.NET Developers
 
Html5
Html5Html5
Html5
 
Html5 Overview
Html5 OverviewHtml5 Overview
Html5 Overview
 
HTML5 and Search Engine Optimization (SEO)
HTML5 and Search Engine Optimization (SEO)HTML5 and Search Engine Optimization (SEO)
HTML5 and Search Engine Optimization (SEO)
 
Developing Gadgets
Developing GadgetsDeveloping Gadgets
Developing Gadgets
 
jQuery Mobile
jQuery MobilejQuery Mobile
jQuery Mobile
 
The Django Web Application Framework 2
The Django Web Application Framework 2The Django Web Application Framework 2
The Django Web Application Framework 2
 
The Django Web Application Framework 2
The Django Web Application Framework 2The Django Web Application Framework 2
The Django Web Application Framework 2
 
Is it time to start using HTML 5
Is it time to start using HTML 5Is it time to start using HTML 5
Is it time to start using HTML 5
 
The Django Web Application Framework 2
The Django Web Application Framework 2The Django Web Application Framework 2
The Django Web Application Framework 2
 
The Django Web Application Framework 2
The Django Web Application Framework 2The Django Web Application Framework 2
The Django Web Application Framework 2
 
HTML5 Fundamentals
HTML5 FundamentalsHTML5 Fundamentals
HTML5 Fundamentals
 
Html5, a gentle introduction
Html5, a gentle introduction Html5, a gentle introduction
Html5, a gentle introduction
 
Itemscript, a specification for RESTful JSON integration
Itemscript, a specification for RESTful JSON integrationItemscript, a specification for RESTful JSON integration
Itemscript, a specification for RESTful JSON integration
 
HTML5 - Future of Web
HTML5 - Future of WebHTML5 - Future of Web
HTML5 - Future of Web
 
Introduccion a HTML5
Introduccion a HTML5Introduccion a HTML5
Introduccion a HTML5
 
html5
html5html5
html5
 
Design and Development performance considerations
Design and Development performance considerationsDesign and Development performance considerations
Design and Development performance considerations
 
Open social 2.0 sandbox ee and breaking out of the gadget box
Open social 2.0 sandbox  ee and breaking out of the gadget boxOpen social 2.0 sandbox  ee and breaking out of the gadget box
Open social 2.0 sandbox ee and breaking out of the gadget box
 

Último

+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 
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
vu2urc
 

Último (20)

Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
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
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
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...
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
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...
 
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...
 
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
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
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
 
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
 
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
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 

HTML5 and web technology update

  • 1.
  • 3. RESTful WebServices using MVC 3, jQuery, and JSON
  • 4. Go mobile with PhoneGapDoug Domeny Principal Software Engineer, Newforma, Inc. September 2011
  • 5. HTML5 Features Video Canvas (i.e., graphics API) Offline support Storage (i.e., database) Geolocation Form Elements http://html5demos.com/
  • 6. HTML5 Form Elements <input type="search" name="q" placeholder="Search" autofocus /> <input type="email" placeholder="Enter your email address" /> <input type="url" placeholder="Enter your web address" /> <input type="number" min="1" max="12" value="12" /> <input type="range" min="1" max="12" value="12" /> <input type="date" /> <input type="datetime" /> <input type="color" /> http://localhost/html5cap/form.html
  • 7. HTML5 Elements <header> The header element represents a group of introductory or navigational aids. The header element can also be used to wrap a section’s table of contents, a search form, or any relevant logos. <hgroup> The hgroup element represents the heading of a section. The element is used to group a set of h1–h6 elements when the heading has multiple levels, such as subheadings, alternative titles, or taglines. <footer> The footer element represents a footer for its nearest ancestor sectioning content or sectioning root element. A footer typically contains information about its section such as who wrote it, links to related documents, copyright data, and the like.
  • 8. HTML5 Elements <nav> The nav element represents a section of a page that links to other pages or to parts within the page: a section with navigation links. <article> The article element represents a component of a page that consists of a self-contained composition that is intended to be independently distributable or reusable, e.g. in syndication. This could be a forum post, a magazine or newspaper article, a Web log entry, or any other independent item of content.
  • 9. HTML5 Elements <section> The section element represents a generic document or application section. Examples of sections would be chapters, the tabbed pages in a tabbed dialog box, or the numbered sections of a thesis. <aside> The aside element represents a section of a page that consists of content that is tangentially related to the content around the aside element. Such sections are often represented as sidebars in printed typography. <time datetime=“2009-10-22”>October 22, 2009</time> http://diveintohtml5.org/semantics.html#new-elements
  • 10. HTML5 Document <!DOCTYPE html> <html lang="en">   <head>     <meta charset="utf-8" />     <title></title>   </head>   <body></body> </html>
  • 11. HTML5 Offline <!DOCTYPE html><html lang="en" manifest="CacheManifest.ashx"> CACHE MANIFEST /HoneyDoList/css/style.css /HoneyDoList/ejs/HoneyDoListItemRow.htm /HoneyDoList/ejs/SelectList.htm /HoneyDoList/images/810%20Floor%20Plan.jpg /HoneyDoList/js/appCacheEventLogger.js/HoneyDoList/js/ejs.js /HoneyDoList/js/jquery-1.5.1.min.js /HoneyDoList/js/json2.js /HoneyDoList/js/modernizr-1.7.min.js /HoneyDoList/HoneyDoList.html /HoneyDoList/HoneyDoListItemForm.html … NETWORK: * # 2011-05-12 12:46:40Z
  • 12. EMbeddedJavascript (EJS) <table>     <thead>         <tr>             <th>Description</th>             <th>Location</th>             <th>Discipline</th>             <th>Status</th>         </tr>     </thead>     <tbody> <%  for (var i = 0; i < items.length; i++)  {      var item = items[i];  %>     <tr>         <td><%= item.description %></td>         <td><%= item.location %></td>         <td><%= item.discipline %></td>         <td><%= item.status %></td>     </tr> <% } %>     </tbody> </table>
  • 13. EJS <script src="js/ejs.js" type="text/javascript"></script> http://embeddedjs.com/getting_started.html
  • 14. RESTfulWebService using ASP.NET MVC 3 public JsonResult Locations() { SelectionList list = _lists.GetLocations("json"); return Json(list, JsonRequestBehavior.AllowGet);} http://localhost/HoneyDo/Lists/Locations {"items":[{"val": "Kitchen", "txt": "Kitchen"},{"val": "Living", "txt": "Living Room"},{"val": "Dining", "txt": "Dining Room"},{"val": "Base", "txt": "Basement"},{"val": "BedRm", "txt": "Bedroom"},{"val": "Garage", "txt": "Garage"},{"val": "Deck", "txt": "Deck"},{"val": "Lav", "txt": "Bathroom"},{"val": "Stairs", "txt": "Stairs"}]} JSON JavaScript Object Notation http://www.json.org
  • 15. Client-Side AJAX to get JSON jQuery.ajax(  {url: "http://localhost/HoneyDo/Lists/" + list.key,   dataType: "text",   context: list,   success: function (data) {         var json = data;         if (Modernizr.localstorage )  {               // localStorage is always a string               localStorage[this.key] = json;         }                              updateList(this.key, json);         numListsUpdated++;         if (numListsUpdated == lists.length) {                clearTimeout(timer);                initdb();     }  } });
  • 16. HTML5 Storage localStorage (key/value strings) 5 MB limit Supported by all browsers WebSqlDatabase (SQLite) Safari, Chrome, Opera NOT FireFox (has IndexedDB instead) IE doesn’t have any database yet
  • 17. localStorage  if (Modernizr.localstorage)                             {                                 // localStorage is always a string localStorage[key] = value; }
  • 18. WebSqlDatabase if (Modernizr.websqldatabase) { db = openDatabase(“honeydodb", "0.1",  “HoneyDo Database",  10 * 1024 * 1024); db.transaction(function (tx) {    tx.executeSql("insert into HoneyDoList  (location, description, discipline, status)  values (?,?,?,?);",  values, nullDataHandler, errorHandler);}, myTransactionErrorCallback, myTransactionSuccessCallback);
  • 19. Modernizr: feature detection Modernizr is a small JavaScript library that detects the availability of native implementations for next-generation web technologies: HTML5 CSS3 Geolocation API SVG Touch Events WebGL <script src=“js/modernizr-1.7.js" type="text/javascript"></script> http://www.modernizr.com/ http://localhost/html5cap/index.html
  • 20. Visual Studio HTML5 ASP.Net Controls http://sourceforge.net/projects/html5asp/ Inputs with Custom Keyboards Inputs with Placeholder Text Dynamically created email links tappable phone numbers Map Links with Start and Finish addresses Visual Studio 2010 HTML5 Templates HTML5 Page Template with jQuery 1.5.1 & Modernizr 1.7 HTML5 Web Site Template with jQuery 1.5.1 & Modernizr 1.7
  • 22. HTML5 Canvas <canvas id="floorplan" width="300" height="225"></canvas> var canvas = $("#floorplan").get(0);var c = canvas.getContext("2d");c.save();c.lineWidth = 1;c.lineJoin = "round";var flipped = (y < 3 * r + 5);c.translate(x, y);if (flipped) {      c.rotate(180 * deg);}// number background outlinec.strokeStyle = "#F00";c.beginPath();c.moveTo(-r, 0);c.lineTo(-r, -3 * r);c.lineTo(r, -3 * r);c.lineTo(r, 0);// circlec.arc(0, 0, r, 0, Math.PI * 2, true);c.stroke();c.restore();
  • 23. HTML 5 canvas cheat sheet http://blog.nihilogic.dk/2009/02/html5-canvas-cheat-sheet.html
  • 24. Phonegap document.addEventListener("deviceready",  function () {     if (navigator.network) {         setInterval(function () {            navigator.network.isReachable( "localhost",  privateNetwork, {});         }, 5000);     }     if (navigator.compass) {         navigator.compass.watchHeading(         function (heading) {            heading += window.orientation;             drawCompass(heading, window.orientation);         }, { frequency: 2000 });     }    if (navigator.camera) {         $("#cameraSection").show();     } }
  • 25. Resources diveintohtml5.org/ html5demos.com/ HTML 5 canvas cheat sheet jquery.com/ embeddedjs.com/ www.phonegap.com/ Android Apps iPhone Apps