74
David Pallmann GM Custom App Dev, Neudesic http://davidpallmann.blogspot.com @davidpallmann

The Modern Web, Part 2: HTML5

Embed Size (px)

DESCRIPTION

Part 2 in Neudesic's series on the Modern Web. This installment focuses on HTML5.

Citation preview

Page 1: The Modern Web, Part 2: HTML5

David Pallmann GM Custom App Dev, Neudesic http://davidpallmann.blogspot.com @davidpallmann

Page 2: The Modern Web, Part 2: HTML5

Part 1: Mobility Part 2: HTML5 Part 3: Social Networking Part 4: Cloud Computing

Page 3: The Modern Web, Part 2: HTML5

Some Opening Questions The Modern Web Why All The Excitement? Impact on Developers HTML5 in Action Walk-through: HTML5 & Modernizr HTML5 + Microsoft Some Closing Questions

Page 4: The Modern Web, Part 2: HTML5
Page 5: The Modern Web, Part 2: HTML5
Page 6: The Modern Web, Part 2: HTML5
Page 7: The Modern Web, Part 2: HTML5

Web just keeps growing in importance Rising experiences & expectations On our devices Social Everywhere Part of our lifestyle

Page 8: The Modern Web, Part 2: HTML5

Web just keeps growing in importance Rising experiences & expectations On our devices Social Everywhere Part of our your customers’ & employees’ lifestyle

RELEVANCE

Page 9: The Modern Web, Part 2: HTML5
Page 10: The Modern Web, Part 2: HTML5

Front-End Back-End

Page 11: The Modern Web, Part 2: HTML5

Front-End

HTML5 Lingua franca for desktop &

mobile web applications

Mobility Tablets and phones

Power More capable

devices & browser h/w acceleration

Experiences Compelling, touch-oriented experiences

Page 12: The Modern Web, Part 2: HTML5

Cloud Computing Elastic scale,

consumption-based pricing

Social Social network content, interactions & web identity

CDNs Content Delivery

Networks

Marketplaces App stores, data marketplaces

Back-End

Page 13: The Modern Web, Part 2: HTML5
Page 14: The Modern Web, Part 2: HTML5

HTML5 CSS3 JavaScript SVG 100+!

Page 15: The Modern Web, Part 2: HTML5

Source: Shutterstock.com #86494345

Source: Shutterstock.com #72009739

Page 16: The Modern Web, Part 2: HTML5
Page 17: The Modern Web, Part 2: HTML5
Page 18: The Modern Web, Part 2: HTML5

Video & Audio without plugins Scalable Vector Graphics w/o plugins New semantic tags Geolocation CSS3, including custom fonts, rounded corners Drag and drop Canvas – 2D drawing, WebGL – 3D graphics New form elements, input types & validation HTML manifest (app caching) & offline storage Hardware acceleration in modern browsers

Page 19: The Modern Web, Part 2: HTML5

VALU

E

TIME

HIGH-END MARKET

LOW-END MARKET

The Innovator’s Dilemma

Page 20: The Modern Web, Part 2: HTML5

FRONT END OPEN BACK END MICROSOFT PLATFORM

CSS

HTML

Java Script

ASP.NET

Windows Server

WCF

SQL Server

BROWSER SERVER

Page 21: The Modern Web, Part 2: HTML5

FRONT END OPEN BACK END MICROSOFT PLATFORM

.NET

ASP.NET

Windows Server

WCF

SQL Server

BROWSER SERVER

Silverlight

XAML

Page 22: The Modern Web, Part 2: HTML5

FRONT END OPEN BACK END MICROSOFT PLATFORM

CSS3

HTML5

SVG

Java Script

ASP.NET

Windows Server

WCF

SQL Server

BROWSER SERVER

Much more of the application is here now!

Same app can run on PC Browsers and touch devices like tablets

JavaScript & open source libraries

Page 23: The Modern Web, Part 2: HTML5

