HTML5 That’s what you need to know today Ingo Rammer, thinktecture
Ingo Rammer and thinktecture Support and consulting for software architects and developers Architectural Consulting and Prototyping Developer-Coaching and -Mentoring Application Optimization, Troubleshooting, Debugging Architecture and Code Reviews Slides/Samples:
not a collection of HTML5 tips and tricks
vision Today!
Ingo != Microsoft
"We believe that HTML5 and related technologies, in conjunction with faster and faster browsers, finally give developers the tools they need to create experiences that are just as vivid, interactive and high-fidelity as what you have come to expect from native applications without the need for plug-ins.” (Microsoft,
Apple Google RIM
HTML5 + CSS3 + JS Common Application Platform Desktops, Tablets, Mobile
Windows, Mac, Linux Mobile: iOS, Android, Blackberry 5+, Symbian 5, webOS, Windows Phone 7 (Fall 2011)
Write once, run everywhere?
Or rather: write once, debug everywhere?
Old School Web Browser Server ASP.NET HTTP GET Dynamically generated HTML User Browser clicks Server ASP.NET HTTP GET Dynamically generated HTML 1 2
Ajaxified Web Browser Server ASP.NET HTTP GET Dynamically generated HTML User Browser clicks Server WCF HTTP GET Data only 1 2 runs JS Display Data
Offlineable Data Browser Server HTTP GET Static HTML (maybe) User Browser clicks Server WCF HTTP GET Data only 1 2 runs JS Display Data Local Storage
Future: Offlineable Web Apps Browser User Browser clicks 1 2 runs JS Display Data Cached/local HTML Local Storage 3 Server Sync via HTTP POST + GET when online
HTML5: Application Cache (work in progress)
HTML5 + CSS3 + JS Common Application Platform Desktops, Tablets, Mobile
HTML5: When will it be done?
HTML5: When will it be ready?
But...
But... Javascript SUCKS!
You might have missed the best parts!
This book might change everything you think about Javascript.
And while we‘re at it...
Online for free at
But... isn‘t this slow?
Let‘s see code!
HTML5: Web Storage (localStorage, sessionStorage)
Detect features, not browsers!
General Information
Progressive Enhancement
Hashchange Back/Forward/URLs
Toolkits help you...
modernizr HTML5 Feature Detection
jQuery Web Framework, HTML-based
Ext JS Web Framework, Object-model driven, graphical designer (GPLv3 or commercial)
Sencha Touch (Android, iOS, Blackberry 6 coming)
jQuery Mobile (PhoneGap to iOS, Symbian 5, Blackberry 5+, Android 1.5+, webOS )
WebApp.Net Great UX, small community
PhoneGap Open Source Packager + JS for native API (extensible!) (iOS, Android, RIM, Palm, Symbian,... Windows Phone 7 in Fall?)
Organizational Framework Detect features, not browsers Pick your level of abstraction Frameworks help! jQuery, Dojo, Prototype, ExtJS,...
Technological Platform Local storage (localStorage, sessionStorage) Local drawing (canvas) Semantic information (markup, input types) Abstractions (datajs, jQuery, jqplot, jqGrid, jQuery Mobile) CSS3 (incl. animations, transitions,...) Future: Web Workers, Web Sockets
And more... Polyfills and shims for backward compatibility Resource combination (JS + CSS) You don‘t *have* to develop everything in one file, but you should ship only one file Minification, Compression,... You *can* use descriptive method, function and variable names Advanced Javascript techniques! Packagers for mobile OSes (PhoneGap,...)
Stay up to date with MSDN Belux Register for our newsletters and stay up to date: Technical updates Event announcements and registration Top downloads Follow our blog Join us on Facebook LinkedIn: Download MSDN/TechNet Desktop Gadget
TechDays 2011 On-Demand Watch this session on-demand via Channel9 Download to your favorite MP3 or video player Get access to slides and recommended resources by the speakers
THANK YOU
"We believe that HTML5 and related technologies […] high-fidelity as what you have come to expect from native applications without the need for plug-ins.”