SlideShare a Scribd company logo
[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();

More Related Content

What's hot

Introduction to html5
Introduction to html5Introduction to html5
Introduction to html5
Muktadiur Rahman
 
Booting up with polymer
Booting up with polymerBooting up with polymer
Booting up with polymer
Marcus Hellberg
 
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]
Aaron Gustafson
 
HTML5 - Introduction
HTML5 - IntroductionHTML5 - Introduction
HTML5 - Introduction
Davy De Pauw
 
Building mobile applications with DrupalGap
Building mobile applications with DrupalGapBuilding mobile applications with DrupalGap
Building mobile applications with DrupalGap
Alex S
 
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
 
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
steveheffernan
 
What is HTML 5?
What is HTML 5?What is HTML 5?
What is HTML 5?
Susan Winters
 
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 ...
IT Event
 
An Introduction To HTML5
An Introduction To HTML5An Introduction To HTML5
An Introduction To HTML5
Robert Nyman
 
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)
Peter Lubbers
 
Workshop HTML5+PhoneGap by Ivano Malavolta
Workshop HTML5+PhoneGap by Ivano Malavolta Workshop HTML5+PhoneGap by Ivano Malavolta
Workshop HTML5+PhoneGap by Ivano Malavolta
Commit University
 
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
Geoffrey Fox
 
Keypoints html5
Keypoints html5Keypoints html5
Keypoints html5
dynamis
 
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]
Aaron Gustafson
 
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)
Dhyego Fernando
 
Web components the future is here
Web components   the future is hereWeb components   the future is here
Web components the future is here
Gil Fink
 
Vaadin Components
Vaadin ComponentsVaadin Components
Vaadin Components
Joonas Lehtinen
 
Vaadin Components @ Angular U
Vaadin Components @ Angular UVaadin Components @ Angular U
Vaadin Components @ Angular U
Joonas Lehtinen
 
HTML5 Introduction
HTML5 IntroductionHTML5 Introduction
HTML5 Introduction
dynamis
 

What's hot (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
 

Viewers also liked

Vb access
Vb accessVb access
Vb access
Alberto Vargas
 
№ 2 Розничный рынок Украины _2015
№ 2 Розничный рынок Украины _2015№ 2 Розничный рынок Украины _2015
№ 2 Розничный рынок Украины _2015
Alexandra Gorbenko
 
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
 
Love the enemy
Love the enemyLove the enemy
Love the enemy
Cecilia Caballero
 
AGRUBISENESS CV-1
AGRUBISENESS CV-1AGRUBISENESS CV-1
AGRUBISENESS CV-1
kulaniTyrone Nyamazana
 
Media kit k_cubeventures_141201_eng
Media kit k_cubeventures_141201_engMedia kit k_cubeventures_141201_eng
Media kit k_cubeventures_141201_eng
K Cube Ventures
 
Talking Content Marketing with @BradSKnutson
Talking Content Marketing with @BradSKnutsonTalking Content Marketing with @BradSKnutson
Talking Content Marketing with @BradSKnutson
Ann Smarty
 
Organise a successful Joomla! Event
Organise a successful Joomla! EventOrganise a successful Joomla! Event
Organise a successful Joomla! Event
Sigsiu.NET
 
список победителей конкурса ОНФ
список победителей конкурса ОНФсписок победителей конкурса ОНФ
список победителей конкурса ОНФOpennewspaper
 
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
Tom Johnson
 
Сбор базы для email-рассылки
Сбор базы для email-рассылкиСбор базы для email-рассылки
Сбор базы для email-рассылки
ePochta
 
helen keller
helen keller helen keller
helen keller
Alberto Zurita
 
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
Jan Ruzicka
 
Medhat Youssef
Medhat YoussefMedhat Youssef
Medhat Youssef
Medhat Youssef
 
HTML Website Screen Scraping
HTML Website Screen ScrapingHTML Website Screen Scraping
HTML Website Screen Scraping
Vicky Rathee
 
Generaciones digitales
Generaciones digitalesGeneraciones digitales
Generaciones digitales
Julia Mariana Durán
 
Generación Y, Z
Generación Y, ZGeneración Y, Z
Generación Y, Z
Leticia Eugenio
 
Sobi pro flexibility by design
Sobi pro flexibility by designSobi pro flexibility by design
Sobi pro flexibility by design
Sigsiu.NET
 