We need to learn web development over again We’re used to doing advanced UI in proprietary technologies, not HTML + CSS + JavaScript Need JavaScript mastery to equal what we use on the back-end (e.g. C#, PHP, …) State of tooling, controls, templates Browser/version/feature compatibility Projects will take longer – estimation danger Not unusual to implement UI more than once in order for it to work everywhere (for example, HTML5 as well as Silverlight)

Page 24: The Modern Web, Part 2: HTML5

There’s still a place for your favorite web platform Worldwide pool of online resources & code sharing http://html5test.com/ http://findmebyIP.com http://caniuse.com http://css3maker.com

Page 25: The Modern Web, Part 2: HTML5

HTML5 GRIEF PROCESS 1. SHOCK & DENIAL 2. PAIN & GUILT 3. ANGER & BARGAINING 4. DEPRESSION 5. UPWARD TURN 6. WORKING THROUGH 7. ACCEPTANCE & HOPE

Page 26: The Modern Web, Part 2: HTML5

http://www.cake23.de/traveling-wavefronts-lit-up.html

Page 27: The Modern Web, Part 2: HTML5

http://madebyevan.com/webgl-water/

Page 28: The Modern Web, Part 2: HTML5

http://chrome.angrybirds.com

Page 29: The Modern Web, Part 2: HTML5

http://lucidchart.com

Page 30: The Modern Web, Part 2: HTML5

http://alteredqualia.com/canvasmol/

Page 31: The Modern Web, Part 2: HTML5

http://www.craftymind.com/factory/html5video/CanvasVideo.html

Page 32: The Modern Web, Part 2: HTML5

http://www.craftymind.com/factory/html5video/CanvasVideo.html

Page 33: The Modern Web, Part 2: HTML5

?

It isn’t going to “land”, it’s going to come closer HTML5 standards won’t finalize till 2014-2020 As individual features become widely supported in current browsers, we can use them

Page 34: The Modern Web, Part 2: HTML5

No plug-ins needed for video and audio Media controls built into browser Try it on w3schools.com Demo – Tron Legacy (apple.com/html5)

Page 35: The Modern Web, Part 2: HTML5
Page 36: The Modern Web, Part 2: HTML5

Web fonts Font effects Google Web Fonts Demo – OutsideTheBoxPizza.com

Page 37: The Modern Web, Part 2: HTML5
Page 38: The Modern Web, Part 2: HTML5

http://responsive-tours.com

Page 39: The Modern Web, Part 2: HTML5

http://www.romancortes.com/blog/pure-css-coke-can/

Page 40: The Modern Web, Part 2: HTML5

http://animatable.com/demos/madmanimation/

Page 41: The Modern Web, Part 2: HTML5

http://www.apple.com/html5/showcase/transitions/

Page 42: The Modern Web, Part 2: HTML5

@media all and (max-width: 800px) { #nav { border: 5px solid #131e31; position: fixed; top: 75px; left: 10px; height: auto; } #main { margin-left: 0px; } .saveSpace { display: none; } }

Page 43: The Modern Web, Part 2: HTML5

Responsive Web Design Ethan Marcotte http://ABookApart.com

Page 44: The Modern Web, Part 2: HTML5

Make Intentional Decisions: What browsers and devices to support? How many versions back? Do you need to implement fallback behaviors?

Highly useful tools in browser compatibility: Shims / polyfills Modernizr / html5shiv Multi-browser testing tools Mobile device emulators

Page 45: The Modern Web, Part 2: HTML5

Taking Advantage of HTML5 and CSS3 with Modernizr by Faruk Ateş http://www.alistapart.com/articles/taking-advantage-of-html5-and-css3-with-modernizr/

Page 46: The Modern Web, Part 2: HTML5

1. Create web site foundation with Modernizr 2. Add content 3. Add styling – including conditional styling

Page 47: The Modern Web, Part 2: HTML5

<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>My Beautiful Sample Page</title> <script src="modernizr-1.5.min.js"> </script> </head> … </html>

Page 48: The Modern Web, Part 2: HTML5

<!DOCTYPE html> <html class="no-js"> <head> <meta charset="utf-8"> <title>My Beautiful Sample Page</title> <script src="modernizr-1.5.min.js"> </script> </head> … </html>

"

Page 49: The Modern Web, Part 2: HTML5

<!DOCTYPE html> <html class="js canvas canvastext no-geolocation rgba hsla multiplebgs borderimage borderradius boxshadow opacity cssanimations csscolumns cssgradients cssreflections csstransforms csstransforms3d csstransitions video audio localstorage sessionstorage webworkers applicationcache fontface"> <head> <meta charset="utf-8"> <title>My Beautiful Sample Page</title> <script src="modernizr-1.5.min.js"> </script>

"

Page 50: The Modern Web, Part 2: HTML5

<script> ... if (Modernizr.touch) { // bind to touchstart, touchmove, etc. } else { // bind to normal click, mousemove, etc. } ... </script>

"

Page 52: The Modern Web, Part 2: HTML5

"

.borderradius #content { border: 1px solid #141414; -webkit-border-radius: 12px; -moz-border-radius: 12px; border-radius: 12px; } boxshadow #content { border: none; -webkit-box-shadow:rgba(0,0,0,.5) 3px 3px 6px; -moz-box-shadow: rgba(0,0,0,.5) 3px 3px 6px; box-shadow: rgba(0,0,0, .5) 3px 3px 6px; }

Page 53: The Modern Web, Part 2: HTML5

"

h1 { color: #e33a89; font: 27px/27px Baskerville, Palatino, "Palatino Linotype", "Book Antiqua", Georgia, serif; margin: 0; text-shadow: #aaa 5px 5px 5px; } @font-face { src: url(Beautiful-ES.ttf); font-family: "Beautiful"; } .fontface h1 { font: 42px/50px Beautiful; text-shadow: none; }

Page 54: The Modern Web, Part 2: HTML5

Site with Conditional CSS Styling

"

@font-face CSS Columns CSS Animation CSS 2D Transform Border Radius Box Shadow

Page 55: The Modern Web, Part 2: HTML5

Site with Conditional CSS Styling

"

@font-face CSS Columns CSS Animation CSS 2D Transform Border Radius Box Shadow

Page 56: The Modern Web, Part 2: HTML5

Site with Conditional CSS Styling

"

@font-face CSS Columns X CSS Animation CSS 2D Transform Border Radius Box Shadow

Page 57: The Modern Web, Part 2: HTML5

Site with Conditional CSS Styling

"

@font-face CSS Columns X CSS Animation X CSS 2D Transform Border Radius Box Shadow

Page 58: The Modern Web, Part 2: HTML5

Site with Conditional CSS Styling

"

X @font-face CSS Columns X CSS Animation X CSS 2D Transform X Border Radius X Box Shadow

Page 59: The Modern Web, Part 2: HTML5
Page 60: The Modern Web, Part 2: HTML5
Page 61: The Modern Web, Part 2: HTML5
Page 62: The Modern Web, Part 2: HTML5

Microsoft Web Platform strongly supports HTML5, CSS3, and JavaScript

ASP.NET 4.5 MVC4 Visual Studio 11 Expression Suite

Windows Azure is the perfect platform for supporting HTML5 web / mobile / social Best of breed: open front end + MS back end

Page 63: The Modern Web, Part 2: HTML5

DEDICATED BACK END

Web Services

Web Application

IIS

SQL Server DESKTOP

BROWSER

WEB SERVER

Windows Server

DATABASE SERVER

HOMOGENOUS FRONT END

Page 64: The Modern Web, Part 2: HTML5

DECENTRALIZED BACK END

Business Services

Application

TABLET

CLOU

D

HETEROGENEOUS FRONT END

DESKTOP BROWSER

PHONE

Identity Services

IP

Data Stores

Platform Services

Directories

Partner Services

PARTNER

Data Stores

Page 65: The Modern Web, Part 2: HTML5

The Front End Open Standards

HTML5 CSS JavaScript Modernizr JQuery No plug-ins or proprietary web technologies

The Back End Microsoft Web Platform

IIS, ASP.NET, MVC Microsoft Cloud Platform

Windows Azure Compute Windows Azure Storage SQL Azure Service Bus Access Control Service Cache Service CDN Traffic Manager

“Connected Devices, Continuous Services”

Page 66: The Modern Web, Part 2: HTML5

HTML5 Mobile Social Cloud

8-Part Tutorial on David Pallmann’s Blog davidpallmann.blogspot.com Source code at http://responsivetours.codeplex.com

Page 67: The Modern Web, Part 2: HTML5

8-Part Tutorial http://davidpallmann.blogspot.com/2011/12/mobile-global-in-7-steps-with-html5-mvc.html Source Code on CodePlex http://responsivetours.codeplex.com Online Demo http://responsive-tours.com

Page 68: The Modern Web, Part 2: HTML5

HTML5 Mobile Social Cloud

Look for upcoming blog series on how this application was built

Page 69: The Modern Web, Part 2: HTML5
Page 70: The Modern Web, Part 2: HTML5
Page 71: The Modern Web, Part 2: HTML5
Page 72: The Modern Web, Part 2: HTML5
Page 73: The Modern Web, Part 2: HTML5
Page 74: The Modern Web, Part 2: HTML5

David Pallmann GM Custom App Dev, Neudesic http://davidpallmann.blogspot.com @davidpallmann

Thanks!