html5 & the today of the web

71
HTML5 & the future today of the web

Post on 04-Apr-2018

217 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: HTML5 & the Today of the Web

7/31/2019 HTML5 & the Today of the Web

http://slidepdf.com/reader/full/html5-the-today-of-the-web 1/71

Page 2: HTML5 & the Today of the Web

7/31/2019 HTML5 & the Today of the Web

http://slidepdf.com/reader/full/html5-the-today-of-the-web 2/71

Hello. We are John

and Nathan. Here isa bit of background

about each of us...

Page 3: HTML5 & the Today of the Web

7/31/2019 HTML5 & the Today of the Web

http://slidepdf.com/reader/full/html5-the-today-of-the-web 3/71

Master of Divinity 

Asbury Theological Seminary

 John Dyer

Nathan Smith

Master of Theology 

Dallas Theological Seminary

+=

= +Desktop OS = Windows

Desktop OS = Mac

Mobile = iOS

Mobile = Android

Page 4: HTML5 & the Today of the Web

7/31/2019 HTML5 & the Today of the Web

http://slidepdf.com/reader/full/html5-the-today-of-the-web 4/71

What we have in common: Weare both web developers who

want to see the “Big-C” churchbetter utilize web technologies.

We also both♥ JavaScript :)

Page 5: HTML5 & the Today of the Web

7/31/2019 HTML5 & the Today of the Web

http://slidepdf.com/reader/full/html5-the-today-of-the-web 5/71

So, what is HTML5? It is thenewest version of HTML. But

also a phrase for everythingcool + new on the web. Not

all that’s labeled HTML5 *is*HTML5. But that’s okay...

Page 6: HTML5 & the Today of the Web

7/31/2019 HTML5 & the Today of the Web

http://slidepdf.com/reader/full/html5-the-today-of-the-web 6/71

New Hotness!HTML5 + CSS3 + JavaScript

Page 7: HTML5 & the Today of the Web

7/31/2019 HTML5 & the Today of the Web

http://slidepdf.com/reader/full/html5-the-today-of-the-web 7/71http://www.apple.com/html5/

Apple likes HTML5

Page 8: HTML5 & the Today of the Web

7/31/2019 HTML5 & the Today of the Web

http://slidepdf.com/reader/full/html5-the-today-of-the-web 8/71http://www.html5rocks.com/

Google likes HTML5

Page 9: HTML5 & the Today of the Web

7/31/2019 HTML5 & the Today of the Web

http://slidepdf.com/reader/full/html5-the-today-of-the-web 9/71

Mozilla (Firefox) likes HTML5

https://developer.mozilla.org/en/HTML/HTML5

Page 10: HTML5 & the Today of the Web

7/31/2019 HTML5 & the Today of the Web

http://slidepdf.com/reader/full/html5-the-today-of-the-web 10/71

Opera likes HTML5

http://www.opera.com/docs/specs/presto25/html5/

Page 11: HTML5 & the Today of the Web

7/31/2019 HTML5 & the Today of the Web

http://slidepdf.com/reader/full/html5-the-today-of-the-web 11/71http://ie.microsoft.com/testdrive/

Last (but not least) – Microsoft likes HTML5

Page 12: HTML5 & the Today of the Web

7/31/2019 HTML5 & the Today of the Web

http://slidepdf.com/reader/full/html5-the-today-of-the-web 12/71

HTML5is terse

Page 13: HTML5 & the Today of the Web

7/31/2019 HTML5 & the Today of the Web

http://slidepdf.com/reader/full/html5-the-today-of-the-web 13/71

HTML5 <!DOCTYPE html> 

XHTML 1.0 Transitional <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML1.0 Transitional//EN" "http://www.w3.org/

TR/xhtml1/DTD/xhtml1-transitional.dtd"> 

Simplified doctype declaration

Page 14: HTML5 & the Today of the Web

7/31/2019 HTML5 & the Today of the Web

http://slidepdf.com/reader/full/html5-the-today-of-the-web 14/71

HTML5 <script> 

// Code here. </script> 

