SlideShare a Scribd company logo
Top 10 HTML5 Features for
Oracle Cloud Developers
Brian “Bex” Huff
Chief Software Architect
2
Agenda
 Intro to Oracle Cloud
• Which ones use HTML5 extensively?
 Intro to HTML5
• Why lightweight HTML5 frameworks are usually superior
 Top 10 HTML5 features
• The big ones you should know about
 HTML5 Frameworks
• Oracle JET, jQuery, node.js, etc.
 Questions/Comments?
The most recent version of this presentation is on SlideShare:
 http://www.slideshare.net/bexmex/
3
Intro to Oracle Cloud
 Oracle Sites Cloud Service
• Extension of Oracle Document Cloud Service
• HTML5 centric application for website design
 Oracle Social Cloud
• Deep integrations with the other cloud applications
• Soon to be bundled with Document Cloud
 Oracle Mobile Cloud
• Create rich mobile web apps with the power of native
• Leverages HTML5 browser built into all smartphones
4
Why HTML5?
 HTML5 is critical for cloud development
 Accepted on almost all platforms
• Easier to support homogenous environment if based on open standards
 Rapid development cycles
• Less need for server-side code development
 Cheaper hosting model
• Heavy CPU processing on client browser, not server hardware

Recommended for you

Top 10 Ways To Integrate With Oracle Enterprise Content Management (ECM)
Top 10 Ways To Integrate With Oracle Enterprise Content Management (ECM)Top 10 Ways To Integrate With Oracle Enterprise Content Management (ECM)
Top 10 Ways To Integrate With Oracle Enterprise Content Management (ECM)

Oracle Enterprise Content Management (ECM) can manage your unstructured content, no matter where it exists. As a result, there are well over 50 different ways to integrate it with your system. This presentation lists the top 10, and a few others as \"honorable mention.\"

webbpelsearch
The Mobile Web Revealed For The Java Developer
The Mobile Web Revealed For The Java DeveloperThe Mobile Web Revealed For The Java Developer
The Mobile Web Revealed For The Java Developer

This document summarizes a presentation about developing for the mobile web using Java technologies. It discusses native mobile apps, mobile web apps, and hybrid apps. It recommends using a framework like JSF 2 and RichFaces which provides standard-based mobile support today and advanced features in development, allowing the use of as much or as little of the Java EE stack as needed. It also discusses HTML5, CSS3, device detection, and orientation support to optimize mobile web experiences.

htmljbossmobile
PLAT-17 Alfresco iOS Mobile Application Details and Design
PLAT-17 Alfresco iOS Mobile Application Details and DesignPLAT-17 Alfresco iOS Mobile Application Details and Design
PLAT-17 Alfresco iOS Mobile Application Details and Design

Presentation given at DevCon 2011 San Diego by Ryan McVeigh and Gi Lee. Video accompanying this session is at: http://www.youtube.com/watch?v=gs0h6sSXVyQ In this session, we will explain how the Alfresco iOS Mobile Application was designed and developed. We’ll focus on the implementation details including the CMIS client, when the application talks directly to Alfresco API’s and some details, tips and tricks for Objective-C iOS development. You’ll learn the Open Source project hierarchy including how to modify, build and run the application. You’ll also learn about our future plans for the application and the project, and perhaps become a contributor yourself!

san diegodevcon 2011alfresco mobile
Why HTML5 for the enterprise
 Enterprise apps are (slowly) moving to the cloud
 Cloud apps use a more open and friendly architecture
• Based on standard protocols
• HTTP, XML, JSON
 Heavy frameworks still have value (ADF, etc)
• But entire point of the cloud is the least complex way to solve problems
• Heavily customized system? Probably need on-premise solution w/ADF
• Simplified front end? JavaScript and HTML5 are the future
5
Brief History of HTML5
 Initiated in 2004 by Apple, Mozilla, Google, and Microsoft
 XHTML dropped by the W3C in favor of HTML5 in 2009
 Apple bundles HTML5 compliant browser into iPhone
 Apple officially rejects mobile Flash in April 2010
 Adobe stops developing mobile Flash in November 2011
 Became a W3C 1.0 standard in October 2014
 But the most critical event in the history of HTML5???
 Microsoft drops support for browsers older than IE 11/Edge in
January 2016
6
7
Top 10 Features
1. Semantic HTML
2. Local Storage
3. Geolocation
4. New security options: OAuth2
5. Cross-Origin Resource Sharing
6. Advanced HTML forms
7. WebSockets
8. WebWorkers
9. Built in Audio/Video support
10.Custom DOM Elements and Attributes
8
1) Semantic HTML
 Explicit tags for the sections of a page everybody uses
• header, footer, article, section, nav, menu
 Structure
• http://www.hongkiat.com/blog/html-5-semantics/
• https://www.w3.org/WAI/GL/wiki/Using_HTML5_section_elements
 Semantic web comes closer, but probably wont happen yet
• RDFa protocol
• schema.org microdata
• JSON-LD

Recommended for you

Alfresco iOS Mobile Application In Depth Details and Design
Alfresco iOS Mobile Application In Depth Details and DesignAlfresco iOS Mobile Application In Depth Details and Design
Alfresco iOS Mobile Application In Depth Details and Design

The document discusses Alfresco Mobile, an open source mobile app for Alfresco. It provides an overview of the app's architecture, which uses CMIS to communicate with Alfresco via REST. It demonstrates features like browsing, searching, and uploading content. The presenters describe Zia Consulting's role in developing the app and releasing the source code. They invite others to contribute and announce upcoming version 1.1 of the open source project.

mobileziaalfresco
Drupal architectures for flexible content - Drupalcon Barcelona
Drupal architectures for flexible content - Drupalcon BarcelonaDrupal architectures for flexible content - Drupalcon Barcelona
Drupal architectures for flexible content - Drupalcon Barcelona

We got to the point where the old Drupal mantra of creating content first to see it later is not enough to suceed with content editors. Drupal is competing and replacing other CMS and platforms where the lack of flexibility is the problem #1 for content editors. They are expecting full flexibity on how content is created, displayed, approved and published. However this introduce a common problem for web developers and site builders: how can you provide this full flexibility without having to be constantly on the hook for further development or configuration. Modules like panels and panelizer, projects like Spark and distributions like panopoly and demo framework helped change the panorama in Drupal and the expectations that are set when sites are built. In this session we will look to a set of common problems and real examples when creating content and layout for pages with demanding editorial teams. We will look and evaluate common options and recipes. How can complex content and rich pages be structured ? Free HTML format in different fields? Structured data in complex fields? Use paragraphs or field collection? Different content items in different items/entities? How to glue it all together? How can indivual page layout be managed providing flexibility but also control? Rely on templating system and view modes? Use contrib modules like panels and panelizer or display suite? Mix several approaches and modules? How can I add any content to any page and choose its display ? How can I have a list of curated widgets ready to use by the content team to deploy anywhere or in any section? How can pages and sections be managed before approved and published? Use preview systems and inline editors? Use workbench or workflow for layout? Rely on more complex content staging systems? Use separated environments? These are daily problems that architects and developers face in every project. As a technical architect in Acquia it is uncommon a project where I am involved that does not need to solve one or more of these problems. In this session I will give some real examples and resume options and recipes that can be used to solve those problems today in Drupal 7 and look to Drupal 8 to explain how it can improve some of our possibilities and options and easy the life of one of our most important personas: the content editor.

site editorsdrupallayout
OWASP Top 10 Security Vulnerabilities, and Securing them with Oracle ADF
OWASP Top 10 Security Vulnerabilities, and Securing them with Oracle ADFOWASP Top 10 Security Vulnerabilities, and Securing them with Oracle ADF
OWASP Top 10 Security Vulnerabilities, and Securing them with Oracle ADF

This document discusses the top 10 web application security vulnerabilities as identified by OWASP (Open Web Application Security Project). It provides an overview of each vulnerability, examples, and recommendations for countermeasures. The vulnerabilities covered are injection, broken authentication and session management, cross-site scripting (XSS), insecure direct object references, security misconfiguration, sensitive data exposure, missing function level access control, cross-site request forgery (CSRF), using components with known vulnerabilities, and unvalidated redirects and forwards. The document emphasizes using features in Oracle Application Development Framework (ADF) to help address many of these vulnerabilities.

securityadforacle
Semantic HTML Example
<body>
<header>
<h1>Welcome To Our Website!</h1>
</header>
<nav>
<header>
<h2>Please select one!</h2>
</header>
<ul>
<li>Menu 1</li>
<li>Menu 2</li>
</ul>
</nav>
<aside>
<h2>Get To Know Us Better!</h2>
<section>
<h3>Popular Posts</h3>
</section>
</aside>
9
Semantic HTML Example, cont.
<article>
<header>
<h1>Title of Article</h1>
<h2>Subtitle of Article</h2>
</header>
<section>
<h3>First Logical Part (e.g. "Theory")</h3>
<p>Paragraph 1 in first section</p>
</section>
<footer>
<h4>Author Bio</h4>
<p>Paragraph in Article's Footer</p>
</footer>
</article>
<footer>
<div>Social Media Links</div>
</footer>
</body>
10
11
2) Local storage
 Allows large “offline” storage of structured data
