Klaus HTML5 de Vries

© IAP GmbH – PUG Challenge Americas 2013 IAP fact sheet

 Progress work experience since 1989 Founded 1994 in Hamburg, Germany Longest customer relationship exists since 1993 25 motivated members of staff  Fields of work – 90% Progress OF-1 (Object Framework - One) Consulting, technology transfer, development Viper, PCase, Skin- (Mobile, Java, HTML5)

© IAP GmbH – PUG Challenge Americas 2013 Session will cover

 Expectations  History  Technology + Examples  Development with HTML5  Libraries and Frameworks  JQuery calling OE live demo  Conclusion

© IAP GmbH – PUG Challenge Americas 2013 Expectations – thoughts

 Better HTML, less JS, → Better performance  Replace 3rd party products (like Flash, ActiveX)  Will make web programming easier  Will make browser more compatible (less browser sniffing)  Can make Flash like painting  Can have app like applications (work local, sync later), Google docs  It is only about Audio and Video  Animations in 2 and 3D  I have no idea at all

© IAP GmbH – PUG Challenge Americas 2013 Expectations – questions

 Difference to AJAX?  Is it a tool or a technology (will replace AJAX)?  Is is more than HTLM4 + JS?  Difference to DHTML?  Is there more then the video tag?  Difference to Flash and Silverlight?

© IAP GmbH – PUG Challenge Americas 2013 Timeline

 2000 HTML 4.01 defined  2004 Web Hypertext Application Technology Working Group Started  2007 Adobe and MS want to rule “Any Device” with Flash / SL  2010 April, Apple banned Flash  2011 Nov., Adobe / MS stopped Flash / Silverlight for mobile devices  2011 HTML5 started to become de-facto standard  2014 HTML 5 should be a recommendation by end of year

© IAP GmbH – PUG Challenge Americas 2013 Hero or Zero

OR

© IAP GmbH – PUG Challenge Americas 2013 Semantic elements

 The Web is text and text has a meaning  Examples of semantic elements in HTML5: article aside figcaption figure footer header hgroup mark nav section http://playground.html5rocks.com/#semantic_markuphtml

© IAP GmbH – PUG Challenge Americas 2013 New input types

 tel telephone numbers  search search text  url URL  email single address or list  datetime date/time with time zone  date date without time zone  number numeric input  range numerical range (1-5)  colour chose colour through colour wheel  more... http://mitemitreski.com/demo/html5/input.htmlhtml

© IAP GmbH – PUG Challenge Americas 2013 Canvas element

 Draw lines, use images, use videos  Paint anything anywhere http://www.craftymind.com/factory/html5video/CanvasVideo.html http://guciek.github.com/burn_canvas.html http://www.movikantirevo.com/

© IAP GmbH – PUG Challenge Americas 2013 Drag and Drop

 Native drag and drop in browser  Interactive sites http://www.mariaantoniettaperna.com/...StickyNotes.html

