Download - Html5 - Un anno dopo

Transcript
Page 1: Html5 - Un anno dopo

HTML5Un anno dopo...

Page 2: Html5 - Un anno dopo

Cristiano Rastelli

➜ Freelance (“Area Web”)

➜ Developer & Designer(da oltre un decennio)

➜ Web + App UI + Mobile

➜ Passionate of UX, AI, Agile

Page 3: Html5 - Un anno dopo

DEFINIZIONE

Page 4: Html5 - Un anno dopo

HTML5

W3CWHATWGSTANDARD

Rif: [1] [2] [3]

Page 5: Html5 - Un anno dopo

HTML5

Page 6: Html5 - Un anno dopo

HTML5CSS3 GEO

Local-databaseWebworkers Websockets

Font-embeddingJavascript “magics”

Page 7: Html5 - Un anno dopo

HTML5Open Web Stack

NEWTRif: [4]

Page 8: Html5 - Un anno dopo

BREVEMENTE

Page 9: Html5 - Un anno dopo

Novità nel linguaggio:

• introduzione di nuovi elementi semantici

• introduzione di nuovi attributi (anche “custom”)

• eliminazione elementi/attributi obsoleti

• definizione di un nuovo doctype

• definizione di nuove regole di sintassi

HTML5 in due minuti...

Rif: [5]

Page 10: Html5 - Un anno dopo

Introduzione di nuove API per semplificare lo sviluppo di applicazioni web:

• disegno bidimensionale su canvas

• riproduzione audio/video integrata

• gestione di storage di dati locali

• geo-localizzazione dell’utente

• gestione dello stato offline delle pagine web

• utilizzo di processi paralleli e in background

HTML5 in due minuti...

Rif: [5]

Page 11: Html5 - Un anno dopo

E molto altro ancora:

• drag&drop

• postMessage

• browser history

• editing nativo

• registerProtocolHandler

• querySelectorAll

HTML5 in due minuti...

Rif: [5]

Page 12: Html5 - Un anno dopo

Canvas

Audio/Video

Storage

Offline

Workers/Sockets

Form 2.0

Geolocation

Supporto da parte dei browser

Rif: [6] [7] [8] [9] [10]

* * * *

Page 13: Html5 - Un anno dopo

+1 ANNO

Page 14: Html5 - Un anno dopo

5Come già previstoHTML5 è subitodiventata una buzzword…

Page 15: Html5 - Un anno dopo

Ci permette di “parlarne”.

Page 16: Html5 - Un anno dopo

Ci permette di “vendere”.

Page 17: Html5 - Un anno dopo

Ci permette di “bullarci”

Page 18: Html5 - Un anno dopo

Rif: [11] [12] [13]

Page 19: Html5 - Un anno dopo

Contrordine, compagni!

HTML5

Page 20: Html5 - Un anno dopo

Contrordine, compagni!

HTML

Page 21: Html5 - Un anno dopo

HTML5 diventa HTML

“After that we realised that the demand for new features in HTML remained high […] we moved to a new development model, where the technology is not versioned and instead we just have a living document that defines the technology as it evolves.”

“The WHATWG HTML spec can now be considered a "living standard". […] it made no sense for us to keep referring to it as merely a draft. We will no longer be following the "snapshot" model of spec development […]”

WHATWG - "HTML is the new HTML5"

Rif: [14] [15] [16]

Page 22: Html5 - Un anno dopo

Flash is (almost) dead

Rif: [17]

Page 23: Html5 - Un anno dopo

HTML5 è ormai “mainstream”

http://www.google.com/trends?q=html5

Google Trends per “HTML5”

Page 24: Html5 - Un anno dopo

Apple

Rif: [18]

Page 25: Html5 - Un anno dopo

Google

Rif: [19]

Page 26: Html5 - Un anno dopo

Microsoft

Rif: [20]

Page 27: Html5 - Un anno dopo

Microsoft

Rif: [20]

Page 28: Html5 - Un anno dopo

World Wide Web Consortium

Rif: [11]

Page 29: Html5 - Un anno dopo

Adobe

Page 30: Html5 - Un anno dopo

Adobe