XHTML 1.0 Transitional <script type="text/javascript"> 

/* <![CDATA[ */

// Code here./* ]]> */ </script> 

Simplified JavaScript embedding

Page 15: HTML5 & the Today of the Web

7/31/2019 HTML5 & the Today of the Web

http://slidepdf.com/reader/full/html5-the-today-of-the-web 15/71

HTML5 <style> 

// Code here. </style> 

XHTML 1.0 Transitional <style type="text/css"> 

// Code here. </style> 

Simplified embedded styles

Page 16: HTML5 & the Today of the Web

7/31/2019 HTML5 & the Today of the Web

http://slidepdf.com/reader/full/html5-the-today-of-the-web 16/71

HTML5 <link rel="stylesheet" href="file.css" /> 

XHTML 1.0 Transitional <link rel="stylesheet" href="file.css"type="text/css" media="all" /> 

Simplified stylesheet linking

Page 17: HTML5 & the Today of the Web

7/31/2019 HTML5 & the Today of the Web

http://slidepdf.com/reader/full/html5-the-today-of-the-web 17/71

New tagsin HTML5

Page 18: HTML5 & the Today of the Web

7/31/2019 HTML5 & the Today of the Web

http://slidepdf.com/reader/full/html5-the-today-of-the-web 18/71

 <header> 

 <footer> 

 <aside> 

 <nav> 

 <div class=”content”> 

 <article> 

 <section> 

 <hgroup> 

 <section> 

 <dialog> 

 <p> 

etc...

 <figure> 

 <figcaption> 

 <img /> 

 <details> 

 <summary> 

 <p> 

etc...

Page 19: HTML5 & the Today of the Web

7/31/2019 HTML5 & the Today of the Web

http://slidepdf.com/reader/full/html5-the-today-of-the-web 19/71

But the aforementioned tags

don’t work well in InternetExplorer (IE8 and older).

To make IE behave, youcan use an “HTML5 shim”

JavaScript library...

code.google.com/p/html5shim

Page 20: HTML5 & the Today of the Web

7/31/2019 HTML5 & the Today of the Web

http://slidepdf.com/reader/full/html5-the-today-of-the-web 20/71

... but this requires extra code and adds a bit

of fragility to your site (IE breaks w/ JS off).

The up-side is improved semantic richness. In

practicality though, there are not (yet) anytangible SEO or accessibility gains to be had.

Given the trade-offs involved, and lack oftangible benefit, we’d recommend continuing

to use <div> with “HTML5” class names...

Page 21: HTML5 & the Today of the Web

7/31/2019 HTML5 & the Today of the Web

http://slidepdf.com/reader/full/html5-the-today-of-the-web 21/71

 <div class=”header”> 

 <div class=”footer”> 

 <div class=”aside”> 

 <div class=”nav”> 

 <div class=”content”> 

 <div class=”article”> 

 <div class=”section”> 

 <div class=”hgroup”> 

 <div class=”section”> 

 <div class=”dialog”> 

 <p> 

etc...

 <div class=”figure”> 

 <div class=”figcaption”> 

 <img /> 

 <div class=”details”> 

 <div class=”summary”> 

 <p> 

etc...

Page 22: HTML5 & the Today of the Web

7/31/2019 HTML5 & the Today of the Web

http://slidepdf.com/reader/full/html5-the-today-of-the-web 22/71

... that way, you are writing code with the

“semantics” of the new HTML5 tags, without

the headaches of worrying about legacy

browser support. Then, one great day when

IE8 no longer has significant market-share,you can “flip the switch” so to speak.

Now that we’ve got those tags out of theway, let’s talk about the fun parts of HTML5.

Page 23: HTML5 & the Today of the Web

7/31/2019 HTML5 & the Today of the Web

http://slidepdf.com/reader/full/html5-the-today-of-the-web 23/71

<canvas>+ <svg>Though SVG (Scalable Vector Graphics)

pre-dates HTML5, it is finally viable now

that IE9 supports it. This means all major

browsers will support SVG and canvas.