• Bye bye cookies, hello database!
• By default, up to 5 Megs per website
• Expandable with user permission
• http://stackoverflow.com/questions/6276282/how-can-i-request-an-increase-to-
the-html5-localstorage-size-on-ipad-like-the-f
 All browser support basic offline Web Storage for strings:
localStorage["foobar"] = "my data";
localStorage.setItem("foobar", "my data");
sessionStorage["colorScheme"] = "oracle-red";
 Objects must be explicitly serialized into JSON:
localStorage["foobar"] = JSON.stringify("my data");
var foobar = JSON.parse(localStorage["foobar"]);
12
2) Local storage, cont.
 contenteditable
• Cool flag to auto-add this functionality
• http://html5demos.com/contenteditable
• But keep in mind, the UI is kind of terrible
• https://medium.com/medium-eng/why-contenteditable-is-terrible-122d8a40e480
<section id="editable" contenteditable="true">
<p>This text is natively editable in the browser</p>
</section>
<script>
var editable = document.getElementById('editable');
addEvent(editable, 'blur', function () {
localStorage.setItem('contenteditable', this.innerHTML);
});
</script>

Recommended for you

PLAT-18 Alfresco iOS Mobile Application Details and Design
PLAT-18 Alfresco iOS Mobile Application Details and DesignPLAT-18 Alfresco iOS Mobile Application Details and Design
PLAT-18 Alfresco iOS Mobile Application Details and Design

In this session, we will explain how the Alfresco iOS Mobile Application was designed and developed. We’ll focus on the implementation details including the CMIS client, when the application talks directly to Alfresco API’s and some details, tips and tricks for Objective-C iOS development. You’ll learn the Open Source project hierarchy including how to modify, build and run the application. You’ll also learn about our future plans for the application and the project, and perhaps become a contributor yourself!

mobile designmobilemobile application
A Succesful WebCenter Upgrade: What You Need to Know
A Succesful WebCenter Upgrade: What You Need to KnowA Succesful WebCenter Upgrade: What You Need to Know
A Succesful WebCenter Upgrade: What You Need to Know

Presented by Paul Heupel of Fishbowl Solutions. If you're thinking about upgrading to Oracle WebCenter 11g, view this presentation first!

oracle webcenteroracle ucmwebcenter imaging
Offline Web Apps
Offline Web AppsOffline Web Apps
Offline Web Apps

Learn about technologies involved in creation an offline web app. Offline storages: web storage, IndexedDB, WebSQL, File API. Application cache: app cache and service workers.

web developmentoffline webservice workers
13
2) Local storage, cont.
 Query languages exist, but are not universal
• LocalStorage
• Supported by all browsers, but just name-value pairs
• WebSQL
• Supported in Chrome and Safari, but deprecated since 2010
• IndexedDB
• Successor to both, but browser support is very spotty
• Kind of slow, weird API
 Query Performance is in its infancy
• IndexDB blocks the DOM unless run as a Web Worker (discussed later)
 Not hopeful for any decent query standard any time soon
• Classic example of why WHATWG was better than W3C
14
3) Geolocation
 Allows web sites to determine the location of the client
• http://html5demos.com/geo
• http://www.w3schools.com/html/html5_geolocation.asp
 Not just for mobile web: also for laptops and mobile web sites
15
3) Geolocation, cont.
 How does it know my location???
• This is left up to the implementers of the spec to determine
• Each browser and platform has a different process
 Mobile web: location is usually known
• Either GPS or cell tower info
 Desktop
• In Chrome, it sends a message with your network info (IP address, MAC
address, Access Point, signal strength) to a Google service
• Compares to data Google Maps gathered about WiFi access points
• Or get closest known public router based on IP address
16
4) OAuth2
 Add-on to HTML5, built into most Oracle Cloud apps
• Not strictly part of the spec, but critical for its future
 Think of OAuth2 as the “valet key for the web”
• Grants limited access to specific resources, without giving it all away
 OAuth2 process:
1.An application requests authorization on a user's behalf.
2.The application obtains a Grant Token.
3.The client requests an Access Token by using the Grant Token.
4.The authorization server validates the Grant Token and issues an Access
Token and a Refresh Token.
5.The client requests the protected resource, authenticating using the
Access Token.
6.The resource server verifies the Access Token and serves the request.

Recommended for you

Lean Startup with WebObjects
Lean Startup with WebObjectsLean Startup with WebObjects
Lean Startup with WebObjects

This session will go over why I chose WO and WOnder as my application foundation, and how I applied the best practices from some of the best in our business to build my product. How I setup my applications and frameworks to maximize reuse and flexibility. And I will review other processes that allows me to run my business as a one plus (?) person shop.

webobjectslean startup
Losing the Document Battle? Alfresco, Drupal Combine for Solution
Losing the Document Battle? Alfresco, Drupal Combine for SolutionLosing the Document Battle? Alfresco, Drupal Combine for Solution
Losing the Document Battle? Alfresco, Drupal Combine for Solution

This document discusses using Alfresco and Drupal together to manage content creation, collaboration, and publishing. Alfresco is used to manage document creation, collaboration and workflows, while Drupal is used to display and manage the content online. The Content Management Interoperability Services (CMIS) standard enables integration between the two systems, allowing content changes in Alfresco to automatically update the corresponding content on the Drupal website. This provides an open and flexible way to centrally manage documents and publish updated content.

drupalacquia webinardrupal webinar
Alfresco Coding mit dem Alfresco SDK (auf Englisch) - Julien Bruinaud, Techni...
Alfresco Coding mit dem Alfresco SDK (auf Englisch) - Julien Bruinaud, Techni...Alfresco Coding mit dem Alfresco SDK (auf Englisch) - Julien Bruinaud, Techni...
Alfresco Coding mit dem Alfresco SDK (auf Englisch) - Julien Bruinaud, Techni...

Alfresco Day München 2016 - 14. Juni 2016 - #AlfrescoDayMunich - https://www.alfresco.com/de/veranstaltungen/alfresco-day-munchen-2016

alfrescoopen source ecmecm
4) OAuth2
17
18
5) Cross Origin Resource Sharing
 Previously, AJAX calls could only go back to original server
• Probably the most irritating security ‘feature’ in HTML4
 Could not host HTML and JS on two domains without hacks
• Google Maps was ‘hackable’ but most sites were not
• Each loaded JavaScript file needed a ‘callback’ to load
• Every developer had to roll their own callback API
 Now, new HTTP header to load sources from multiple servers
• Access-Control-Allow-Origin: *
5) Cross Origin Resource Sharing, cont.
 Use standard AJAX objects across domains
var req = new XmlHTTPRequest();
req.open("POST", "http://example.org");
 Use new window.postMessage to message across domains
window.postMessage("hello world!", "http://example.org");
function receiveMessage(event) {
// minimal security checks
if (event.origin !== "http://example.org")
return;
alert(event.data);
}
window.addEventListener("message", receiveMessage, false);
19
20
6) Advanced Web Forms
 HTML5 adds form options that have been sorely needed for
decades
 New input types
• url, tel(telephone number), email, number, color, range, datetime, etc
 Automatic in-line validation: critical for mobile web
• Use the pattern attribute to do regular expression validation
• Also specify min, max, required and a placeholder text
<input type="text" id="productId" pattern="[A-Z]{3}[0-9]{3}"
placeholder="XXX999" maxlength="6" required/>
<input type="number" id="quantity" min="0" max="100" step="1" />

Recommended for you

WebCenter Content 11g Upgrade Webinar - March 2013
WebCenter Content 11g Upgrade Webinar - March 2013WebCenter Content 11g Upgrade Webinar - March 2013
WebCenter Content 11g Upgrade Webinar - March 2013

A Path, Package, and Promise for WebCenter Content 11g Upgrades. The Leader in Value-Add Software and Services for Oracle WebCenter

upgradesfishbowl solutions11g
SharePoint Saturday Utah - The Art of the Possible Keynote
SharePoint Saturday Utah - The Art of the Possible KeynoteSharePoint Saturday Utah - The Art of the Possible Keynote
SharePoint Saturday Utah - The Art of the Possible Keynote

The document discusses various topics related to using SharePoint, including: - SharePoint's capabilities for intranet and internet sites - The pros and cons of using SharePoint as an internet site - Reasons why an organization might choose to use SharePoint - Additional functionality that is possible with SharePoint through custom development - Steps involved in planning and designing a SharePoint site for external or public use

salt lake citytemplesharepoint
SPSDenver - Wrapping Your Head Around the SharePoint Beast
SPSDenver - Wrapping Your Head Around the SharePoint BeastSPSDenver - Wrapping Your Head Around the SharePoint Beast
SPSDenver - Wrapping Your Head Around the SharePoint Beast

This document provides an overview of SharePoint and the path to becoming a SharePoint developer. It discusses why organizations implement SharePoint, defines common terminology, and reviews the logical architecture and taxonomy. It outlines the various roles in SharePoint development from end users to administrators to developers. It also discusses tools, debugging, deployment, and the importance of the SharePoint community.

introduction sharepoint development
21
7) WebSockets
 Web protocols (HTTP) are “stateless”
• By design, as soon as the page is drawn, the data might be out of date
• How do we know when the data has been updated?
 Prior to HTML5, had to use JavaScript to “poll” for new data