Page 31: Html5 - Un anno dopo

HTML5 “toolboxes”

Page 32: Html5 - Un anno dopo

FrameworksMulti-device & Multi-platform

Page 33: Html5 - Un anno dopo

SproutCore

http://www.sproutcore.com/

Page 34: Html5 - Un anno dopo

The-M-Project

http://www.the-m-project.org/

Page 35: Html5 - Un anno dopo

Appcelerator (a.k.a. Titanium)

http://www.appcelerator.com

Page 36: Html5 - Un anno dopo

PhoneGap

http://www.phonegap.com/

Page 37: Html5 - Un anno dopo

Sencha Touch

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

Page 38: Html5 - Un anno dopo

Jo

http://joapp.com/

Page 39: Html5 - Un anno dopo

Jo

http://joapp.com/

Page 40: Html5 - Un anno dopo

Polyfills

Page 41: Html5 - Un anno dopo

No, non ho detto “polisucco”

Page 42: Html5 - Un anno dopo

Modernizr

http://www.modernizr.com/

Page 43: Html5 - Un anno dopo

HTML5 Shiv

http://code.google.com/p/html5shiv/

Page 44: Html5 - Un anno dopo

Boilerplates

Page 45: Html5 - Un anno dopo

HTML5 Boilerplate

http://html5boilerplate.com/

Page 46: Html5 - Un anno dopo

Initializr

http://initializr.com/

Page 47: Html5 - Un anno dopo

Baker

http://bakerframework.com/

Page 48: Html5 - Un anno dopo

Font-services

Page 49: Html5 - Un anno dopo

Typekit

http://typekit.com/

Page 50: Html5 - Un anno dopo

Fontdeck

http://fontdeck.com/

Page 51: Html5 - Un anno dopo

Fontspring

http://www.fontspring.com/fontface

Page 52: Html5 - Un anno dopo

Kernest

http://kernest.com/

Page 53: Html5 - Un anno dopo

Typotheque

http://www.typotheque.com/webfonts

Page 54: Html5 - Un anno dopo

Fonts.com

http://webfonts.fonts.com/

Page 55: Html5 - Un anno dopo

FontShop

http://www.fontshop.com

Page 56: Html5 - Un anno dopo

The League of Moveable Type

http://www.theleagueofmoveabletype.com/

Page 57: Html5 - Un anno dopo

ESPERIENZA

Page 58: Html5 - Un anno dopo

L’effetto iPad

Page 59: Html5 - Un anno dopo

L’effetto iPad (1)

Se non si vede oppure non funziona su iPad, non esiste.

Page 60: Html5 - Un anno dopo

L’effetto iPad (2)

web-application<html5>

native-application (shell)

browser (player)

Page 61: Html5 - Un anno dopo

iTunes Store è in HTML!

Page 62: Html5 - Un anno dopo

Adozione nei progetti recenti

Chi Cosa Come

Quotidiano Web-App per iPad CSS3

Quotidiano Mobile Web Version CSS3

Finanziaria Gestionale Web CSS3 + Chrome-only

Evento Sito Web HTML5 + CSS3 avanzato

Scuola Sito Web HTML5 + CSS3

Banca Magazine Web HTML5 + CSS3 avanzato

Page 63: Html5 - Un anno dopo

Adozione nei progetti recenti

Chi Cosa Come

Quotidiano Web-App per iPad CSS3

Quotidiano Mobile Web Version CSS3

Finanziaria Gestionale Web CSS3 + Chrome-only

Evento Sito Web HTML5 + CSS3 avanzato

Scuola Sito Web HTML5 + CSS3

Banca Magazine Web HTML5 + CSS3 avanzato

Prossimi progetti: 6 su 6 con HTML5+CSS3 avanzati

Page 64: Html5 - Un anno dopo

Requisiti di progetto

Page 65: Html5 - Un anno dopo

“Il sito andrà sviluppato per versioni di Internet Explorer 7 e superiori.

In una fase immediatamente successiva al lancio, verrà valutata l’opportunità di realizzare versioni ad-hoc per iPad, tablet e terminali mobili.

Si richiede infine che, in una fase successiva, il sito sia compatibile anche con Internet Explorer 6.”