Page 24: HTML5 & the Today of the Web

7/31/2019 HTML5 & the Today of the Web

http://slidepdf.com/reader/full/html5-the-today-of-the-web 24/71

We won’t cover <svg> or <canvas> in

detail during this talk, but two helpful

JavaScript libraries are worth noting...Raphaël (SVG) – Dmitry Baranovskiy Processing JS (Canvas) – John Resig

http://www.raphaeljs.com/ http://www.processingjs.org/

Page 25: HTML5 & the Today of the Web

7/31/2019 HTML5 & the Today of the Web

http://slidepdf.com/reader/full/html5-the-today-of-the-web 25/71

SVG is like construction paper. Layers retaindistinct shapes. SVG files can live without JS.

http://www.flickr.com/photos/124330160/2127121118/

Page 26: HTML5 & the Today of the Web

7/31/2019 HTML5 & the Today of the Web

http://slidepdf.com/reader/full/html5-the-today-of-the-web 26/71

Canvas is like a whiteboard drawing. No layers.Note: Canvas only works in the browser via JS.

http://www.flickr.com/photos/azuriblue/3350954960/

Page 27: HTML5 & the Today of the Web

7/31/2019 HTML5 & the Today of the Web

http://slidepdf.com/reader/full/html5-the-today-of-the-web 27/71

Canvas demos – ChromeExperiments.com

Page 28: HTML5 & the Today of the Web

7/31/2019 HTML5 & the Today of the Web

http://slidepdf.com/reader/full/html5-the-today-of-the-web 28/71

New <form> elements

 <select><option> ...

 <textarea></textarea>  <input type="checkbox" />  <input type="file" />  <input type="radio" />  <input type="text" /> 

... etc. <input type="date" />  <input type="datetime" />  <input type="email" />  <input type="month" />  <input type="number" />  <input type="range" />  <input type="tel" />  <input type="time" /> 

 <input type="url" /> 

HTML4,XHTML(and HTML5)

New inHTML5

All f l O

Page 29: HTML5 & the Today of the Web

7/31/2019 HTML5 & the Today of the Web

http://slidepdf.com/reader/full/html5-the-today-of-the-web 29/71

All form elements – in Opera

Ad HTML5 k b d b l d

Page 30: HTML5 & the Today of the Web

7/31/2019 HTML5 & the Today of the Web

http://slidepdf.com/reader/full/html5-the-today-of-the-web 30/71

http://www.diveintohtml5.org/forms.html

Adaptive HTML5 keyboards on mobile devices

Page 31: HTML5 & the Today of the Web

7/31/2019 HTML5 & the Today of the Web

http://slidepdf.com/reader/full/html5-the-today-of-the-web 31/71

HTML5“Apps”

E l S C d

Page 32: HTML5 & the Today of the Web

7/31/2019 HTML5 & the Today of the Web

http://slidepdf.com/reader/full/html5-the-today-of-the-web 32/71

Example – ScrumCards.net

iOS – Home screen app icon.

<link rel=”apple-touch-icon” />

iOS – No browser chrome.

Status bar color can be set.

Android – Browser chrome

always present. Caching only.

M ki HTML5 “ ” i

Page 33: HTML5 & the Today of the Web

7/31/2019 HTML5 & the Today of the Web

http://slidepdf.com/reader/full/html5-the-today-of-the-web 33/71

Making an HTML5 “app” is pretty easy

* if l fil ffli

Page 34: HTML5 & the Today of the Web

7/31/2019 HTML5 & the Today of the Web

http://slidepdf.com/reader/full/html5-the-today-of-the-web 34/71

*.manifest lets you store files offline

Page 35: HTML5 & the Today of the Web

7/31/2019 HTML5 & the Today of the Web

http://slidepdf.com/reader/full/html5-the-today-of-the-web 35/71

http://www.sencha.com/products/touch/

Ph G h l HTML5 “ ti ”

Page 36: HTML5 & the Today of the Web

7/31/2019 HTML5 & the Today of the Web

http://slidepdf.com/reader/full/html5-the-today-of-the-web 36/71