• JavaScript timeouts to load in new data
• Every application/framework had to roll their own
• Fairly high overhead, depending on the framework
 WebSockets act like normal sockets
• Allows back-end HTTP server to “push” new notifications to web front end
7) WebSockets, cont.
var connection = new WebSocket('ws://example.com/echo');
connection.onerror = function (error) {
alert('WebSocket Error ' + error);
};
connection.onmessage = function (e) {
alert('Server said: ' + e.data);
};
// send a string, binary data, or even a file!
connection.send('your message');
var binary = new Uint8Array(img.data.length);
connection.send(binary.buffer);
var file = document.querySelector('input[type="file"]').files[0];
connection.send(file);
22
23
8) WebWorkers
 JavaScript is a single-threaded programming language
• All scripts and events handled by one single thread
• So if one function takes a long time, the whole web page hangs!
• Major reason why JavaScript cant run heavy enterprise apps
 The solution? WebWorkers!
• Runs in the background, instead of the foreground
• No more JavaScript errors from hogging the CPU resources
• Send messages from main window to worker window
8) WebWorkers, cont.
 Typically, the main page will start a worker, and post JSON
formatted messages to it
• Binary data in buffers can also be transferred
<output id="result"></output>
<script>
var worker = new Worker('doWork.js');
worker.addEventListener('message', function(e) {
document.getElementById('result').textContent = e.data;
}, false);
worker.postMessage({'cmd':'doStuff', 'msg':'my message...'});
worker.terminate();
</script>
24

Recommended for you

Web works presso
Web works pressoWeb works presso
Web works presso

The BlackBerry WebWorks Platform allows developers to create standalone applications using modern web technologies like HTML5, CSS3, and JavaScript. WebWorks applications can be fully-featured "Super Apps" through their ability to integrate with native BlackBerry and PlayBook features using JavaScript extensions. Developers can distribute WebWorks apps through BlackBerry App World to BlackBerry devices running OS version 5.0 and higher or PlayBook tablets.

Anatomy of an HTML 5 mobile web app
Anatomy of an HTML 5 mobile web app Anatomy of an HTML 5 mobile web app
Anatomy of an HTML 5 mobile web app

Mobile applications Development - Lecture 8 Anatomy of an HTML 5 mobile web app PhoneGap This presentation has been developed in the context of the Mobile Applications Development course at the Computer Science Department of the University of L’Aquila (Italy). http://www.di.univaq.it/malavolta

mobile applicationsmobile application developmentmobile applications development
Html5 Application Security
Html5 Application SecurityHtml5 Application Security
Html5 Application Security

HTML5 introduces significant changes for today\'s websites: new and updated tags, new functionality, better error handling and improved Document Object Model (DOM). However, the HTML5 new features come with new (application) security vulnerabilities. This presentation reviews the new attack vectors, associated risks and what a needs to be taken into consideration when implementing HTML5.

information securityhtml5application security
8) WebWorkers, cont.
 The worker page (doWork.js) creates an event listener, and
responds to messages from the main page by posing a message
to the ‘self’ object:
self.addEventListener('message', function(e) {
var data = e.data;
switch (data.cmd) {
case 'doStuff':
self.postMessage('DOING STUFF: ' + data.msg);
break;
default:
self.postMessage('Unknown command: ' + data.msg);
};
}, false);
25
8) WebWorkers, cont.
 For security, performance, and thread-safety a web worker has
more limited access to JavaScript functions
 The following objects are not available:
• The DOM (it's not thread-safe)
• The window object
• The document object
• The parent object
26
27
9) Audio and Video Support
 New elements: <video> ,<audio>, and <track>
 Mostly eliminates the need for JavaFX, Flash, or Silverlight
 HTML5 is now the enterprise video/audio standard
• http://www.ramp.com/enterprise/the-dawn-of-html5-video-as-the-
enterprise-standard/
 YouTube made HTML5 its default delivery platform in 2015
• http://youtube-eng.blogspot.com/2015/01/youtube-now-defaults-to-
html5_27.html
28
9) Audio and Video Support, cont.
 YouTube wanted to make the jump years ago, but several pieces
were missing that have been recently added:
• Fullscreen mode
• WebRTC: real time video communication between browsers
• Google hangouts
• Encrypted media extensions
• Adaptive Bitrate: downgrade to lower video quality based on bandwidth
• MediaSource extensions: allow JavaScript to create and manage streams

Recommended for you

Html5
Html5Html5
Html5

A look at some of exciting features of HTML5, a presentation given by me at Universtiy Seminar in 7th Semester.

htmlhtml5geolocation
Mobile Web
Mobile WebMobile Web
Mobile Web

The document discusses four methods for mobile web development: 1) Do nothing and let browsers adapt content, 2) Reduce images and styling, 3) Use handheld style sheets, and 4) Create separate mobile content. It also covers challenges like small screens, latency issues, and the need for device detection. Key technologies mentioned include WURFL for device capability detection and WALL for delivering optimized content. The document advocates for mobile Ajax to provide rich apps without downloads, and lists browsers and frameworks that support it.

Camelone-2012 HTML5 WebSocket ActiveMQ/Camel
Camelone-2012 HTML5 WebSocket ActiveMQ/CamelCamelone-2012 HTML5 WebSocket ActiveMQ/Camel
Camelone-2012 HTML5 WebSocket ActiveMQ/Camel

CamelOne 2012 presentation about develop HTML5 Real Time Application with WebSocket and Apache Camel and Apache ActiveMQ

html5 camel activemq websocket
29
10) Custom DOM Elements and Attributes
 In addition to semantic HTML, you can make your own custom
elements and attributes
• Make HTML more like XML, and avoid pages of <div> soup
 Custom elements can be declared in the HTML like others:
<my-elem></my-elem>
 The behavior of the custom element is like the <span> tag, until
you register the element and its behavior:
var myElem = document.registerElement('my-elem', {
prototype: Object.create(HTMLElement.prototype)
});
document.body.appendChild(new myElem());
;
30
10) Custom DOM Elements and Attributes, cont.
 Custom data attributes can be added to all elements:
<div id="foo" data-my-attribute="bar"></div>
 Access data with the standard getAttribute function:
var foo = document.getElementById('foo');
var data = plant.getAttribute('data-my-attribute');
 Limitations and best practices:
• Custom elements must contain a dash
• Ensures it will be compatible with future HTML6 tags
• Custom attributes must start with data-
• HTML5 spec strongly states that data attributes be PRIVATE to that page
• Only JavaScript on that page should interact with those attributes
• Should not be considered a replacement for microformats
• IE 11 supports custom attributes, not custom elements (yet)
31
Tips & Tricks
 HTML5 opens new security holes that need to be plugged
• WebSockets and Cross Origin Resource Sharing in particular
• Never, ever, ever assume LocalStorage can be trusted!
• https://www.owasp.org/index.php/HTML5_Security_Cheat_Sheet
 Double check for browser compatability
• Check http://caniuse.com/ to verify
 Performance will likely be an issue for a while
• Plan on using web workers a lot!
32
HTML5 Frameworks to Use
 Oracle JavaScript Extension Toolkit (JET)
• Lightweight JS framework for Oracle apps
• Use in Oracle Dev cloud, Social cloud
 jQuery
• Most battle-tested HTML/JS framework
• Uses HTML5 features when possible, or downgrades to HTML4 for older
browsers
 Node.js
• Front end and back end JavaScript framework
• More free developer packages that Ruby, Python, or Rails
 All can be added to DEV cloud or Sites cloud

Recommended for you

2010 code camp rest for the rest of us
2010 code camp   rest for the rest of us2010 code camp   rest for the rest of us
2010 code camp rest for the rest of us

RESTx is a tool for easily creating RESTful web services. It allows defining resources with URIs and representing them in different formats. RESTx hides implementation details and makes resources self-documenting. To use it, developers create components by annotating methods, then compile and deploy them on the RESTx server. The goal of RESTx is to simplify REST development so services can be built by non-experts and integrated from various data sources and languages.

svcc
Peter lubbers-html5-offline-web-apps
Peter lubbers-html5-offline-web-appsPeter lubbers-html5-offline-web-apps
Peter lubbers-html5-offline-web-apps

The document discusses offline web applications and provides tips for developing them. It includes: - An overview of offline web apps and how they allow users to access cached content without an internet connection using the Application Cache API. - Details on the manifest file format and sections for specifying cached, network, and fallback resources. - Steps for initial caching of resources and how the cache is updated when the manifest or cached files change. - Tips for debugging the offline cache, accessing cached resources, and configuring cache settings and clearing the cache in different browsers.

Html5
Html5Html5
Html5

HTML5 will be the new standard for HTML and is a cooperation between W3C and WHATWG. New features in HTML5 include the canvas, geo location, video and audio, web storage, application cache, server sent events, web workers, and new form input types and elements. The canvas allows for drawing on an HTML page using JavaScript. Geo location allows getting a user's geographical position. Video and audio elements standardize embedding video and audio. Web storage provides secure local storage of data. Application cache allows offline and faster loading of cached resources. Server sent events provide automatic updates from a server. Web workers run scripts asynchronously without affecting page performance. New form input types include color, date, and email. New form elements

