An introduction to modern web technologies HTML5, including Offline, Storage, and Canvas Embedded JavaScript RESTful WebServices using MVC 3, jQuery, and JSON Going mobile with PhoneGap and HTML and CSS
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
Html5 and web technology update
1. • HTML5 Offline, Storage, and Canvas
• Embedded JavaScript
• RESTful WebServices using
MVC 3, jQuery, and JSON
• Go mobile with PhoneGap
Doug Domeny
Principal Software Engineer, Newforma, Inc.
July 2012
2. HTML5 Features
Video
Canvas (i.e., graphics API)
Offline support
Storage (i.e., database)
Geolocation
Form Elements
http://html5demos.com/
4. 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.
5. 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.
6. 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=“2012-05-12”>May 12, 2012</time>
http://diveintohtml5.info/semantics.html#new-elements
16. 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
17. 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
19. <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 outline
c.strokeStyle = "#F00";
c.beginPath();
c.moveTo(-r, 0);
c.lineTo(-r, -3 * r);
c.lineTo(r, -3 * r);
c.lineTo(r, 0);
// circle
c.arc(0, 0, r, 0, Math.PI * 2, true);
c.stroke();
c.restore();
20. HTML 5 canvas cheat sheet
http://blog.nihilogic.dk/2009/02/html5-canvas-cheat-sheet.html
21. Adobe PhoneGap
open source hybrid framework
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();
}
}
22. appMobi
50,000+ active developers; 25% created 3 or more
Types of apps: 40% media, 35% games, 15% retail
Apps run over 100 million times
Majority of apps published to both iOS and Android
In past 12 months, average time to complete halved to
just 8 weeks
appMobi press release: June 25, 2012
http://www.marketwatch.com/story/appmobi-crosses-100-million-hybrid-html5-app-starts-2012-06-25
23. Resources
diveintohtml5.info/
html5demos.com/
HTML 5 canvas cheat sheet
jquery.com/
embedded javascript
www.phonegap.com/
Android Apps
iPhone Apps
HTML5 apps on Windows
Phone with PhoneGap