Viewers also liked (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 to HTML5 and web technology update

Html5 and web technology update
Html5 and web technology updateHtml5 and web technology update
Html5 and web technology update
Doug Domeny
 
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
Todd Anglin
 
Html5
Html5Html5
Html5 Overview
Html5 OverviewHtml5 Overview
Html5 Overview
Owen Williams
 
HTML5 and Search Engine Optimization (SEO)
HTML5 and Search Engine Optimization (SEO)HTML5 and Search Engine Optimization (SEO)
HTML5 and Search Engine Optimization (SEO)
Performics.Convonix
 
Developing Gadgets
Developing GadgetsDeveloping Gadgets
Developing Gadgets
Quirk
 
jQuery Mobile
jQuery MobilejQuery Mobile
jQuery Mobile
Doncho Minkov
 
The Django Web Application Framework 2
The Django Web Application Framework 2The Django Web Application Framework 2
The Django Web Application Framework 2
fishwarter
 
The Django Web Application Framework 2
The Django Web Application Framework 2The Django Web Application Framework 2
The Django Web Application Framework 2
fishwarter
 
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
 
The Django Web Application Framework 2
The Django Web Application Framework 2The Django Web Application Framework 2
The Django Web Application Framework 2
fishwarter
 
The Django Web Application Framework 2
The Django Web Application Framework 2The Django Web Application Framework 2
The Django Web Application Framework 2
fishwarter
 
HTML5 Fundamentals
HTML5 FundamentalsHTML5 Fundamentals
HTML5 Fundamentals
Doncho Minkov
 
Html5, a gentle introduction
Html5, a gentle introduction Html5, a gentle introduction
Html5, a gentle introduction
Diego Scataglini
 
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
{item:foo}
 
HTML5 - Future of Web
HTML5 - Future of WebHTML5 - Future of Web
HTML5 - Future of Web
Mirza Asif
 
Introduccion a HTML5
Introduccion a HTML5Introduccion a HTML5
Introduccion a HTML5
Pablo Garaizar
 
html5
html5html5
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 to 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
 

Recently uploaded

RESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for studentsRESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for students
KAMESHS29
 
Mind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AIMind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AI
Kumud Singh
 
AI 101: An Introduction to the Basics and Impact of Artificial Intelligence
AI 101: An Introduction to the Basics and Impact of Artificial IntelligenceAI 101: An Introduction to the Basics and Impact of Artificial Intelligence
AI 101: An Introduction to the Basics and Impact of Artificial Intelligence
IndexBug
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
Aftab Hussain
 
Best 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERPBest 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERP
Pixlogix Infotech
 
Infrastructure Challenges in Scaling RAG with Custom AI models
Infrastructure Challenges in Scaling RAG with Custom AI modelsInfrastructure Challenges in Scaling RAG with Custom AI models
Infrastructure Challenges in Scaling RAG with Custom AI models
Zilliz
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
mikeeftimakis1
 
Presentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of GermanyPresentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of Germany
innovationoecd
 
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with SlackLet's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
shyamraj55
 
GenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizationsGenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizations
kumardaparthi1024
 
“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”
Claudio Di Ciccio
 
Serial Arm Control in Real Time Presentation
Serial Arm Control in Real Time PresentationSerial Arm Control in Real Time Presentation
Serial Arm Control in Real Time Presentation
tolgahangng
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
Alpen-Adria-Universität
 
Mariano G Tinti - Decoding SpaceX
Mariano G Tinti - Decoding SpaceXMariano G Tinti - Decoding SpaceX
Mariano G Tinti - Decoding SpaceX
Mariano Tinti
 
UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5
DianaGray10
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
Octavian Nadolu
 
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
SOFTTECHHUB
 
HCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAUHCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAU
panagenda
 
How to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptxHow to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptx
danishmna97
 
Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1
DianaGray10
 

Recently uploaded (20)

RESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for studentsRESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for students
 
Mind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AIMind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AI
 
AI 101: An Introduction to the Basics and Impact of Artificial Intelligence
AI 101: An Introduction to the Basics and Impact of Artificial IntelligenceAI 101: An Introduction to the Basics and Impact of Artificial Intelligence
AI 101: An Introduction to the Basics and Impact of Artificial Intelligence
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
 
Best 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERPBest 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERP
 
Infrastructure Challenges in Scaling RAG with Custom AI models
Infrastructure Challenges in Scaling RAG with Custom AI modelsInfrastructure Challenges in Scaling RAG with Custom AI models
Infrastructure Challenges in Scaling RAG with Custom AI models
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
 
Presentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of GermanyPresentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of Germany
 
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with SlackLet's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
 
GenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizationsGenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizations
 
“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”
 
Serial Arm Control in Real Time Presentation
Serial Arm Control in Real Time PresentationSerial Arm Control in Real Time Presentation
Serial Arm Control in Real Time Presentation
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
 
Mariano G Tinti - Decoding SpaceX
Mariano G Tinti - Decoding SpaceXMariano G Tinti - Decoding SpaceX
Mariano G Tinti - Decoding SpaceX
 
UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
 
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
 
HCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAUHCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAU
 
How to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptxHow to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptx
 
Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1
 

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