html5tutorial
33
 My Company: http://bezzotech.com
 My Blog: http://bexhuff.com
 My Self: bex@bezzotech.com
Questions?

More Related Content

What's hot

WebCenter Content & Portal Methodology Deep Dive with Case Studies
WebCenter Content & Portal Methodology Deep Dive with Case StudiesWebCenter Content & Portal Methodology Deep Dive with Case Studies
WebCenter Content & Portal Methodology Deep Dive with Case Studies
Brian Huff
 
Creating and Maintaining An Internationalized Website
Creating and Maintaining An Internationalized WebsiteCreating and Maintaining An Internationalized Website
Creating and Maintaining An Internationalized Website
Brian Huff
 
Oracle UCM Implementation Patterns
Oracle UCM Implementation PatternsOracle UCM Implementation Patterns
Oracle UCM Implementation Patterns
Brian Huff
 
Top 10 Ways To Integrate With Oracle Enterprise Content Management (ECM)
Top 10 Ways To Integrate With Oracle Enterprise Content Management (ECM)Top 10 Ways To Integrate With Oracle Enterprise Content Management (ECM)
Top 10 Ways To Integrate With Oracle Enterprise Content Management (ECM)
Brian Huff
 
The Mobile Web Revealed For The Java Developer
The Mobile Web Revealed For The Java DeveloperThe Mobile Web Revealed For The Java Developer
The Mobile Web Revealed For The Java Developer
balunasj
 
PLAT-17 Alfresco iOS Mobile Application Details and Design
PLAT-17 Alfresco iOS Mobile Application Details and DesignPLAT-17 Alfresco iOS Mobile Application Details and Design
PLAT-17 Alfresco iOS Mobile Application Details and Design
Alfresco Software
 
Alfresco iOS Mobile Application In Depth Details and Design
Alfresco iOS Mobile Application In Depth Details and DesignAlfresco iOS Mobile Application In Depth Details and Design
Alfresco iOS Mobile Application In Depth Details and Design
Alfresco Software
 
Drupal architectures for flexible content - Drupalcon Barcelona
Drupal architectures for flexible content - Drupalcon BarcelonaDrupal architectures for flexible content - Drupalcon Barcelona
Drupal architectures for flexible content - Drupalcon Barcelona
hernanibf
 
OWASP Top 10 Security Vulnerabilities, and Securing them with Oracle ADF
OWASP Top 10 Security Vulnerabilities, and Securing them with Oracle ADFOWASP Top 10 Security Vulnerabilities, and Securing them with Oracle ADF
OWASP Top 10 Security Vulnerabilities, and Securing them with Oracle ADF
Brian Huff
 
PLAT-18 Alfresco iOS Mobile Application Details and Design
PLAT-18 Alfresco iOS Mobile Application Details and DesignPLAT-18 Alfresco iOS Mobile Application Details and Design
PLAT-18 Alfresco iOS Mobile Application Details and Design
Alfresco Software
 
A Succesful WebCenter Upgrade: What You Need to Know
A Succesful WebCenter Upgrade: What You Need to KnowA Succesful WebCenter Upgrade: What You Need to Know
A Succesful WebCenter Upgrade: What You Need to Know
Fishbowl Solutions
 
Offline Web Apps
Offline Web AppsOffline Web Apps
Offline Web Apps
Artem Tabalin
 
Lean Startup with WebObjects
Lean Startup with WebObjectsLean Startup with WebObjects
Lean Startup with WebObjects
WO Community
 
Losing the Document Battle? Alfresco, Drupal Combine for Solution
Losing the Document Battle? Alfresco, Drupal Combine for SolutionLosing the Document Battle? Alfresco, Drupal Combine for Solution
Losing the Document Battle? Alfresco, Drupal Combine for Solution
Acquia
 
Alfresco Coding mit dem Alfresco SDK (auf Englisch) - Julien Bruinaud, Techni...
Alfresco Coding mit dem Alfresco SDK (auf Englisch) - Julien Bruinaud, Techni...Alfresco Coding mit dem Alfresco SDK (auf Englisch) - Julien Bruinaud, Techni...
Alfresco Coding mit dem Alfresco SDK (auf Englisch) - Julien Bruinaud, Techni...
Nicole Szigeti
 
WebCenter Content 11g Upgrade Webinar - March 2013
WebCenter Content 11g Upgrade Webinar - March 2013WebCenter Content 11g Upgrade Webinar - March 2013
WebCenter Content 11g Upgrade Webinar - March 2013
Fishbowl Solutions
 
SharePoint Saturday Utah - The Art of the Possible Keynote
SharePoint Saturday Utah - The Art of the Possible KeynoteSharePoint Saturday Utah - The Art of the Possible Keynote
SharePoint Saturday Utah - The Art of the Possible Keynote
Liam Cleary [MVP]
 
SPSDenver - Wrapping Your Head Around the SharePoint Beast
SPSDenver - Wrapping Your Head Around the SharePoint BeastSPSDenver - Wrapping Your Head Around the SharePoint Beast
SPSDenver - Wrapping Your Head Around the SharePoint Beast
Mark Rackley
 
Web works presso
Web works pressoWeb works presso
Web works presso
momoahmedabad
 
Anatomy of an HTML 5 mobile web app
Anatomy of an HTML 5 mobile web app Anatomy of an HTML 5 mobile web app
Anatomy of an HTML 5 mobile web app
Ivano Malavolta
 

What's hot (20)

WebCenter Content & Portal Methodology Deep Dive with Case Studies
WebCenter Content & Portal Methodology Deep Dive with Case StudiesWebCenter Content & Portal Methodology Deep Dive with Case Studies
WebCenter Content & Portal Methodology Deep Dive with Case Studies
 
Creating and Maintaining An Internationalized Website
Creating and Maintaining An Internationalized WebsiteCreating and Maintaining An Internationalized Website
Creating and Maintaining An Internationalized Website
 
Oracle UCM Implementation Patterns
Oracle UCM Implementation PatternsOracle UCM Implementation Patterns
Oracle UCM Implementation Patterns
 
Top 10 Ways To Integrate With Oracle Enterprise Content Management (ECM)
Top 10 Ways To Integrate With Oracle Enterprise Content Management (ECM)Top 10 Ways To Integrate With Oracle Enterprise Content Management (ECM)
Top 10 Ways To Integrate With Oracle Enterprise Content Management (ECM)
 
The Mobile Web Revealed For The Java Developer
The Mobile Web Revealed For The Java DeveloperThe Mobile Web Revealed For The Java Developer
The Mobile Web Revealed For The Java Developer
 
PLAT-17 Alfresco iOS Mobile Application Details and Design
PLAT-17 Alfresco iOS Mobile Application Details and DesignPLAT-17 Alfresco iOS Mobile Application Details and Design
PLAT-17 Alfresco iOS Mobile Application Details and Design
 
Alfresco iOS Mobile Application In Depth Details and Design
Alfresco iOS Mobile Application In Depth Details and DesignAlfresco iOS Mobile Application In Depth Details and Design
Alfresco iOS Mobile Application In Depth Details and Design
 
Drupal architectures for flexible content - Drupalcon Barcelona
Drupal architectures for flexible content - Drupalcon BarcelonaDrupal architectures for flexible content - Drupalcon Barcelona
Drupal architectures for flexible content - Drupalcon Barcelona
 
OWASP Top 10 Security Vulnerabilities, and Securing them with Oracle ADF
OWASP Top 10 Security Vulnerabilities, and Securing them with Oracle ADFOWASP Top 10 Security Vulnerabilities, and Securing them with Oracle ADF
OWASP Top 10 Security Vulnerabilities, and Securing them with Oracle ADF
 
PLAT-18 Alfresco iOS Mobile Application Details and Design
PLAT-18 Alfresco iOS Mobile Application Details and DesignPLAT-18 Alfresco iOS Mobile Application Details and Design
PLAT-18 Alfresco iOS Mobile Application Details and Design
 
A Succesful WebCenter Upgrade: What You Need to Know
A Succesful WebCenter Upgrade: What You Need to KnowA Succesful WebCenter Upgrade: What You Need to Know
A Succesful WebCenter Upgrade: What You Need to Know
 
Offline Web Apps
Offline Web AppsOffline Web Apps
Offline Web Apps
 
Lean Startup with WebObjects
Lean Startup with WebObjectsLean Startup with WebObjects
Lean Startup with WebObjects
 
Losing the Document Battle? Alfresco, Drupal Combine for Solution
Losing the Document Battle? Alfresco, Drupal Combine for SolutionLosing the Document Battle? Alfresco, Drupal Combine for Solution
Losing the Document Battle? Alfresco, Drupal Combine for Solution
 
Alfresco Coding mit dem Alfresco SDK (auf Englisch) - Julien Bruinaud, Techni...
Alfresco Coding mit dem Alfresco SDK (auf Englisch) - Julien Bruinaud, Techni...Alfresco Coding mit dem Alfresco SDK (auf Englisch) - Julien Bruinaud, Techni...
Alfresco Coding mit dem Alfresco SDK (auf Englisch) - Julien Bruinaud, Techni...
 