Requisiti di progetto

Page 66: Html5 - Un anno dopo

Confini ben delimitati

Page 67: Html5 - Un anno dopo

Molteplicità + Compatibilità

Multi-Browser

Multi-Platform

Multi-Device

Page 68: Html5 - Un anno dopo

“Hortus conclusus”

Page 69: Html5 - Un anno dopo

CONCRETAMENTE

Page 70: Html5 - Un anno dopo

Frameworks & co.

• HTML5 Shiv: it really rules!

• Domani: Modernizr (forse)

• Boilerplates: si può imparare molto studiando come sono realizzati, ma in un contesto di “hortus-conclusus” spesso sono troppo o generici o specifici per essere usati

• Molto “trial & error”!

Page 71: Html5 - Un anno dopo

Svolta davvero “epocale”!

Progressive Enhancement

Graceful Degradation

Sviluppo per IE6, poi lo faccio andare bene anche su Firefox, Chrome e Safari

Sviluppo per browser di tipo evoluto (iPad compreso)facendo in modo che su browser più vecchi

si veda comunque in modo decente

Page 72: Html5 - Un anno dopo

<HEAD/>

<!-- [META TAGS] --><meta name="viewport" content="width=device-width, maximum-scale=1.0, user-scalable=yes"><meta name="apple-mobile-web-app-capable" content="yes" /><meta name="apple-mobile-web-app-status-bar-style" content="black" />

<!-- [FILE CSS] --><link rel="stylesheet" href="style.css" media="screen" /><link rel="stylesheet" href="style_iphone.css" media="screen and (max-device-width: 480px)" /> <link rel="stylesheet" href="style_ipad.css" media="screen and (min-device-width: 768px) and (max-device-width: 1024px)" />

<!-- [ICONS] --><link rel="apple-touch-icon" href="/home_icon.png"/><link rel="apple-touch-startup-image" href="/splash_image.png" />

<!--[if lt IE 9]><script src="script/js/html5shim.js"></script><![endif]-->

Page 73: Html5 - Un anno dopo

“Divitis”

Rif: [21] [22]

Page 74: Html5 - Un anno dopo

“Divitis”

Rif: [21] [22]

<body> <div id=”boxWrapper”> <div id=”boxHeaderWrap”> <div id=”boxHeader”/> <div id=”boxMenu”/> </div> <div id=”boxRoot”> <div class=”heading”> <h1/> </div> <div id=”boxMain”> ……… </div> </div> </div> <div id=”boxFooter”>…</div></body>

PR

IMA

Page 75: Html5 - Un anno dopo

“Divitis”

Rif: [21] [22]

<body> <div id=”boxWrapper”> <div id=”boxHeaderWrap”> <div id=”boxHeader”/> <div id=”boxMenu”/> </div> <div id=”boxRoot”> <div class=”heading”> <h1/> </div> <div id=”boxMain”> ……… </div> </div> </div> <div id=”boxFooter”>…</div></body>

PR

IMA

<body> <section> <aside> <header/> <nav/> </aside> <article> <hgroup> <h1/> </hgroup> <section> ……… </section> </article> </section> <footer>…</footer></body>

DO

PO

Page 76: Html5 - Un anno dopo

CSS3

• @font-face (font-embedding)

• @media-orientation (iPad/iPhone)

• multiple backgrounds

• gradients

• rounded corners

• box & text shadows

• alpha colors (rgba)

• transitions & transformations

Page 77: Html5 - Un anno dopo

@font-face

@font-face { font-family: 'MySuperWebFont'; src: url('superwebfont.eot'); src: local('☺'), url('superwebfont.woff') format('woff'), url('superwebfont.ttf') format ('truetype'), url('superwebfont.svg#webfontc2vQD8pF') format('svg'); font-weight: normal; font-style: normal;}

p { font-family: MySuperWebFont, Verdana, Arial, sans; }

Page 78: Html5 - Un anno dopo

@font-face

@font-face { font-family: 'MySuperWebFont'; src: url('superwebfont.eot'); src: local('☺'), url('superwebfont.woff') format('woff'), url('superwebfont.ttf') format ('truetype'), url('superwebfont.svg#webfontc2vQD8pF') format('svg'); font-weight: normal; font-style: normal;}