http://www.phonegap.com/

PhoneGap helps HTML5 power “native” apps

HTML5’ ( i t l) J S i t API

Page 37: HTML5 & the Today of the Web

7/31/2019 HTML5 & the Today of the Web

http://slidepdf.com/reader/full/html5-the-today-of-the-web 37/71

HTML5’s (experimental) JavaScript APIs

Desktop Features – Drag and drop – Live notifications

Browser Database – Web SQL –  IndexedDB

Much Much More!

 – document.querySelector – Geolocation

 – localStorage –  Web workers

Cool! But not(yet) ready for

prime-time.

Page 38: HTML5 & the Today of the Web

7/31/2019 HTML5 & the Today of the Web

http://slidepdf.com/reader/full/html5-the-today-of-the-web 38/71

<video>How do we make

it work reliably?

Page 39: HTML5 & the Today of the Web

7/31/2019 HTML5 & the Today of the Web

http://slidepdf.com/reader/full/html5-the-today-of-the-web 39/71

Flash was the mostreliable way to play

video on the web.

Roughly 99% of

all desktops haveFlash player.

iPhone/iPad don’t.

They do supportHTML5 <video>

http://www.apple.com/hotnews/thoughts-on-flash/

Page 40: HTML5 & the Today of the Web

7/31/2019 HTML5 & the Today of the Web

http://slidepdf.com/reader/full/html5-the-today-of-the-web 40/71

H.264 = MoneyFiguratively + Literally... It’s themost widely supported format.

But licensing costs browsermakers $5 million a year.

http://www.readwriteweb.com/archives/will_idealism_be_firefoxs_downfall.php

H 264 support in the “Big 5”

Page 41: HTML5 & the Today of the Web

7/31/2019 HTML5 & the Today of the Web

http://slidepdf.com/reader/full/html5-the-today-of-the-web 41/71

Internet Explorer 9 Google Chrome Safari

Firefox Opera

H.264 support in the Big-5

YES

NO

Page 42: HTML5 & the Today of the Web

7/31/2019 HTML5 & the Today of the Web

http://slidepdf.com/reader/full/html5-the-today-of-the-web 42/71

Ogg = “Ugh!”Nobody wants to re-encodecountless hours of video so

Firefox & Opera can play it.– And have it look sub-par.

http://www.xiph.org/ogg/

Page 43: HTML5 & the Today of the Web

7/31/2019 HTML5 & the Today of the Web

http://slidepdf.com/reader/full/html5-the-today-of-the-web 43/71

WebM/VP8From: Google, Mozilla, Adobe.Looks great. Is open source.

IE9 is on the fence. It doesn’t(yet) work on mobile devices.

http://www.webmproject.org/

Page 44: HTML5 & the Today of the Web

7/31/2019 HTML5 & the Today of the Web

http://slidepdf.com/reader/full/html5-the-today-of-the-web 44/71

1 file to rule them all...

H.264 via HTML5 with a fallback to Flash or Silverlight (playing the

same file) if the browser cannot

play H.264 natively via <video>.

http://www.mediaelementjs.com/

Native <video> UI controls

Page 45: HTML5 & the Today of the Web

7/31/2019 HTML5 & the Today of the Web

http://slidepdf.com/reader/full/html5-the-today-of-the-web 45/71

Native <video> UI controls

OPERA

SAFARI

FIREFOX

CHROME

IE9

http://dev.opera.com/articles/view/custom-html5-video-player-with-css3-and-jquery/

CSS styled video controls MediaElementJS com

Page 46: HTML5 & the Today of the Web

7/31/2019 HTML5 & the Today of the Web

http://slidepdf.com/reader/full/html5-the-today-of-the-web 46/71

CSS styled video controls – MediaElementJS.com

JavaScript <video> libraries

Page 47: HTML5 & the Today of the Web

7/31/2019 HTML5 & the Today of the Web

http://slidepdf.com/reader/full/html5-the-today-of-the-web 47/71

 JavaScript <video> libraries

 – videojs.com – projekktor.com

 – jwplayer.com – jilion.com/sublime/video

 – mediaelementjs.com