WebCenter Content 11g Upgrade Webinar - March 2013
WebCenter Content 11g Upgrade Webinar - March 2013WebCenter Content 11g Upgrade Webinar - March 2013
WebCenter Content 11g Upgrade Webinar - March 2013
 
SharePoint Saturday Utah - The Art of the Possible Keynote
SharePoint Saturday Utah - The Art of the Possible KeynoteSharePoint Saturday Utah - The Art of the Possible Keynote
SharePoint Saturday Utah - The Art of the Possible Keynote
 
SPSDenver - Wrapping Your Head Around the SharePoint Beast
SPSDenver - Wrapping Your Head Around the SharePoint BeastSPSDenver - Wrapping Your Head Around the SharePoint Beast
SPSDenver - Wrapping Your Head Around the SharePoint Beast
 
Web works presso
Web works pressoWeb works presso
Web works presso
 
Anatomy of an HTML 5 mobile web app
Anatomy of an HTML 5 mobile web app Anatomy of an HTML 5 mobile web app
Anatomy of an HTML 5 mobile web app
 

Similar to Top 10 HTML5 Features for Oracle Cloud Developers

Html5 Application Security
Html5 Application SecurityHtml5 Application Security
Html5 Application Security
chuckbt
 
Html5
Html5Html5
Mobile Web
Mobile WebMobile Web
Mobile Web
Ankit Maheshwari
 
Camelone-2012 HTML5 WebSocket ActiveMQ/Camel
Camelone-2012 HTML5 WebSocket ActiveMQ/CamelCamelone-2012 HTML5 WebSocket ActiveMQ/Camel
Camelone-2012 HTML5 WebSocket ActiveMQ/Camel
Charles Moulliard
 
2010 code camp rest for the rest of us
2010 code camp   rest for the rest of us2010 code camp   rest for the rest of us
2010 code camp rest for the rest of us
Ken Yagen
 
Peter lubbers-html5-offline-web-apps
Peter lubbers-html5-offline-web-appsPeter lubbers-html5-offline-web-apps
Peter lubbers-html5-offline-web-apps
Skills Matter
 
Html5
Html5Html5
BeEF_EUSecWest-2012_Michele-Orru
BeEF_EUSecWest-2012_Michele-OrruBeEF_EUSecWest-2012_Michele-Orru
BeEF_EUSecWest-2012_Michele-Orru
Michele Orru
 
Week 05 Web, App and Javascript_Brandon, S.H. Wu
Week 05 Web, App and Javascript_Brandon, S.H. WuWeek 05 Web, App and Javascript_Brandon, S.H. Wu
Week 05 Web, App and Javascript_Brandon, S.H. Wu
AppUniverz Org
 
The Mobile Web - HTML5 on mobile devices
The Mobile Web - HTML5 on mobile devicesThe Mobile Web - HTML5 on mobile devices
The Mobile Web - HTML5 on mobile devices
Wesley Hales
 
Local Storage for Web Applications
Local Storage for Web ApplicationsLocal Storage for Web Applications
Local Storage for Web Applications
Markku Laine
 
Node.js: The What, The How and The When
Node.js: The What, The How and The WhenNode.js: The What, The How and The When
Node.js: The What, The How and The When
FITC
 
Workshop HTML5+PhoneGap by Ivano Malavolta
Workshop HTML5+PhoneGap by Ivano Malavolta Workshop HTML5+PhoneGap by Ivano Malavolta
Workshop HTML5+PhoneGap by Ivano Malavolta
Commit University
 
Should you use HTML5 to build your product? The pros & cons of using current ...
Should you use HTML5 to build your product? The pros & cons of using current ...Should you use HTML5 to build your product? The pros & cons of using current ...
Should you use HTML5 to build your product? The pros & cons of using current ...
boxuno
 
SignalR: Add real-time to your applications
SignalR: Add real-time to your applicationsSignalR: Add real-time to your applications
SignalR: Add real-time to your applications
Eugene Zharkov
 
Using communication and messaging API in the HTML5 world - GIl Fink, sparXsys
Using communication and messaging API in the HTML5 world - GIl Fink, sparXsysUsing communication and messaging API in the HTML5 world - GIl Fink, sparXsys
Using communication and messaging API in the HTML5 world - GIl Fink, sparXsys
Codemotion Tel Aviv
 
Prueba ppt
Prueba pptPrueba ppt
Prueba ppt
Ulises Torelli
 
Html5v1
Html5v1Html5v1
HTML5 Offline Web Applications (Silicon Valley User Group)
HTML5 Offline Web Applications (Silicon Valley User Group)HTML5 Offline Web Applications (Silicon Valley User Group)
HTML5 Offline Web Applications (Silicon Valley User Group)
robinzimmermann
 
HTML5 Programming
HTML5 ProgrammingHTML5 Programming
HTML5 Programming
hotrannam
 

Similar to Top 10 HTML5 Features for Oracle Cloud Developers (20)

Html5 Application Security
Html5 Application SecurityHtml5 Application Security
Html5 Application Security
 
Html5
Html5Html5
Html5
 
Mobile Web
Mobile WebMobile Web
Mobile Web
 
Camelone-2012 HTML5 WebSocket ActiveMQ/Camel
Camelone-2012 HTML5 WebSocket ActiveMQ/CamelCamelone-2012 HTML5 WebSocket ActiveMQ/Camel
Camelone-2012 HTML5 WebSocket ActiveMQ/Camel
 
2010 code camp rest for the rest of us
2010 code camp   rest for the rest of us2010 code camp   rest for the rest of us
2010 code camp rest for the rest of us
 
Peter lubbers-html5-offline-web-apps
Peter lubbers-html5-offline-web-appsPeter lubbers-html5-offline-web-apps
Peter lubbers-html5-offline-web-apps
 
Html5
Html5Html5
Html5
 
BeEF_EUSecWest-2012_Michele-Orru
BeEF_EUSecWest-2012_Michele-OrruBeEF_EUSecWest-2012_Michele-Orru
BeEF_EUSecWest-2012_Michele-Orru
 
Week 05 Web, App and Javascript_Brandon, S.H. Wu
Week 05 Web, App and Javascript_Brandon, S.H. WuWeek 05 Web, App and Javascript_Brandon, S.H. Wu
Week 05 Web, App and Javascript_Brandon, S.H. Wu
 
The Mobile Web - HTML5 on mobile devices
The Mobile Web - HTML5 on mobile devicesThe Mobile Web - HTML5 on mobile devices
The Mobile Web - HTML5 on mobile devices
 
Local Storage for Web Applications
Local Storage for Web ApplicationsLocal Storage for Web Applications
Local Storage for Web Applications
 
Node.js: The What, The How and The When
Node.js: The What, The How and The WhenNode.js: The What, The How and The When
Node.js: The What, The How and The When
 
Workshop HTML5+PhoneGap by Ivano Malavolta
Workshop HTML5+PhoneGap by Ivano Malavolta Workshop HTML5+PhoneGap by Ivano Malavolta
Workshop HTML5+PhoneGap by Ivano Malavolta
 
Should you use HTML5 to build your product? The pros & cons of using current ...
Should you use HTML5 to build your product? The pros & cons of using current ...Should you use HTML5 to build your product? The pros & cons of using current ...
Should you use HTML5 to build your product? The pros & cons of using current ...
 
SignalR: Add real-time to your applications
SignalR: Add real-time to your applicationsSignalR: Add real-time to your applications
SignalR: Add real-time to your applications
 
Using communication and messaging API in the HTML5 world - GIl Fink, sparXsys
Using communication and messaging API in the HTML5 world - GIl Fink, sparXsysUsing communication and messaging API in the HTML5 world - GIl Fink, sparXsys
Using communication and messaging API in the HTML5 world - GIl Fink, sparXsys
 
Prueba ppt
Prueba pptPrueba ppt
Prueba ppt
 
Html5v1
Html5v1Html5v1
Html5v1
 
HTML5 Offline Web Applications (Silicon Valley User Group)
HTML5 Offline Web Applications (Silicon Valley User Group)HTML5 Offline Web Applications (Silicon Valley User Group)
HTML5 Offline Web Applications (Silicon Valley User Group)
 
HTML5 Programming
HTML5 ProgrammingHTML5 Programming
HTML5 Programming
 

More from Brian Huff

AP Automation for EBS or PeopleSoft with Oracle WebCenter
AP Automation for EBS or PeopleSoft with Oracle WebCenterAP Automation for EBS or PeopleSoft with Oracle WebCenter
AP Automation for EBS or PeopleSoft with Oracle WebCenter
Brian Huff
 
Top 10 Web Security Vulnerabilities (OWASP Top 10)
Top 10 Web Security Vulnerabilities (OWASP Top 10)Top 10 Web Security Vulnerabilities (OWASP Top 10)
Top 10 Web Security Vulnerabilities (OWASP Top 10)
Brian Huff
 
The Top 10 Things Oracle UCM Users Need To Know About WebLogic
The Top 10 Things Oracle UCM Users Need To Know About WebLogicThe Top 10 Things Oracle UCM Users Need To Know About WebLogic
The Top 10 Things Oracle UCM Users Need To Know About WebLogic
Brian Huff
 