p { font-family: MySuperWebFont, Verdana, Arial, sans; }

Page 79: Html5 - Un anno dopo

@media-orientation

Page 80: Html5 - Un anno dopo

Sfruttare il “cascade”/* ---- layout ---- */margin: 0px; padding: 0px;

/* ---- formatting ---- */font-family: Helvetica, Arial, sans-serif; font-size: 16px; color: #333333;background: #E4E4E4 url(xxx.png) repeat-x top left;border: 10px solid #FFFFFF;

/* ---- css3 ---- */background-image: -webkit-gradient(linear, 0 0, 0 100%, from(rgba), to(rgba));background-image: -moz-linear-gradient(rgba, rgba);-webkit-background-size: 1200px 375px;-moz-background-size: 1200px 375px;-webkit-border-radius: 10px;-moz-border-radius: 10px;border-radius: 10px;

Page 81: Html5 - Un anno dopo

Sfruttare il “cascade”/* ---- layout ---- */margin: 0px; padding: 0px;

/* ---- formatting ---- */font-family: Helvetica, Arial, sans-serif; font-size: 16px; color: #333333;background: #E4E4E4 url(xxx.png) repeat-x top left;border: 10px solid #FFFFFF;

/* ---- css3 ---- */background-image: -webkit-gradient(linear, 0 0, 0 100%, from(rgba), to(rgba));background-image: -moz-linear-gradient(rgba, rgba);-webkit-background-size: 1200px 375px;-moz-background-size: 1200px 375px;-webkit-border-radius: 10px;-moz-border-radius: 10px;border-radius: 10px;

Page 82: Html5 - Un anno dopo

NoSQL Day (Brescia - 25 marzo 2011)

Rif: [23]

Page 83: Html5 - Un anno dopo

PREVISIONI

Page 84: Html5 - Un anno dopo

“It's taken 20 years because the underlying standards had to evolve from the proprietary Mac and Windows platforms. But they have both adoptedHTML5 as a future direction.

So that means in future a lot of appswill be running in HTML5 in both mobile and non-mobile form”

Eric Schmidt - CEO Google Inc.

HTML5, la piattaforma

Page 85: Html5 - Un anno dopo

www.didoo.net

Grazie per l’attenzione.

Cristiano Rastelli

Page 86: Html5 - Un anno dopo

REFERENZE

Page 87: Html5 - Un anno dopo

http://www.w3.org/TR/html5/[1]

Links[2]

[3]

[4]

http://dev.w3.org/html5/spec/

http://www.whatwg.org/html/

http://www.brucelawson.co.uk/2010/meet-newt-new-exciting-web-technologies/[5] http://robertnyman.com/2009/10/14/an-introduction-to-html5/[6] http://caniuse.com/ [7] http://www.html5test.com/ [8] http://www.findmebyip.com/[9] http://wiki.whatwg.org/wiki/Implementations_in_Web_browsers[10] http://en.wikipedia.org/wiki/Comparison_of_layout_engines_(HTML5)[11] http://www.w3.org/html/logo/[12] http://www.webstandards.org/2011/01/18/regarding-the-html5-logo/[13] http://adactio.com/journal/4289/[14] http://blog.whatwg.org/html-is-the-new-html5[15] http://www.zeldman.com/2011/01/27/html5-vs-html/[16] http://www.456bereastreet.com/archive/201101/html_beyond_html5/[17] http://www.apple.com/hotnews/thoughts-on-flash/[18] http://www.apple.com/html5/[19] http://www.html5rocks.com/

Page 88: Html5 - Un anno dopo

http://ie.microsoft.com/testdrive/[20]

Links[21]

[22]http://en.wiktionary.org/wiki/divitis

http://nate.koechley.com/blog/2006/12/15/divitis_and_correct_div_usage/

»

»»

http://diveintohtml5.org/

»

http://html5doctor.com/

»

http://html5demos.com/

»

http://html5gallery.com/

http://html5test.com/

http://www.html5rocks.com/

[23] http://nosqlday.it