© IAP GmbH – PUG Challenge Americas 2013 Web Storage Systems

 Storage space 5MB+, may ask for more  Web Storage (local and session, fast 'n easy)  Web SQL Database (deprecated) / IndexedDB (object db)  File API

© IAP GmbH – PUG Challenge Americas 2013 Geo Location

 Get location from device  Methods to locate: IP address (DNS) Wi-Fi and Bluetooth MAC address Radio-frequency identification Wi-Fi connection location Global Positioning System (GPS) GSM/CDMA cell IDs http://html5demos.com/geo if(!navigator.geolocation) { alert('error'); } else { navigator.geolocation.getCurrentPosition(function(position) { alert(position.coords.latitude + ', ' + position.coords.longitude); }); }

© IAP GmbH – PUG Challenge Americas 2013 WebSockets

 Replace polling  Asynchronous calls to web  Push data  Stream data  Gaming, group working, chat, ... http://scrumblr.ca/ var websocket = new WebSocket(wsUrl); websocket.onopen = function (evt) { onOpen(evt) }; websocket.onclose = function (evt) { onClose(evt) }; websocket.onmessage = function (evt) { onMessage(evt) }; websocket.onerror = function (evt) { onError(evt) }; function onOpen(evt) {...

© IAP GmbH – PUG Challenge Americas 2013 Web Worker

 Asynchronous JavaScript  real Multi Threading  Keeps UI reactive  Run “local batch jobs” [Sorry, no Longer avail: ] ...html5_demo_web_workers/

© IAP GmbH – PUG Challenge Americas 2013 Video / Audio

 Multimedia on “any” platform without plugin  No video format mandatory  No audio format mandatory  Audio, video player, YouTube, animations, chat...  Real time CSS manipulation

CSS/HTML5 Video manipulation

© IAP GmbH – PUG Challenge Americas 2013 CSS 3

 Manipulate “any DOM element” including images and videos 2D / 3D transformations WebFonts rounded corner, border-radius opacity, text shadows, box shadows much, much more...

 Browser prefix: box-shadow:9px 9px 16px #000000; -webkit-box-shadow:9px 9px 16px #000000; http://www.sciweavers.org/i2style

© IAP GmbH – PUG Challenge Americas 2013 World Browser fragmentation

http://gs.statcounter.com (get todays data here)

 Strong fragmented browser market, IE8 (XP), IE10 (Win7/8)

© IAP GmbH – PUG Challenge Americas 2013 EU fragments

 Mobile phone Android update policy

© IAP GmbH – PUG Challenge Americas 2013 Features / Desktop

Saturation cause of web site count method

© IAP GmbH – PUG Challenge Americas 2013 Features / Mobile

Saturation cause of web site count method

© IAP GmbH – PUG Challenge Americas 2013 Libraries and Frameworks

 Fragmentation: Browser (Family), Feature Support, Content...  Supply multiple content

 JavaScript is flexible  Return of the browser sniffer  Use libraries or framework

© IAP GmbH – PUG Challenge Americas 2013 Libraries

 Modernizr.com – detect native browser HTML5 support often recommended and free! Allows to load so called “polyfills”.

http://modernizr.com/

 Polyfills – allow to emulate HTML5 features in older browser Cross-browser compatible (IE6+) HTML5 ready, use new tags

https://github.com/Modernizr/Modernizr/wiki/HTML5-Cross-browser-Polyfills http://afarkas.github.com/webshim/demos/index.html

© IAP GmbH – PUG Challenge Americas 2013 jQuery (UI)

 A widget and interaction library Focus on IE 6.0+, Firefox 3+, Safari 3.1+, Opera 9.6+, and Google Chrome

© IAP GmbH – PUG Challenge Americas 2013 Demo - JQuery (UI) / OE AS

JQuery UI JqGrid (PlugIn) Tomcat OE Base Widgets (AIA) AppServer Effects Using WebService Themes Grid features

HTML Page Using (soapclient)

JQuery http://localhost:8080/oews/index.html DOM Manipulation Event Handling Animation Ajax Browser abstraction

© IAP GmbH – PUG Challenge Americas 2013 Connect to OpenEdge

 Link client to AppServer  Decisions: Session Context, Trigger Handling

“Fat” Client AppServer Session Context http / WebService Call Trigger: JavaScript Business Logic

“Thin” Client AppServer

Display Logic http / Web Sockets Session Context Trigger: ABL Business Logic

© IAP GmbH – PUG Challenge Americas 2013 Conclusion

 HTML5 = HTML + CSS3 + JavaScript  Web Development (and desktop) !!!Mobile!!!  Issues Fragmentation: Browser, Features, Content, (UI) Framework or abstraction library needed

HTML5: Revolution in Evolution!

is

© IAP GmbH – PUG Challenge Americas 2013 Questions? Klaus de Vries

[email protected]

© IAP GmbH – PUG Challenge Americas 2013 Additional Links

Mashup (Music) visualization (http://daftpunk.themaninblue.com/) http://www.w3.org/2011/05/html5lc-faq.html

Compare HTML5 and Flash (Wikipedia)

Can I use a given HTML5 feature

Interaktive online HTML5 presentation

CSS3 Maker CSS3 Me

CSS3 rectangle formatting CSS3 button generator

© IAP GmbH – PUG Challenge Americas 2013