Oracle UCM Security: Challenges and Best Practices
Oracle UCM Security: Challenges and Best PracticesOracle UCM Security: Challenges and Best Practices
Oracle UCM Security: Challenges and Best Practices
Brian Huff
 
Oracle UCM: Web Site Performance Tuning
Oracle UCM: Web Site Performance TuningOracle UCM: Web Site Performance Tuning
Oracle UCM: Web Site Performance Tuning
Brian Huff
 
Real World Examples of Succesful Enterprise Content Management Strategies
Real World Examples of Succesful Enterprise Content Management StrategiesReal World Examples of Succesful Enterprise Content Management Strategies
Real World Examples of Succesful Enterprise Content Management Strategies
Brian Huff
 
A Pragmatic Strategy for Oracle Enterprise Content Management
A Pragmatic Strategy for Oracle Enterprise Content ManagementA Pragmatic Strategy for Oracle Enterprise Content Management
A Pragmatic Strategy for Oracle Enterprise Content Management
Brian Huff
 
A Pragmatic Strategy for Oracle Enterprise Content Management (ECM)
A Pragmatic Strategy for Oracle Enterprise Content Management (ECM)A Pragmatic Strategy for Oracle Enterprise Content Management (ECM)
A Pragmatic Strategy for Oracle Enterprise Content Management (ECM)
Brian Huff
 
Enterprise 2.0: What it is, and how you'll fail!
Enterprise 2.0: What it is, and how you'll fail!Enterprise 2.0: What it is, and how you'll fail!
Enterprise 2.0: What it is, and how you'll fail!
Brian Huff
 

More from Brian Huff (9)

AP Automation for EBS or PeopleSoft with Oracle WebCenter
AP Automation for EBS or PeopleSoft with Oracle WebCenterAP Automation for EBS or PeopleSoft with Oracle WebCenter
AP Automation for EBS or PeopleSoft with Oracle WebCenter
 
Top 10 Web Security Vulnerabilities (OWASP Top 10)
Top 10 Web Security Vulnerabilities (OWASP Top 10)Top 10 Web Security Vulnerabilities (OWASP Top 10)
Top 10 Web Security Vulnerabilities (OWASP Top 10)
 
The Top 10 Things Oracle UCM Users Need To Know About WebLogic
The Top 10 Things Oracle UCM Users Need To Know About WebLogicThe Top 10 Things Oracle UCM Users Need To Know About WebLogic
The Top 10 Things Oracle UCM Users Need To Know About WebLogic
 
Oracle UCM Security: Challenges and Best Practices
Oracle UCM Security: Challenges and Best PracticesOracle UCM Security: Challenges and Best Practices
Oracle UCM Security: Challenges and Best Practices
 
Oracle UCM: Web Site Performance Tuning
Oracle UCM: Web Site Performance TuningOracle UCM: Web Site Performance Tuning
Oracle UCM: Web Site Performance Tuning
 
Real World Examples of Succesful Enterprise Content Management Strategies
Real World Examples of Succesful Enterprise Content Management StrategiesReal World Examples of Succesful Enterprise Content Management Strategies
Real World Examples of Succesful Enterprise Content Management Strategies
 
A Pragmatic Strategy for Oracle Enterprise Content Management
A Pragmatic Strategy for Oracle Enterprise Content ManagementA Pragmatic Strategy for Oracle Enterprise Content Management
A Pragmatic Strategy for Oracle Enterprise Content Management
 
A Pragmatic Strategy for Oracle Enterprise Content Management (ECM)
A Pragmatic Strategy for Oracle Enterprise Content Management (ECM)A Pragmatic Strategy for Oracle Enterprise Content Management (ECM)
A Pragmatic Strategy for Oracle Enterprise Content Management (ECM)
 
Enterprise 2.0: What it is, and how you'll fail!
Enterprise 2.0: What it is, and how you'll fail!Enterprise 2.0: What it is, and how you'll fail!
Enterprise 2.0: What it is, and how you'll fail!
 

Recently uploaded

Advanced Techniques for Cyber Security Analysis and Anomaly Detection
Advanced Techniques for Cyber Security Analysis and Anomaly DetectionAdvanced Techniques for Cyber Security Analysis and Anomaly Detection
Advanced Techniques for Cyber Security Analysis and Anomaly Detection
Bert Blevins
 
20240705 QFM024 Irresponsible AI Reading List June 2024
20240705 QFM024 Irresponsible AI Reading List June 202420240705 QFM024 Irresponsible AI Reading List June 2024
20240705 QFM024 Irresponsible AI Reading List June 2024
Matthew Sinclair
 
RPA In Healthcare Benefits, Use Case, Trend And Challenges 2024.pptx
RPA In Healthcare Benefits, Use Case, Trend And Challenges 2024.pptxRPA In Healthcare Benefits, Use Case, Trend And Challenges 2024.pptx
RPA In Healthcare Benefits, Use Case, Trend And Challenges 2024.pptx
SynapseIndia
 
Understanding Insider Security Threats: Types, Examples, Effects, and Mitigat...
Understanding Insider Security Threats: Types, Examples, Effects, and Mitigat...Understanding Insider Security Threats: Types, Examples, Effects, and Mitigat...
Understanding Insider Security Threats: Types, Examples, Effects, and Mitigat...
Bert Blevins
 
Coordinate Systems in FME 101 - Webinar Slides
Coordinate Systems in FME 101 - Webinar SlidesCoordinate Systems in FME 101 - Webinar Slides
Coordinate Systems in FME 101 - Webinar Slides
Safe Software
 
TrustArc Webinar - 2024 Data Privacy Trends: A Mid-Year Check-In
TrustArc Webinar - 2024 Data Privacy Trends: A Mid-Year Check-InTrustArc Webinar - 2024 Data Privacy Trends: A Mid-Year Check-In
TrustArc Webinar - 2024 Data Privacy Trends: A Mid-Year Check-In
TrustArc
 
Implementations of Fused Deposition Modeling in real world
Implementations of Fused Deposition Modeling  in real worldImplementations of Fused Deposition Modeling  in real world
Implementations of Fused Deposition Modeling in real world
Emerging Tech
 
INDIAN AIR FORCE FIGHTER PLANES LIST.pdf
INDIAN AIR FORCE FIGHTER PLANES LIST.pdfINDIAN AIR FORCE FIGHTER PLANES LIST.pdf
INDIAN AIR FORCE FIGHTER PLANES LIST.pdf
jackson110191
 
Calgary MuleSoft Meetup APM and IDP .pptx
Calgary MuleSoft Meetup APM and IDP .pptxCalgary MuleSoft Meetup APM and IDP .pptx
Calgary MuleSoft Meetup APM and IDP .pptx
ishalveerrandhawa1
 
Comparison Table of DiskWarrior Alternatives.pdf
Comparison Table of DiskWarrior Alternatives.pdfComparison Table of DiskWarrior Alternatives.pdf
Comparison Table of DiskWarrior Alternatives.pdf
Andrey Yasko
 
Research Directions for Cross Reality Interfaces
Research Directions for Cross Reality InterfacesResearch Directions for Cross Reality Interfaces
Research Directions for Cross Reality Interfaces
Mark Billinghurst
 
7 Most Powerful Solar Storms in the History of Earth.pdf
7 Most Powerful Solar Storms in the History of Earth.pdf7 Most Powerful Solar Storms in the History of Earth.pdf
7 Most Powerful Solar Storms in the History of Earth.pdf
Enterprise Wired
 
Quantum Communications Q&A with Gemini LLM
Quantum Communications Q&A with Gemini LLMQuantum Communications Q&A with Gemini LLM
Quantum Communications Q&A with Gemini LLM
Vijayananda Mohire
 
Password Rotation in 2024 is still Relevant
Password Rotation in 2024 is still RelevantPassword Rotation in 2024 is still Relevant
Password Rotation in 2024 is still Relevant
Bert Blevins
 
The Rise of Supernetwork Data Intensive Computing
The Rise of Supernetwork Data Intensive ComputingThe Rise of Supernetwork Data Intensive Computing
The Rise of Supernetwork Data Intensive Computing
Larry Smarr
 
Choose our Linux Web Hosting for a seamless and successful online presence
Choose our Linux Web Hosting for a seamless and successful online presenceChoose our Linux Web Hosting for a seamless and successful online presence
Choose our Linux Web Hosting for a seamless and successful online presence
rajancomputerfbd
 
What’s New in Teams Calling, Meetings and Devices May 2024
What’s New in Teams Calling, Meetings and Devices May 2024What’s New in Teams Calling, Meetings and Devices May 2024
What’s New in Teams Calling, Meetings and Devices May 2024
Stephanie Beckett
 
Active Inference is a veryyyyyyyyyyyyyyyyyyyyyyyy
Active Inference is a veryyyyyyyyyyyyyyyyyyyyyyyyActive Inference is a veryyyyyyyyyyyyyyyyyyyyyyyy
Active Inference is a veryyyyyyyyyyyyyyyyyyyyyyyy
RaminGhanbari2
 
Observability For You and Me with OpenTelemetry
Observability For You and Me with OpenTelemetryObservability For You and Me with OpenTelemetry
Observability For You and Me with OpenTelemetry
Eric D. Schabell
 