Page 48: HTML5 & the Today of the Web

7/31/2019 HTML5 & the Today of the Web

http://slidepdf.com/reader/full/html5-the-today-of-the-web 48/71

CSS3not HTML5but is still

awesome

CSS3 gradients

Page 49: HTML5 & the Today of the Web

7/31/2019 HTML5 & the Today of the Web

http://slidepdf.com/reader/full/html5-the-today-of-the-web 49/71

.gradient { background: #eee url(gradient.png) repeat-x;

 background: -webkit-gradient(linear, left top,left bottom,color-stop(0, #fff),color-stop(1, #eee));

 background: -moz-linear-gradient(top center,#fff 0%,#eee 100%);

}

CSS3 gradients

The first declaration works in all browsers. The second is for

Safari and Google Chrome, which both use the WebKitrendering engine. The last is for Firefox (Mozilla prefix).

Tip: Crop gradient images from a screenshot of a CSS3page render. Ensures visual consistency and saves work.

westciv com/tools/gradients

Page 50: HTML5 & the Today of the Web

7/31/2019 HTML5 & the Today of the Web

http://slidepdf.com/reader/full/html5-the-today-of-the-web 50/71

westciv.com/tools/gradients

CSS3 box-shadow

Page 51: HTML5 & the Today of the Web

7/31/2019 HTML5 & the Today of the Web

http://slidepdf.com/reader/full/html5-the-today-of-the-web 51/71

.drop_shadow {

-webkit-box-shadow: rgba(0, 0, 0, 0.5) 0 2px 5px;

-moz-box-shadow: rgba(0, 0, 0, 0.5) 0 2px 5px;

 box-shadow: rgba(0, 0, 0, 0.5) 0 2px 5px;

}

CSS3 box-shadow

The first declaration is for Safari and Chrome. The second isfor Firefox. The third is for all browsers, which will eventuallysupport box-shadow without a prefix.

Currently: Opera and IE9 support it.

CSS3 border-radius

Page 52: HTML5 & the Today of the Web

7/31/2019 HTML5 & the Today of the Web

http://slidepdf.com/reader/full/html5-the-today-of-the-web 52/71

.rounded_corners {

-webkit-border-radius: 5px;

-moz-border-radius: 5px;

 border-radius: 5px;

}

CSS3 border-radius

The first line is for Safari and Chrome. Second is for Firefox.The third is for all browsers, which will eventually supportborder-radius without a prefix. Currently: Opera and IE9.

More border-radius code here:gist.github.com/262663

CSS3 text-shadow

Page 53: HTML5 & the Today of the Web

7/31/2019 HTML5 & the Today of the Web

http://slidepdf.com/reader/full/html5-the-today-of-the-web 53/71

.text_shadow {text-shadow: rgba(0, 0, 0, 0.5) 0 1px 1px;

}

CSS3 text-shadow

Thankfully, all browsers that support text-shadow do so withthe exact same syntax: Chrome, Safari, Firefox, Opera.

 – No word from IE9 yet.

Page 54: HTML5 & the Today of the Web

7/31/2019 HTML5 & the Today of the Web

http://slidepdf.com/reader/full/html5-the-today-of-the-web 54/71

@font-faceTimes + Helveticahave a posse

Common fonts on Windows + Mac

Page 55: HTML5 & the Today of the Web

7/31/2019 HTML5 & the Today of the Web

http://slidepdf.com/reader/full/html5-the-today-of-the-web 55/71

Common fonts on Windows + Mac

Times

Georgia

 Arial -or- 

Helvetica

Courier

Palatino

Comic Sans

Trebuchet

Verdana

... etc.

http://www.ampsoft.net/webdesign-l/WindowsMacFonts.html

How can we use non-common fonts?

Page 56: HTML5 & the Today of the Web

7/31/2019 HTML5 & the Today of the Web

http://slidepdf.com/reader/full/html5-the-today-of-the-web 56/71

How can we use non common fonts?

Flat images: It works. But hard to maintain.

sIFR: Pretty. Uses Flash. Fails on iPhone/iPad.

Can be affected by ad-blocking extensions.

Cufón: Better. Uses JavaScript + <canvas>.

But can be intensive. Best used on headlines.

@font-face: No scripting. Pure CSS. Can be

used for any text. Yet tricky to implement.

Paul Irish’s “Bulletproof @font-face syntax”

Page 57: HTML5 & the Today of the Web

7/31/2019 HTML5 & the Today of the Web

http://slidepdf.com/reader/full/html5-the-today-of-the-web 57/71

Paul Irish s Bulletproof @font face syntax

http://paulirish.com/2009/bulletproof-font-face-implementation-syntax/

@font-face

Page 58: HTML5 & the Today of the Web

7/31/2019 HTML5 & the Today of the Web

http://slidepdf.com/reader/full/html5-the-today-of-the-web 58/71

@font face

@font-face {font-family: 'GentiumRegular';

src: url('genr102_0-webfont.eot');src: local('☺'), url('genr102_0-webfont.woff') format('woff'), url('genr102_0-webfont.ttf') format('truetype'),url('genr102_0-webfont.svg#webfontX7s0ZYjS') format('svg');

}

 p {

font-family: 'GentiumRegular';}

File generatorfontsquirrel.com/fontface/generator

Google fonts API (super easy)code.google.com/webfonts

Page 59: HTML5 & the Today of the Web

7/31/2019 HTML5 & the Today of the Web

http://slidepdf.com/reader/full/html5-the-today-of-the-web 59/71

Bible Web App

HTML5 + CSS3 + @font-face

biblewebapp.com

Page 60: HTML5 & the Today of the Web

7/31/2019 HTML5 & the Today of the Web

http://slidepdf.com/reader/full/html5-the-today-of-the-web 60/71

Page 61: HTML5 & the Today of the Web

7/31/2019 HTML5 & the Today of the Web

http://slidepdf.com/reader/full/html5-the-today-of-the-web 61/71

Page 62: HTML5 & the Today of the Web

7/31/2019 HTML5 & the Today of the Web

http://slidepdf.com/reader/full/html5-the-today-of-the-web 62/71

Page 63: HTML5 & the Today of the Web

7/31/2019 HTML5 & the Today of the Web

http://slidepdf.com/reader/full/html5-the-today-of-the-web 63/71

“Slablet”

HTML5 + CSS3 + JavaScript

host.sonspring.com/slablet

Page 64: HTML5 & the Today of the Web

7/31/2019 HTML5 & the Today of the Web

http://slidepdf.com/reader/full/html5-the-today-of-the-web 64/71

Page 65: HTML5 & the Today of the Web

7/31/2019 HTML5 & the Today of the Web

http://slidepdf.com/reader/full/html5-the-today-of-the-web 65/71

Social “Graph”Cool! But who owns your data?

Page 66: HTML5 & the Today of the Web

7/31/2019 HTML5 & the Today of the Web

http://slidepdf.com/reader/full/html5-the-today-of-the-web 66/71

Lots of standards and

protocols that aren't really

being used right now.

Facebook “Like”: not open,

social, or graphic. But funand gives advertisers data.

Helpful tool for adding “Like” buttons

Page 67: HTML5 & the Today of the Web

7/31/2019 HTML5 & the Today of the Web

http://slidepdf.com/reader/full/html5-the-today-of-the-web 67/71

http://www.openlike.org/

p g

Open social data – A cautionary tale...

Page 68: HTML5 & the Today of the Web

7/31/2019 HTML5 & the Today of the Web

http://slidepdf.com/reader/full/html5-the-today-of-the-web 68/71

p y

http://www.youropenbook.org/

Page 71: HTML5 & the Today of the Web

7/31/2019 HTML5 & the Today of the Web

http://slidepdf.com/reader/full/html5-the-today-of-the-web 71/71

Questions?John Dyer

 – twitter.com/ johndyer – johndyer.name

Nathan Smith – twitter.com/nathansmith – sonspring.com