Slides - Thinktecture

Download Report

Transcript Slides - Thinktecture

HTML5
That’s What You Need to Know Today
Ingo Rammer | thinktecture | [email protected] | @ingorammer
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: http://weblogs.thinktecture.com/ingo
• [email protected]
• @ingorammer
Today!
vision
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, http://beautyoftheweb.com/#/unplugged)
http://beautyoftheweb.com/ .........................Microsoft
http://html5.com ............................................... Apple
http://html5rocks.com/ ................................... Google
http://bit.ly/gGPnQH ........................................... 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
1
Browser
2
User
HTTP GET
Server
ASP.NET
clicks
Browser
HTTP GET
Server
ASP.NET
Ajaxified Web
1
2
HTTP GET
Browser
Server
ASP.NET
User
clicks
Browser
runs JS
Display Data
Server
WCF
Offlineable Data
1
2
HTTP GET
Browser
Server
Static HTML (maybe)
User
clicks
Browser
HTTP GET
runs JS
Local Storage
Display Data
Server
WCF
Future: Offlineable Web Apps
1
2
Browser
Cached/local HTML
3
User
clicks
Browser
runs JS
Local Storage
Display Data
Server
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 http://diveintohtml5.org
But ... isn‘t this slow?
http://bit.ly/chJslK
Let‘s see code!
HTML5: Web Storage
(localStorage, sessionStorage)
http://www.w3.org/TR/webstorage/
Detect features, not browsers!
http://modernizr.com
General Information
http://caniuse.com/
Toolkits help you ...
modernizr
HTML5 Feature Detection
http://modernizr.com
jQuery
Web Framework, HTML-based
http://jQuery.com
Ext JS
Web Framework, Object-model driven,
graphical designer (GPLv3 or commercial)
http://sencha.com/
Sencha Touch
(Android, iOS, Blackberry 6 coming)
http://sencha.com/products/touch/
jQuery Mobile
http://jquerymobile.com/
(PhoneGap to iOS, Symbian 5, Blackberry
5+, Android 1.5+, webOS 1.4.1+)
WebApp.Net
http://webapp-net.com
Great UX, small community
PhoneGap
Open Source Packager + JS for native API (extensible!)
(iOS, Android, RIM, Palm, Symbian, ... Windows Phone 7 in Fall?)
http://phonegap.com
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, knockout.js, ...)
• 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, ...)