Pigging Solutions Sustainability brochure.pdf
Pigging Solutions Sustainability brochure.pdfPigging Solutions Sustainability brochure.pdf
Pigging Solutions Sustainability brochure.pdf
Pigging Solutions
 

Recently uploaded (20)

Advanced Techniques for Cyber Security Analysis and Anomaly Detection
Advanced Techniques for Cyber Security Analysis and Anomaly DetectionAdvanced Techniques for Cyber Security Analysis and Anomaly Detection
Advanced Techniques for Cyber Security Analysis and Anomaly Detection
 
20240705 QFM024 Irresponsible AI Reading List June 2024
20240705 QFM024 Irresponsible AI Reading List June 202420240705 QFM024 Irresponsible AI Reading List June 2024
20240705 QFM024 Irresponsible AI Reading List June 2024
 
RPA In Healthcare Benefits, Use Case, Trend And Challenges 2024.pptx
RPA In Healthcare Benefits, Use Case, Trend And Challenges 2024.pptxRPA In Healthcare Benefits, Use Case, Trend And Challenges 2024.pptx
RPA In Healthcare Benefits, Use Case, Trend And Challenges 2024.pptx
 
Understanding Insider Security Threats: Types, Examples, Effects, and Mitigat...
Understanding Insider Security Threats: Types, Examples, Effects, and Mitigat...Understanding Insider Security Threats: Types, Examples, Effects, and Mitigat...
Understanding Insider Security Threats: Types, Examples, Effects, and Mitigat...
 
Coordinate Systems in FME 101 - Webinar Slides
Coordinate Systems in FME 101 - Webinar SlidesCoordinate Systems in FME 101 - Webinar Slides
Coordinate Systems in FME 101 - Webinar Slides
 
TrustArc Webinar - 2024 Data Privacy Trends: A Mid-Year Check-In
TrustArc Webinar - 2024 Data Privacy Trends: A Mid-Year Check-InTrustArc Webinar - 2024 Data Privacy Trends: A Mid-Year Check-In
TrustArc Webinar - 2024 Data Privacy Trends: A Mid-Year Check-In
 
Implementations of Fused Deposition Modeling in real world
Implementations of Fused Deposition Modeling  in real worldImplementations of Fused Deposition Modeling  in real world
Implementations of Fused Deposition Modeling in real world
 
INDIAN AIR FORCE FIGHTER PLANES LIST.pdf
INDIAN AIR FORCE FIGHTER PLANES LIST.pdfINDIAN AIR FORCE FIGHTER PLANES LIST.pdf
INDIAN AIR FORCE FIGHTER PLANES LIST.pdf
 
Calgary MuleSoft Meetup APM and IDP .pptx
Calgary MuleSoft Meetup APM and IDP .pptxCalgary MuleSoft Meetup APM and IDP .pptx
Calgary MuleSoft Meetup APM and IDP .pptx
 
Comparison Table of DiskWarrior Alternatives.pdf
Comparison Table of DiskWarrior Alternatives.pdfComparison Table of DiskWarrior Alternatives.pdf
Comparison Table of DiskWarrior Alternatives.pdf
 
Research Directions for Cross Reality Interfaces
Research Directions for Cross Reality InterfacesResearch Directions for Cross Reality Interfaces
Research Directions for Cross Reality Interfaces
 
7 Most Powerful Solar Storms in the History of Earth.pdf
7 Most Powerful Solar Storms in the History of Earth.pdf7 Most Powerful Solar Storms in the History of Earth.pdf
7 Most Powerful Solar Storms in the History of Earth.pdf
 
Quantum Communications Q&A with Gemini LLM
Quantum Communications Q&A with Gemini LLMQuantum Communications Q&A with Gemini LLM
Quantum Communications Q&A with Gemini LLM
 
Password Rotation in 2024 is still Relevant
Password Rotation in 2024 is still RelevantPassword Rotation in 2024 is still Relevant
Password Rotation in 2024 is still Relevant
 
The Rise of Supernetwork Data Intensive Computing
The Rise of Supernetwork Data Intensive ComputingThe Rise of Supernetwork Data Intensive Computing
The Rise of Supernetwork Data Intensive Computing
 
Choose our Linux Web Hosting for a seamless and successful online presence
Choose our Linux Web Hosting for a seamless and successful online presenceChoose our Linux Web Hosting for a seamless and successful online presence
Choose our Linux Web Hosting for a seamless and successful online presence
 
What’s New in Teams Calling, Meetings and Devices May 2024
What’s New in Teams Calling, Meetings and Devices May 2024What’s New in Teams Calling, Meetings and Devices May 2024
What’s New in Teams Calling, Meetings and Devices May 2024
 
Active Inference is a veryyyyyyyyyyyyyyyyyyyyyyyy
Active Inference is a veryyyyyyyyyyyyyyyyyyyyyyyyActive Inference is a veryyyyyyyyyyyyyyyyyyyyyyyy
Active Inference is a veryyyyyyyyyyyyyyyyyyyyyyyy
 
Observability For You and Me with OpenTelemetry
Observability For You and Me with OpenTelemetryObservability For You and Me with OpenTelemetry
Observability For You and Me with OpenTelemetry
 
Pigging Solutions Sustainability brochure.pdf
Pigging Solutions Sustainability brochure.pdfPigging Solutions Sustainability brochure.pdf
Pigging Solutions Sustainability brochure.pdf
 

Top 10 HTML5 Features for Oracle Cloud Developers

  • 1. Top 10 HTML5 Features for Oracle Cloud Developers Brian “Bex” Huff Chief Software Architect
  • 2. 2 Agenda  Intro to Oracle Cloud • Which ones use HTML5 extensively?  Intro to HTML5 • Why lightweight HTML5 frameworks are usually superior  Top 10 HTML5 features • The big ones you should know about  HTML5 Frameworks • Oracle JET, jQuery, node.js, etc.  Questions/Comments? The most recent version of this presentation is on SlideShare:  http://www.slideshare.net/bexmex/
  • 3. 3 Intro to Oracle Cloud  Oracle Sites Cloud Service • Extension of Oracle Document Cloud Service • HTML5 centric application for website design  Oracle Social Cloud • Deep integrations with the other cloud applications • Soon to be bundled with Document Cloud  Oracle Mobile Cloud • Create rich mobile web apps with the power of native • Leverages HTML5 browser built into all smartphones
  • 4. 4 Why HTML5?  HTML5 is critical for cloud development  Accepted on almost all platforms • Easier to support homogenous environment if based on open standards  Rapid development cycles • Less need for server-side code development  Cheaper hosting model • Heavy CPU processing on client browser, not server hardware
  • 5. Why HTML5 for the enterprise  Enterprise apps are (slowly) moving to the cloud  Cloud apps use a more open and friendly architecture • Based on standard protocols • HTTP, XML, JSON  Heavy frameworks still have value (ADF, etc) • But entire point of the cloud is the least complex way to solve problems • Heavily customized system? Probably need on-premise solution w/ADF • Simplified front end? JavaScript and HTML5 are the future 5
  • 6. Brief History of HTML5  Initiated in 2004 by Apple, Mozilla, Google, and Microsoft  XHTML dropped by the W3C in favor of HTML5 in 2009  Apple bundles HTML5 compliant browser into iPhone  Apple officially rejects mobile Flash in April 2010  Adobe stops developing mobile Flash in November 2011  Became a W3C 1.0 standard in October 2014  But the most critical event in the history of HTML5???  Microsoft drops support for browsers older than IE 11/Edge in January 2016 6
  • 7. 7 Top 10 Features 1. Semantic HTML 2. Local Storage 3. Geolocation 4. New security options: OAuth2 5. Cross-Origin Resource Sharing 6. Advanced HTML forms 7. WebSockets 8. WebWorkers 9. Built in Audio/Video support 10.Custom DOM Elements and Attributes
  • 8. 8 1) Semantic HTML  Explicit tags for the sections of a page everybody uses • header, footer, article, section, nav, menu  Structure • http://www.hongkiat.com/blog/html-5-semantics/ • https://www.w3.org/WAI/GL/wiki/Using_HTML5_section_elements  Semantic web comes closer, but probably wont happen yet • RDFa protocol • schema.org microdata • JSON-LD
  • 9. Semantic HTML Example <body> <header> <h1>Welcome To Our Website!</h1> </header> <nav> <header> <h2>Please select one!</h2> </header> <ul> <li>Menu 1</li> <li>Menu 2</li> </ul> </nav> <aside> <h2>Get To Know Us Better!</h2> <section> <h3>Popular Posts</h3> </section> </aside> 9
  • 10. Semantic HTML Example, cont. <article> <header> <h1>Title of Article</h1> <h2>Subtitle of Article</h2> </header> <section> <h3>First Logical Part (e.g. "Theory")</h3> <p>Paragraph 1 in first section</p> </section> <footer> <h4>Author Bio</h4> <p>Paragraph in Article's Footer</p> </footer> </article> <footer> <div>Social Media Links</div> </footer> </body> 10
  • 11. 11 2) Local storage  Allows large “offline” storage of structured data • Bye bye cookies, hello database! • By default, up to 5 Megs per website • Expandable with user permission • http://stackoverflow.com/questions/6276282/how-can-i-request-an-increase-to- the-html5-localstorage-size-on-ipad-like-the-f  All browser support basic offline Web Storage for strings: localStorage["foobar"] = "my data"; localStorage.setItem("foobar", "my data"); sessionStorage["colorScheme"] = "oracle-red";  Objects must be explicitly serialized into JSON: localStorage["foobar"] = JSON.stringify("my data"); var foobar = JSON.parse(localStorage["foobar"]);
  • 12. 12 2) Local storage, cont.  contenteditable • Cool flag to auto-add this functionality • http://html5demos.com/contenteditable • But keep in mind, the UI is kind of terrible • https://medium.com/medium-eng/why-contenteditable-is-terrible-122d8a40e480 <section id="editable" contenteditable="true"> <p>This text is natively editable in the browser</p> </section> <script> var editable = document.getElementById('editable'); addEvent(editable, 'blur', function () { localStorage.setItem('contenteditable', this.innerHTML); }); </script>
  • 13. 13 2) Local storage, cont.  Query languages exist, but are not universal • LocalStorage • Supported by all browsers, but just name-value pairs • WebSQL • Supported in Chrome and Safari, but deprecated since 2010 • IndexedDB • Successor to both, but browser support is very spotty • Kind of slow, weird API  Query Performance is in its infancy • IndexDB blocks the DOM unless run as a Web Worker (discussed later)  Not hopeful for any decent query standard any time soon • Classic example of why WHATWG was better than W3C
  • 14. 14 3) Geolocation  Allows web sites to determine the location of the client • http://html5demos.com/geo • http://www.w3schools.com/html/html5_geolocation.asp  Not just for mobile web: also for laptops and mobile web sites
  • 15. 15 3) Geolocation, cont.  How does it know my location??? • This is left up to the implementers of the spec to determine • Each browser and platform has a different process  Mobile web: location is usually known • Either GPS or cell tower info  Desktop • In Chrome, it sends a message with your network info (IP address, MAC address, Access Point, signal strength) to a Google service • Compares to data Google Maps gathered about WiFi access points • Or get closest known public router based on IP address
  • 16. 16 4) OAuth2  Add-on to HTML5, built into most Oracle Cloud apps • Not strictly part of the spec, but critical for its future  Think of OAuth2 as the “valet key for the web” • Grants limited access to specific resources, without giving it all away  OAuth2 process: 1.An application requests authorization on a user's behalf. 2.The application obtains a Grant Token. 3.The client requests an Access Token by using the Grant Token. 4.The authorization server validates the Grant Token and issues an Access Token and a Refresh Token. 5.The client requests the protected resource, authenticating using the Access Token. 6.The resource server verifies the Access Token and serves the request.
  • 18. 18 5) Cross Origin Resource Sharing  Previously, AJAX calls could only go back to original server • Probably the most irritating security ‘feature’ in HTML4  Could not host HTML and JS on two domains without hacks • Google Maps was ‘hackable’ but most sites were not • Each loaded JavaScript file needed a ‘callback’ to load • Every developer had to roll their own callback API  Now, new HTTP header to load sources from multiple servers • Access-Control-Allow-Origin: *
  • 19. 5) Cross Origin Resource Sharing, cont.  Use standard AJAX objects across domains var req = new XmlHTTPRequest(); req.open("POST", "http://example.org");  Use new window.postMessage to message across domains window.postMessage("hello world!", "http://example.org"); function receiveMessage(event) { // minimal security checks if (event.origin !== "http://example.org") return; alert(event.data); } window.addEventListener("message", receiveMessage, false); 19
  • 20. 20 6) Advanced Web Forms  HTML5 adds form options that have been sorely needed for decades  New input types • url, tel(telephone number), email, number, color, range, datetime, etc  Automatic in-line validation: critical for mobile web • Use the pattern attribute to do regular expression validation • Also specify min, max, required and a placeholder text <input type="text" id="productId" pattern="[A-Z]{3}[0-9]{3}" placeholder="XXX999" maxlength="6" required/> <input type="number" id="quantity" min="0" max="100" step="1" />
  • 21. 21 7) WebSockets  Web protocols (HTTP) are “stateless” • By design, as soon as the page is drawn, the data might be out of date • How do we know when the data has been updated?  Prior to HTML5, had to use JavaScript to “poll” for new data • JavaScript timeouts to load in new data • Every application/framework had to roll their own • Fairly high overhead, depending on the framework  WebSockets act like normal sockets • Allows back-end HTTP server to “push” new notifications to web front end
  • 22. 7) WebSockets, cont. var connection = new WebSocket('ws://example.com/echo'); connection.onerror = function (error) { alert('WebSocket Error ' + error); }; connection.onmessage = function (e) { alert('Server said: ' + e.data); }; // send a string, binary data, or even a file! connection.send('your message'); var binary = new Uint8Array(img.data.length); connection.send(binary.buffer); var file = document.querySelector('input[type="file"]').files[0]; connection.send(file); 22
  • 23. 23 8) WebWorkers  JavaScript is a single-threaded programming language • All scripts and events handled by one single thread • So if one function takes a long time, the whole web page hangs! • Major reason why JavaScript cant run heavy enterprise apps  The solution? WebWorkers! • Runs in the background, instead of the foreground • No more JavaScript errors from hogging the CPU resources • Send messages from main window to worker window
  • 24. 8) WebWorkers, cont.  Typically, the main page will start a worker, and post JSON formatted messages to it • Binary data in buffers can also be transferred <output id="result"></output> <script> var worker = new Worker('doWork.js'); worker.addEventListener('message', function(e) { document.getElementById('result').textContent = e.data; }, false); worker.postMessage({'cmd':'doStuff', 'msg':'my message...'}); worker.terminate(); </script> 24
  • 25. 8) WebWorkers, cont.  The worker page (doWork.js) creates an event listener, and responds to messages from the main page by posing a message to the ‘self’ object: self.addEventListener('message', function(e) { var data = e.data; switch (data.cmd) { case 'doStuff': self.postMessage('DOING STUFF: ' + data.msg); break; default: self.postMessage('Unknown command: ' + data.msg); }; }, false); 25
  • 26. 8) WebWorkers, cont.  For security, performance, and thread-safety a web worker has more limited access to JavaScript functions  The following objects are not available: • The DOM (it's not thread-safe) • The window object • The document object • The parent object 26
  • 27. 27 9) Audio and Video Support  New elements: <video> ,<audio>, and <track>  Mostly eliminates the need for JavaFX, Flash, or Silverlight  HTML5 is now the enterprise video/audio standard • http://www.ramp.com/enterprise/the-dawn-of-html5-video-as-the- enterprise-standard/  YouTube made HTML5 its default delivery platform in 2015 • http://youtube-eng.blogspot.com/2015/01/youtube-now-defaults-to- html5_27.html
  • 28. 28 9) Audio and Video Support, cont.  YouTube wanted to make the jump years ago, but several pieces were missing that have been recently added: • Fullscreen mode • WebRTC: real time video communication between browsers • Google hangouts • Encrypted media extensions • Adaptive Bitrate: downgrade to lower video quality based on bandwidth • MediaSource extensions: allow JavaScript to create and manage streams
  • 29. 29 10) Custom DOM Elements and Attributes  In addition to semantic HTML, you can make your own custom elements and attributes • Make HTML more like XML, and avoid pages of <div> soup  Custom elements can be declared in the HTML like others: <my-elem></my-elem>  The behavior of the custom element is like the <span> tag, until you register the element and its behavior: var myElem = document.registerElement('my-elem', { prototype: Object.create(HTMLElement.prototype) }); document.body.appendChild(new myElem()); ;
  • 30. 30 10) Custom DOM Elements and Attributes, cont.  Custom data attributes can be added to all elements: <div id="foo" data-my-attribute="bar"></div>  Access data with the standard getAttribute function: var foo = document.getElementById('foo'); var data = plant.getAttribute('data-my-attribute');  Limitations and best practices: • Custom elements must contain a dash • Ensures it will be compatible with future HTML6 tags • Custom attributes must start with data- • HTML5 spec strongly states that data attributes be PRIVATE to that page • Only JavaScript on that page should interact with those attributes • Should not be considered a replacement for microformats • IE 11 supports custom attributes, not custom elements (yet)
  • 31. 31 Tips & Tricks  HTML5 opens new security holes that need to be plugged • WebSockets and Cross Origin Resource Sharing in particular • Never, ever, ever assume LocalStorage can be trusted! • https://www.owasp.org/index.php/HTML5_Security_Cheat_Sheet  Double check for browser compatability • Check http://caniuse.com/ to verify  Performance will likely be an issue for a while • Plan on using web workers a lot!
  • 32. 32 HTML5 Frameworks to Use  Oracle JavaScript Extension Toolkit (JET) • Lightweight JS framework for Oracle apps • Use in Oracle Dev cloud, Social cloud  jQuery • Most battle-tested HTML/JS framework • Uses HTML5 features when possible, or downgrades to HTML4 for older browsers  Node.js • Front end and back end JavaScript framework • More free developer packages that Ruby, Python, or Rails  All can be added to DEV cloud or Sites cloud
  • 33. 33  My Company: http://bezzotech.com  My Blog: http://bexhuff.com  My Self: bex@bezzotech.com Questions?