SlideShare a Scribd company logo
A Look Ahead: Surveying Next-
Gen Modern Browser
(hardware/native) APIs
Shikhir Singh
@shikhirsingh
SenchaCon 2016: A Look Ahead: Survey Next-Gen Modern Browser APIs - Shikhir Singh
Current: Offline + Native/Hardware Access via Hybrid Apps
3
Common Considerations: Choosing Native, Hybrid, or
WebApp
Performanc
e
Hardware or
Native
Deployment
& Access
Connectivity

Recommended for you

Play framework : A Walkthrough
Play framework : A WalkthroughPlay framework : A Walkthrough
Play framework : A Walkthrough

Play Framework makes it easy to build web applications with Java & Scala. This presentation give a idea of how play is implemented using Netty, how routes work. How we get calls in controller's action. Walk through guice and logging.

javaplay frameworknetty
ASP.Net 5 and C# 6
ASP.Net 5 and C# 6ASP.Net 5 and C# 6
ASP.Net 5 and C# 6

ASP.Net 5 and C# 6 bring significant changes to the .NET framework and programming language. ASP.Net 5 introduces a new, modular framework that is cross-platform and optimized for building modern web applications. It uses middleware for request handling and dependency injection for services. C# 6 includes new features like null conditional operators, string interpolation, and auto-property initializers that improve code readability and safety. While Umbraco itself may not immediately use these new technologies, .NET developers should learn them to stay current with the platform.

asp.netc#
PowerShell for SharePoint Developers
PowerShell for SharePoint DevelopersPowerShell for SharePoint Developers
PowerShell for SharePoint Developers

The document provides details about Boulos Dib, an independent consultant with over 30 years of experience in software development. It lists his early experiences with computers and operating systems. It then outlines his agenda for a presentation on PowerShell and SharePoint, including a review of PowerShell concepts, the SharePoint Management Shell, common cmdlets, best practices, sample scripts and tools.

microsoft sharepointpowershell
Performance
Connectivity/
Offline
Deployment/
Access
Hardware
Native ✓ ✓ ✓
App Store / Home Screen
✓
Hybrid ✓ ✓
App Store / Home Screen
✓
WebApp
✓
✓ ✓ ✓
Links / Home Screen
✓
Performance for Enterprise Apps
Desktop Apps: No Obsession in Enterprise for Native Apps
Vs
SenchaCon 2016: A Look Ahead: Survey Next-Gen Modern Browser APIs - Shikhir Singh

Recommended for you

40+ tips to use Postman more efficiently
40+ tips to use Postman more efficiently40+ tips to use Postman more efficiently
40+ tips to use Postman more efficiently

This document provides an overview of how to use Postman, a tool for building and testing APIs. It discusses how Postman allows users to quickly build API requests, organize requests into collections with folders and descriptions, share collections with teams, use environments to switch between development and production APIs, write test scripts to automate testing, and run collections from the command line with Newman.

apispostmantips
PowerShell for SharePoint Admins
PowerShell for SharePoint AdminsPowerShell for SharePoint Admins
PowerShell for SharePoint Admins

- Windows PowerShell is a command-line interface and scripting language that can be used for SharePoint administration. It provides more control, efficiency and productivity compared to previous command-line tools. - PowerShell uses cmdlets made up of verb-noun combinations to perform actions on objects. There are over 500 SharePoint-specific cmdlets. - PowerShell scripts can be used to automate and simplify common administrative tasks like feature activation, site provisioning, and backup.

powershellsharepoint
Laravel introduction
Laravel introductionLaravel introduction
Laravel introduction

Laravel, längst kein unbestriebenes Blatt mehr, gewinnt immer mehr an Popularität. In diesem Vortrag wir Laravel kurz vorgestellt mit Themen wie: - Was ist Laravel? - Woher kommt Laravel? - Was bietet Laravel? - Laravel und sein Ecosystem. und einiges mehr...

laravel php
SenchaCon 2016: A Look Ahead: Survey Next-Gen Modern Browser APIs - Shikhir Singh
Hardware Accelerated Animations and Transformations
Performance
Connectivity/
Offline
Deployment/
Access
Hardware
Native ✓ ✓ ✓
App Store / Home Screen
✓
Hybrid ✓ ✓
App Store / Home Screen
✓
WebApp
✓
✓ ✓ ✓
Links / Home Screen
✓
SenchaCon 2016: A Look Ahead: Survey Next-Gen Modern Browser APIs - Shikhir Singh

Recommended for you

Your First Scala Web Application using Play 2.1
Your First Scala Web Application using Play 2.1Your First Scala Web Application using Play 2.1
Your First Scala Web Application using Play 2.1

This document provides an overview of building a Scala web application using the Play! framework. It begins with introductions to Scala and the Play! framework. It then covers topics like request handling, views, forms, database integration, the build system, internationalization, and testing. Exercises are provided to demonstrate creating routes, controllers, actions, views, forms, database models and more. The presenter is available to answer questions after the session and provides information on open positions at their company Lucid Software.

play frameworkconferencesprogramming
Play! Framework for JavaEE Developers
Play! Framework for JavaEE DevelopersPlay! Framework for JavaEE Developers
Play! Framework for JavaEE Developers

User.getUser(Long id) and User.getUsers(Long page, int cnt) methods retrieve data from the cache using different keys. So modifying and saving an object retrieved by getUser does not update the cached collection returned by getUsers, leading to inconsistencies. Play's caching at the model level does not consider relationships between entities.

playjava
Life in a Queue - Using Message Queue with django
Life in a Queue - Using Message Queue with djangoLife in a Queue - Using Message Queue with django
Life in a Queue - Using Message Queue with django

Brief introduction on message queue and how its relevant in web applications How to tell if your web application could benefit from message queue Common example of tasks that could benefit from message queues Choosing a broker/protocol What broker/protocol PBS Education chose and why Message queue solution architecture Brief introduction on celery/carrot Writing a message queue task using celery How to invoke a message queue taks What happens when you invoke a task (walk through architecture) How to write tasks efficiently What are the things that are good to know when writing tasks (things we experienced at PBS Education)

message queuepythondjango
W3C Development Process
Internal Draft
Public Working
Draft
Last Call
Announcement
(Working Draft)
Call For
Implementations
(CR)
Call For Review
(PR)
Standard
Web Incubator
Community
Group Charter
Abandoned
Example Dead Spec - FileSystem API
• Creates Sandbox Filesystem that a web apps can navigate around
• Let’s apps have offline storage features that involve large binary blobs
• Cannot access file via file://
• W3C Spec Status
- Implemented by Chrome, Opera, and Firefox
- Opposed by Edge and Safari
- Result: Dead Spec
Progressive Web Apps – Current Key Technologies
• Web Application Manifest
• Server Workers
{
"lang": "en",
"dir": "ltr",
"name": "Super Racer 3000",
"description": "The ultimate futuristic racing game!",
"short_name": "Racer3K",
"icons": [{
"src": "icon/lowres.webp",
"sizes": "64x64",
"type": "image/webp"
},{
"src": "icon/lowres.png",
"sizes": "64x64"
}, {
"src": "icon/hd_hi",
"sizes": "128x128"
}],
"scope": "/racer/",
"start_url": "/racer/start.html",
"display": "fullscreen",
"orientation": "landscape",
"theme_color": "aliceblue",
"background_color": "red”
}
Web App Manifest
• Provides Metadata for PWA
• Unique Features Features
- Short Name
- Lock Orientation
- Create Standalone and Full Screen apps
- Splash Screen
• Latest working draft contains new
features’
• Web App Manifest Generator

Recommended for you

Introduction in the play framework
Introduction in the play frameworkIntroduction in the play framework
Introduction in the play framework

The document discusses the Play! web development framework. It provides an overview of the framework's architecture, conventions, core concepts like models, controllers and views. It also covers testing, jobs, deployment and ongoing development work, including new features for version 1.1 and the growing module repository.

Node.js vs Play Framework (with Japanese subtitles)
Node.js vs Play Framework (with Japanese subtitles)Node.js vs Play Framework (with Japanese subtitles)
Node.js vs Play Framework (with Japanese subtitles)

Video: http://www.nicovideo.jp/watch/1410857293 Here's the showdown you've been waiting for: Node.js vs Play Framework. Both are popular open source web frameworks that are built for developer productivity, asynchronous I/O, and the real time web. But which one is easier to learn, test, deploy, debug, and scale? Should you pick Javascript or Scala? The Google v8 engine or the JVM? NPM or Ivy? Grunt or SBT? Two frameworks enter, one framework leaves. This version of the presentation has Japanese subtitles. For the English only version, see http://www.slideshare.net/brikis98/nodejs-vs-play-framework

javaweb developmentjavascript
SP24S053 Introduction to PowerShell for SharePoint Developers and Administrators
SP24S053 Introduction to PowerShell for SharePoint Developers and AdministratorsSP24S053 Introduction to PowerShell for SharePoint Developers and Administrators
SP24S053 Introduction to PowerShell for SharePoint Developers and Administrators

This document provides an introduction to using PowerShell for managing SharePoint environments. It covers getting started with PowerShell and learning the syntax. Multiple chapters discuss various PowerShell techniques for working with SharePoint, including automating tasks, managing content, and scripting deployments. Resources for learning more about PowerShell and SharePoint are also provided.

sp24conf.comsp24microsoft sharepoint
Service Worker
• JavaScript File that run in background
• Enables Modern Capabilities
- Caching
- Push Notifications
- Notifications API
• HTTPS only
Service Worker
Web Push API
• Used inside Service Worker
• Send upto 4 kilobytes of data via Push
• Server must encrypt Push data, which is decrypted by browser
• Action Buttons
Web Push API - Client
Subscribe
Send Subscription
ID to Server
Client Adds Event
Listener for “push”
On Push, Process
and Notify User via
Notifications API

Recommended for you

Laravel 5 Annotations: RESTful API routing
Laravel 5 Annotations: RESTful API routingLaravel 5 Annotations: RESTful API routing
Laravel 5 Annotations: RESTful API routing

Handling RESTful API requests with Laravel PHP Framework resource controllers is already very easy. With Laravel 5, handling request routing has been made even easier by using a configuration-as-annotation approach. Controller annotations may take advantage of doc block-style syntax and then be compiled using Laravel's artisan command-line tool. I'll present this approach by providing a few examples and discussing some of the pros and cons.

laravelrestfulannotations
Hey My Web App is Slow Where is the Problem
Hey My Web App is Slow Where is the ProblemHey My Web App is Slow Where is the Problem
Hey My Web App is Slow Where is the Problem

The document discusses various ways to identify and address performance issues that may be slowing down a web application. It describes tools that can help pinpoint where problems exist, such as in the client's browser, on the server running the application, or in networking between the two. Browser developer tools, operating system monitoring tools, network testing services, and page testing services that evaluate from external servers are recommended for examining the client perspective. Application servers, web servers, databases, and operating systems each have specific monitoring tools that can help identify server-side issues. Addressing problems may require optimizations found through resources like developer guides from Yahoo, Google, and others.

performancecfsummit2015coldfusion
Using Play Framework 2 in production
Using Play Framework 2 in productionUsing Play Framework 2 in production
Using Play Framework 2 in production

Using Play Framework 2 in production - Play Framework 2 is a web framework for Scala that embraces HTTP and allows codebases to stay readable and DRY as they grow large. - As a startup, Play Framework 2 and Scala can attract developers who want to learn and find better ways to develop for the web using a powerful yet stable language and bleeding edge yet stable framework. - Some early mistakes included slow CSS compilation, not properly configuring for asynchronous code like Slick, and not managing JavaScript, but Play is forgiving and allows replacing pieces as needs become more advanced.

play frameworkslickscala
Web Push API: Server-side Push
Endpoint Service Worker
title = “Credit Card Fraud”;
options = {
body: “Did you tip 133% at Mongolian BBQ?”,
icon: "images/ccard.png",
vibrate: [200, 100, 200, 100, 200, 100, 400],
tag: "request",
actions: [
{ action: "yes", title: "Yes", icon: “yes.png" },
{ action: "no", title: "No", icon: “no.png" }
]
};
serviceWorkerRegistration.showNotification(title,
options);
Notifications API
• Used with Push to inform user
• Must get Permissions from User
Offline Access
• AppCache API – Not great for multipage sites
• Service Worker
Web Assembly – Use Cases
• Platform Emulation (DOSBox)
• Language Interpreters and Virtual
Machines!
• Remote Desktop
• VPN
• Encryption
• Fat Clients for Enterprise Apps
• Hybrid Native Apps on Mobile Devices
• Speed for Existing Frameworks
• Images / Video Editing
• Games!
• Peer to Peer Applications
• Music Apps
• Image Recognition
• VR & Augmented Reality
• CAD, Education & Science
Visualizations

Recommended for you

Composable and streamable Play apps
Composable and streamable Play appsComposable and streamable Play apps
Composable and streamable Play apps

Web pages can get very complex and slow. In this talk, I share how we solve some of these problems at LinkedIn by leveraging composition and streaming in the Play Framework. This was my keynote for Ping Conference 2014 ( http://www.ping-conf.com/ ): the video is on ustream ( http://www.ustream.tv/recorded/42801129 ) and the sample code is on github ( https://github.com/brikis98/ping-play ).

play frameworkcompositionstreaming
Web APIs & Apps - Mozilla
Web APIs & Apps - MozillaWeb APIs & Apps - Mozilla
Web APIs & Apps - Mozilla

This document summarizes the Firefox OS, an open web platform for building mobile apps and customizing the user interface using HTML5, CSS, and JavaScript. It outlines key web APIs, the process for developing and publishing open web apps, and the different types of apps including regular web apps, installed web apps, and privileged web apps with additional capabilities. Security levels and permissions for APIs are also discussed.

apiweb apiapis
Web Standards Support in WebKit
Web Standards Support in WebKitWeb Standards Support in WebKit
Web Standards Support in WebKit

This document summarizes Joone Hur's presentation on web standards support in WebKit. It discusses several new and emerging web APIs including custom protocol and content handlers, AddSearchProvider, Navigation Timing, device APIs for battery status, contacts, and media capture. It also covers the Unified Storage Quota API, Shadow DOM API, and notes that WebCL and WebKit2 have been added to Samsung and Nokia browsers.

webkit
someElement.addEventListener("webkitmouseforcedown", enterForceClick,
false);
someElement.addEventListener("webkitmouseforceup", endForceClick,
false);
someElement.addEventListener("webkitmouseforcechanged",
forceChanged, false);
3D + Force Touch API
• Force Touch Trackpad
• iPhone 6+
navigator.geolocation.getCurrentPosition(showPosition);
GPS
• Geolocation
• Geofencing (likely abandoned)
let faceDetector = new FaceDetector({fastMode: true,
maxDetectedFaces: 1});
let barcodeDetector = new BarcodeDetector();
barcodeDetector.detect(theImage.then(detectedCodes => {
for (const barcode of detectedCodes) {
// barcode.rawValue
}
}});
Accelerated Shape Detection in
Images
• Hardware Accelerated Shape
Detection
- Faces
- Barcodes
- Custom Shapes
Web Share

Recommended for you

Comet from JavaOne 2008
Comet from JavaOne 2008Comet from JavaOne 2008
Comet from JavaOne 2008

Comet allows for bidirectional communication between server and client by allowing long-lived HTTP connections. This overcomes limitations of traditional Ajax which uses polling. Comet enables new types of highly interactive web applications such as collaborative editing and streaming financial data. It works by having the client leave an HTTP request open to the server instead of closing after each response. The server can then push updates to the client without needing the client to poll repeatedly. There are different Comet architectures and techniques for implementing it on both the client-side, such as long polling and forever frames, and server-side. While not fully standardized, Comet provides a way to build real-time web applications today despite some browser limitations.

cometjavaoneweb
Intro To webOS
Intro To webOSIntro To webOS
Intro To webOS

This document provides an overview and introduction to the webOS platform. It discusses the webOS architecture including application architecture using stages and scenes. It covers building a basic "Destroy World" app using the command line tools. It also discusses the webOS emulator, advanced APIs like camera, storage and accelerometer access. Finally it discusses submitting apps to the webOS app catalog and a promotion for hot new apps.

palmdevwebosjavascript
Hybrid application development
Hybrid application developmentHybrid application development
Hybrid application development

The presentation I prepared for AndroidDeveloperDays Ankara’12. http://www.androiddeveloperdays.com/home/

debuggingmobile application developmentwebsocket
navigator.share({title: 'Example Page',
url: 'https://example.com'});Web Share
• Allows sharing text, URLs and images
to arbitrary destinations of User’s
Choice
Web Crypto
• Asymmetric
• Symmetric
• Hashing
• Algorithms
- SHA
- AES
- Elliptical Curve
- Diffie-Hellman
- RSA
- PBKDF2
var recognition = new webkitSpeechRecognition();
recognition.continuous = true;
recognition.interimResults = true;
recognition.onstart = function() { ... }
recognition.onresult = function(event) { ... }
recognition.onerror = function(event) { ... }
recognition.onend = function() { ... }
var utterance = new SpeechSynthesisUtterance('Hello’ +
‘SenchaCon');
window.speechSynthesis.speak(utterance);
Web Speech API
• Recognized and Transcribe Human
Speech
- Choose Language and dialect
• Speech Synthesis
- Pick Voice
- Volume
- Rate
- Pitch
- Language
window.addEventListener(“deviceorientation”, handle, true)
function handle(data) {
var absolute = data.absolute;
var alpha = data.alpha; // Direction of Compass
var beta = data.beta; // Front or Back tilt
var gamma = data.gamma; // Right or Left lilt
// Do stuff with the new orientation data
}
DeviceOrientation API
• Access to Compass
• Access to Gyroscope
• Support: Edge, IE 11, Firefox,
Chrome, Opera, iOS Safari, Android
Browser, Chrome for Android

Recommended for you

WebAPIs & Apps - Mozilla London
WebAPIs & Apps - Mozilla LondonWebAPIs & Apps - Mozilla London
WebAPIs & Apps - Mozilla London

Firefox OS allows developers to build apps and customize the user interface using HTML5, CSS, JavaScript, and Web APIs. Apps are developed as regular web apps, with the addition of an app manifest file. Apps can be published to the Firefox Marketplace or installed directly. The Firefox OS platform provides both regular web APIs as well as more privileged APIs that require permissions. Future plans include additional APIs for features like spell checking, peer-to-peer connectivity, and WebRTC. Developers can get help through IRC channels or mailing lists and try things out using emulators, boilerplate apps, and the Firefox OS developer preview.

javascriptmobilefirefox os
Sencha Roadshow 2017: Build Progressive Web Apps with Ext JS and Cmd
Sencha Roadshow 2017: Build Progressive Web Apps with Ext JS and Cmd Sencha Roadshow 2017: Build Progressive Web Apps with Ext JS and Cmd
Sencha Roadshow 2017: Build Progressive Web Apps with Ext JS and Cmd

Learn how to use Ext JS and Cmd to deliver Progressive Web Applications to deliver the best of both web and mobile app experiences. Web apps can be found easily on the internet and every user is guaranteed access to the same and latest version of the application. Plus, mobile app capabilities, such as offline support and optimizing access to the underlying network using service workers, take the user experience to a whole new level.

progressive web appsext js
AWS as platform for scalable applications
AWS as platform for scalable applicationsAWS as platform for scalable applications
AWS as platform for scalable applications

The document describes building a link shortening application called YA.LS using Amazon Web Services. It discusses: 1) Developing the application using Node.js, Express, and other packages and deploying it to AWS Elastic Beanstalk. 2) Storing shortened links and target URLs in DynamoDB and caching them locally. 3) Redirecting requests using the stored URLs. 4) Enhancing it to take screenshots, store them in S3, and record analytics using SQS, Lambda, and Kinesis. 5) Configuring authentication with IAM and deploying the infrastructure with CloudFormation.

window.addEventListener(“devicemotion”, handle, true)
function handle(data) {
var acceleration = data.acceleration;
var accelGrav= data.accelerationIncludingGravity;
var rotationRate = data.rotationRate;
}
DeviceMotion API
• Access to Accelerometer
• Support: Edge, IE 11, Firefox,
Chrome, Opera, iOS Safari, Android
Browser, Chrome for Android
let sensor = new ProximitySensor();
sensor.start();
sensor.onchange = event =>
console.log(event.reading.distance);
Proximity Sensor
• Used in mobile devices to turn off
display when in proximity of human
ear or cover
window.addEventListener('devicelight', function(event) {
var html = document.getElementsByTagName('html')[0];
if (event.value < 50) {
html.classList.add('darklight');
html.classList.remove('brightlight');
} else {
html.classList.add('brightlight');
html.classList.remove('darklight');
}
});
Ambient Light Sensor API
• Measures light to conserve battery
document.addEventListener('copy', function(e){
e.clipboardData.setData('text/plain', 'Hello, world!');
e.clipboardData.setData('text/html',
'<b>Hello, world!</b>'); e.preventDefault(); // We
want our data, not selection
});
Clipboard API
• Actions
- Copy
- Cut
- Paste

Recommended for you

Araport Workshop Tutorial 2: Authentication and the Agave Profiles Service
Araport Workshop Tutorial 2: Authentication and the Agave Profiles ServiceAraport Workshop Tutorial 2: Authentication and the Agave Profiles Service
Araport Workshop Tutorial 2: Authentication and the Agave Profiles Service

Araport Workshop Tutorial 2: Authentication and the Agave Profiles Service. A tutorial for building a science application using the Araport.org platform, specifically the Agave API's Profiles RESTful endpoints from the araport app generator platform.

taccaraportbioinformatics
Sviluppare Applicazioni Real Time con AppSync Deck.pptx
Sviluppare Applicazioni Real Time con AppSync Deck.pptxSviluppare Applicazioni Real Time con AppSync Deck.pptx
Sviluppare Applicazioni Real Time con AppSync Deck.pptx

The document discusses building real-time applications with AWS AppSync. It covers common data needs for apps, such as user registration and analytics. It also discusses challenges like accessing data across devices and building scalable apps. The document then introduces AWS AppSync as a way to build apps that can fetch data in real-time, work offline, and handle interactions like querying, updating, and subscribing to data changes. It provides an overview of GraphQL and demonstrates how AWS AppSync addresses issues like offline support, security, and integrating with other AWS services.

appsync
signalr
signalrsignalr
signalr

SignalR is a library for adding real-time web functionality to applications. It uses web sockets, server-sent events, and long-polling to enable real-time functionality between a server and client browsers. SignalR supports cross-platform connections from JavaScript and .NET clients to any backend. Hubs provide a simple abstraction for defining real-time endpoints and handling connections that can scale across servers. A backplane like Redis can be used to enable real-time connections across servers for scaling out applications. SignalR can also be self-hosted outside of IIS.

navigator.getBattery().then(function(battery){
console.log(battery.level);
});
Battery Status API
• Check Battery Level
• Events
- onchargingchange
- onchargingtimechange
- ondischargingtimechange
- Onlevelchange
• W3C Candidate Recommendation
navigator.nfc.requestAdapter().then((nfcAdapter) => {
adapter = nfcAdapter;
adapter.onmessage = onMessage;
};
function onMessage(event) {
var data = event.message.data;
};
Web NFC
• Near Field Communication
• Chrome: In Development
• Firefox: Support
navigator.bluetooth.requestDevice({ filters: [
{ services: ['battery_service'] }
]
}).then(device => { /* ... */ })
.catch(error => { console.log(error); });
Web Bluetooth
• Activate Bluetooth
- chrome://flags/#enable-web-bluetooth
var request = new PresentationRequest(presUrls);
request.getAvailability().then(function(availability) {
handleAvailabilityChange(availability.value);
}
Presentation API
• Present to External Screen
- Projector
- TV

Recommended for you

APIs for modern web apps
APIs for modern web appsAPIs for modern web apps
APIs for modern web apps

Web developers now have a large number of APIs available allowing them to harness complex functionality via JavaScript and produce ever more interesting web experiences. This presentation looks at where we can from, where APIs are going in the future, and what problems we are currently in the process of solving. This includes providing offline installation, multimedia, performance, and more.

fetchperformancepush
Back to the 90s' - Revenge of the static website
Back to the 90s' - Revenge of the static websiteBack to the 90s' - Revenge of the static website
Back to the 90s' - Revenge of the static website

Static websites are becoming a viable client application model once again. In this talk I provide a practical example

azurestatic websiteshtml
amis-adf-enterprise-mobility
amis-adf-enterprise-mobilityamis-adf-enterprise-mobility
amis-adf-enterprise-mobility

This document provides an overview of Oracle's ADF Mobile Framework. It discusses: - Building mobile apps that run on multiple platforms using Java business logic and HTML5/JavaScript UIs - Developing apps in JDeveloper and Eclipse with device simulators - Creating UIs with AMX pages that generate HTML/JS on devices - Accessing data through web services, SQLite databases, and device features like the camera - Enabling push notifications using registration tokens from APNs/GCM messaging services

navigator.bluetooth.requestDevice({ filters: [
{ services: ['battery_service'] }
]
}).then(device => { /* ... */ })
.catch(error => { console.log(error); });
Web Share
• Activate Bluetooth
- chrome://flags/#enable-web-bluetooth
window.addEventListener("gamepadconnected",
function(e) {
console.log(”Connected at index %d: %s. %d buttons,
%d axes.", e.gamepad.index,
e.gamepad.id, e.gamepad.buttons.length,
e.gamepad.axes.length);
});
Gamepad API
• Near Field Communication
• Chrome: In Development
• Firefox: Support
Summary
• Web is gearing up to take on Native
• Performance Discussion is irrelevant for most apps
• Google Chrome is leading the way in implementing new technologies
• Nearly all hardware common mobile devices will be accessed easily
• Web Apps will be more stable than Cordova due to better plugin ecosystem
• Success will depend on adoption by all browsers
• Ext JS will incorporate new technologies and will help you manage browser
differences
Resources
• Progressive Web Apps
- https://www.udacity.com/course/intro-to-progressive-web-apps--ud811 (FREE Course!)
- https://developer.mozilla.org/en-US/Apps/Progressive
• W3C
- Device And Sensor Working Group
• https://www.w3.org/2016/03/device-sensors-wg-charter.html
- https://github.com/WICG

Recommended for you

HTML5 Programming
HTML5 ProgrammingHTML5 Programming
HTML5 Programming

This document discusses HTML5 programming and several HTML5 features including multimedia, canvas, web sockets, web storage, indexed databases, offline capabilities, file systems, and geolocation. It provides examples and explanations of how to use these new HTML5 features in programming and notes that while specifications continue to evolve, real-world browser support is more important. It aims to cover programming aspects of video, canvas, web sockets, data storage, offline usage, file systems, and geolocation.

html5
HTML5 on Mobile
HTML5 on MobileHTML5 on Mobile
HTML5 on Mobile

This document discusses HTML5 on mobile devices. It begins by explaining why mobile web is growing and why HTML5 is well-suited for mobile. It then provides an overview of what HTML5 is and examples of features like forms, multimedia, geolocation that can be used on mobile. It also discusses considerations for mobile web development like responsive design and frameworks. The document recommends tools for mobile debugging and testing performance.

html5mobile
ASP.NET MVC 5 and SignalR 2
ASP.NET MVC 5 and SignalR 2ASP.NET MVC 5 and SignalR 2
ASP.NET MVC 5 and SignalR 2

This document provides an overview of SignalR and how to use it for adding real-time functionality to web applications. It discusses SignalR transports like WebSockets, long polling and server-sent events. It also covers setting up connections and hubs on the server and client sides, and calls between them. The document concludes with sections on security, performance, and what is new in ASP.NET Core SignalR, which has reimagined SignalR as sockets with changes like removing jQuery dependency and auto-reconnect.

asp.net mvcsignalr
Resources
• Browser API Status
- CanIUse.com
- webkit.org/status/
- chromestatus.com
- developer.microsoft.com/en-us/microsoft-edge/platform/status/
• APIs
- App Manifest Generator - https://app-manifest.firebaseapp.com
Resources
• ApplicationCache is a Douchebag
- http://alistapart.com/article/application-cache-is-a-douchebag
SenchaCon 2016: A Look Ahead: Survey Next-Gen Modern Browser APIs - Shikhir Singh

More Related Content

What's hot

Web a Quebec - JS Debugging
Web a Quebec - JS DebuggingWeb a Quebec - JS Debugging
Web a Quebec - JS Debugging
Rami Sayar
 
Servletarchitecture,lifecycle,get,post
Servletarchitecture,lifecycle,get,postServletarchitecture,lifecycle,get,post
Servletarchitecture,lifecycle,get,post
vamsi krishna
 
Xitrum @ Scala Matsuri Tokyo 2014
Xitrum @ Scala Matsuri Tokyo 2014Xitrum @ Scala Matsuri Tokyo 2014
Xitrum @ Scala Matsuri Tokyo 2014
Ngoc Dao
 
Play framework : A Walkthrough
Play framework : A WalkthroughPlay framework : A Walkthrough
Play framework : A Walkthrough
mitesh_sharma
 
ASP.Net 5 and C# 6
ASP.Net 5 and C# 6ASP.Net 5 and C# 6
ASP.Net 5 and C# 6
Andy Butland
 
PowerShell for SharePoint Developers
PowerShell for SharePoint DevelopersPowerShell for SharePoint Developers
PowerShell for SharePoint Developers
Boulos Dib
 
40+ tips to use Postman more efficiently
40+ tips to use Postman more efficiently40+ tips to use Postman more efficiently
40+ tips to use Postman more efficiently
postmanclient
 
PowerShell for SharePoint Admins
PowerShell for SharePoint AdminsPowerShell for SharePoint Admins
PowerShell for SharePoint Admins
Rick Taylor
 
Laravel introduction
Laravel introductionLaravel introduction
Laravel introduction
Simon Funk
 
Your First Scala Web Application using Play 2.1
Your First Scala Web Application using Play 2.1Your First Scala Web Application using Play 2.1
Your First Scala Web Application using Play 2.1
Matthew Barlocker
 
Play! Framework for JavaEE Developers
Play! Framework for JavaEE DevelopersPlay! Framework for JavaEE Developers
Play! Framework for JavaEE Developers
Teng Shiu Huang
 
Life in a Queue - Using Message Queue with django
Life in a Queue - Using Message Queue with djangoLife in a Queue - Using Message Queue with django
Life in a Queue - Using Message Queue with django
Tareque Hossain
 
Introduction in the play framework
Introduction in the play frameworkIntroduction in the play framework
Introduction in the play framework
Alexander Reelsen
 
Node.js vs Play Framework (with Japanese subtitles)
Node.js vs Play Framework (with Japanese subtitles)Node.js vs Play Framework (with Japanese subtitles)
Node.js vs Play Framework (with Japanese subtitles)
Yevgeniy Brikman
 
SP24S053 Introduction to PowerShell for SharePoint Developers and Administrators
SP24S053 Introduction to PowerShell for SharePoint Developers and AdministratorsSP24S053 Introduction to PowerShell for SharePoint Developers and Administrators
SP24S053 Introduction to PowerShell for SharePoint Developers and Administrators
Michael Blumenthal (Microsoft MVP)
 
Laravel 5 Annotations: RESTful API routing
Laravel 5 Annotations: RESTful API routingLaravel 5 Annotations: RESTful API routing
Laravel 5 Annotations: RESTful API routing
Christopher Pecoraro
 
Hey My Web App is Slow Where is the Problem
Hey My Web App is Slow Where is the ProblemHey My Web App is Slow Where is the Problem
Hey My Web App is Slow Where is the Problem
ColdFusionConference
 
Using Play Framework 2 in production
Using Play Framework 2 in productionUsing Play Framework 2 in production
Using Play Framework 2 in production
Christian Papauschek
 
Composable and streamable Play apps
Composable and streamable Play appsComposable and streamable Play apps
Composable and streamable Play apps
Yevgeniy Brikman
 

What's hot (19)

Web a Quebec - JS Debugging
Web a Quebec - JS DebuggingWeb a Quebec - JS Debugging
Web a Quebec - JS Debugging
 
Servletarchitecture,lifecycle,get,post
Servletarchitecture,lifecycle,get,postServletarchitecture,lifecycle,get,post
Servletarchitecture,lifecycle,get,post
 
Xitrum @ Scala Matsuri Tokyo 2014
Xitrum @ Scala Matsuri Tokyo 2014Xitrum @ Scala Matsuri Tokyo 2014
Xitrum @ Scala Matsuri Tokyo 2014
 
Play framework : A Walkthrough
Play framework : A WalkthroughPlay framework : A Walkthrough
Play framework : A Walkthrough
 
ASP.Net 5 and C# 6
ASP.Net 5 and C# 6ASP.Net 5 and C# 6
ASP.Net 5 and C# 6
 
PowerShell for SharePoint Developers
PowerShell for SharePoint DevelopersPowerShell for SharePoint Developers
PowerShell for SharePoint Developers
 
40+ tips to use Postman more efficiently
40+ tips to use Postman more efficiently40+ tips to use Postman more efficiently
40+ tips to use Postman more efficiently
 
PowerShell for SharePoint Admins
PowerShell for SharePoint AdminsPowerShell for SharePoint Admins
PowerShell for SharePoint Admins
 
Laravel introduction
Laravel introductionLaravel introduction
Laravel introduction
 
Your First Scala Web Application using Play 2.1
Your First Scala Web Application using Play 2.1Your First Scala Web Application using Play 2.1
Your First Scala Web Application using Play 2.1
 
Play! Framework for JavaEE Developers
Play! Framework for JavaEE DevelopersPlay! Framework for JavaEE Developers
Play! Framework for JavaEE Developers
 
Life in a Queue - Using Message Queue with django
Life in a Queue - Using Message Queue with djangoLife in a Queue - Using Message Queue with django
Life in a Queue - Using Message Queue with django
 
Introduction in the play framework
Introduction in the play frameworkIntroduction in the play framework
Introduction in the play framework
 
Node.js vs Play Framework (with Japanese subtitles)
Node.js vs Play Framework (with Japanese subtitles)Node.js vs Play Framework (with Japanese subtitles)
Node.js vs Play Framework (with Japanese subtitles)
 
SP24S053 Introduction to PowerShell for SharePoint Developers and Administrators
SP24S053 Introduction to PowerShell for SharePoint Developers and AdministratorsSP24S053 Introduction to PowerShell for SharePoint Developers and Administrators
SP24S053 Introduction to PowerShell for SharePoint Developers and Administrators
 
Laravel 5 Annotations: RESTful API routing
Laravel 5 Annotations: RESTful API routingLaravel 5 Annotations: RESTful API routing
Laravel 5 Annotations: RESTful API routing
 
Hey My Web App is Slow Where is the Problem
Hey My Web App is Slow Where is the ProblemHey My Web App is Slow Where is the Problem
Hey My Web App is Slow Where is the Problem
 
Using Play Framework 2 in production
Using Play Framework 2 in productionUsing Play Framework 2 in production
Using Play Framework 2 in production
 
Composable and streamable Play apps
Composable and streamable Play appsComposable and streamable Play apps
Composable and streamable Play apps
 

Similar to SenchaCon 2016: A Look Ahead: Survey Next-Gen Modern Browser APIs - Shikhir Singh

Web APIs & Apps - Mozilla
Web APIs & Apps - MozillaWeb APIs & Apps - Mozilla
Web APIs & Apps - Mozilla
Robert Nyman
 
Web Standards Support in WebKit
Web Standards Support in WebKitWeb Standards Support in WebKit
Web Standards Support in WebKit
Joone Hur
 
Comet from JavaOne 2008
Comet from JavaOne 2008Comet from JavaOne 2008
Comet from JavaOne 2008
Joe Walker
 
Intro To webOS
Intro To webOSIntro To webOS
Intro To webOS
fpatton
 
Hybrid application development
Hybrid application developmentHybrid application development
Hybrid application development
Engin Hatay
 
WebAPIs & Apps - Mozilla London
WebAPIs & Apps - Mozilla LondonWebAPIs & Apps - Mozilla London
WebAPIs & Apps - Mozilla London
Robert Nyman
 
Sencha Roadshow 2017: Build Progressive Web Apps with Ext JS and Cmd
Sencha Roadshow 2017: Build Progressive Web Apps with Ext JS and Cmd Sencha Roadshow 2017: Build Progressive Web Apps with Ext JS and Cmd
Sencha Roadshow 2017: Build Progressive Web Apps with Ext JS and Cmd
Sencha
 
AWS as platform for scalable applications
AWS as platform for scalable applicationsAWS as platform for scalable applications
AWS as platform for scalable applications
Roman Gomolko
 
Araport Workshop Tutorial 2: Authentication and the Agave Profiles Service
Araport Workshop Tutorial 2: Authentication and the Agave Profiles ServiceAraport Workshop Tutorial 2: Authentication and the Agave Profiles Service
Araport Workshop Tutorial 2: Authentication and the Agave Profiles Service
stevemock
 
Sviluppare Applicazioni Real Time con AppSync Deck.pptx
Sviluppare Applicazioni Real Time con AppSync Deck.pptxSviluppare Applicazioni Real Time con AppSync Deck.pptx
Sviluppare Applicazioni Real Time con AppSync Deck.pptx
Amazon Web Services
 
signalr
signalrsignalr
signalr
Owen Chen
 
APIs for modern web apps
APIs for modern web appsAPIs for modern web apps
APIs for modern web apps
Chris Mills
 
Back to the 90s' - Revenge of the static website
Back to the 90s' - Revenge of the static websiteBack to the 90s' - Revenge of the static website
Back to the 90s' - Revenge of the static website
Yves Goeleven
 
amis-adf-enterprise-mobility
amis-adf-enterprise-mobilityamis-adf-enterprise-mobility
amis-adf-enterprise-mobility
Luc Bors
 
HTML5 Programming
HTML5 ProgrammingHTML5 Programming
HTML5 Programming
hotrannam
 
HTML5 on Mobile
HTML5 on MobileHTML5 on Mobile
HTML5 on Mobile
Adam Lu
 
ASP.NET MVC 5 and SignalR 2
ASP.NET MVC 5 and SignalR 2ASP.NET MVC 5 and SignalR 2
ASP.NET MVC 5 and SignalR 2
Jaliya Udagedara
 
HTML5 for Rich User Experience
HTML5 for Rich User ExperienceHTML5 for Rich User Experience
HTML5 for Rich User Experience
Mahbubur Rahman
 
Romulus OWASP
Romulus OWASPRomulus OWASP
Romulus OWASP
Grupo Gesfor I+D+i
 
The Future of Responsive Design Standards
The Future of Responsive Design StandardsThe Future of Responsive Design Standards
The Future of Responsive Design Standards
Brian Fegan
 

Similar to SenchaCon 2016: A Look Ahead: Survey Next-Gen Modern Browser APIs - Shikhir Singh (20)

Web APIs & Apps - Mozilla
Web APIs & Apps - MozillaWeb APIs & Apps - Mozilla
Web APIs & Apps - Mozilla
 
Web Standards Support in WebKit
Web Standards Support in WebKitWeb Standards Support in WebKit
Web Standards Support in WebKit
 
Comet from JavaOne 2008
Comet from JavaOne 2008Comet from JavaOne 2008
Comet from JavaOne 2008
 
Intro To webOS
Intro To webOSIntro To webOS
Intro To webOS
 
Hybrid application development
Hybrid application developmentHybrid application development
Hybrid application development
 
WebAPIs & Apps - Mozilla London
WebAPIs & Apps - Mozilla LondonWebAPIs & Apps - Mozilla London
WebAPIs & Apps - Mozilla London
 
Sencha Roadshow 2017: Build Progressive Web Apps with Ext JS and Cmd
Sencha Roadshow 2017: Build Progressive Web Apps with Ext JS and Cmd Sencha Roadshow 2017: Build Progressive Web Apps with Ext JS and Cmd
Sencha Roadshow 2017: Build Progressive Web Apps with Ext JS and Cmd
 
AWS as platform for scalable applications
AWS as platform for scalable applicationsAWS as platform for scalable applications
AWS as platform for scalable applications
 
Araport Workshop Tutorial 2: Authentication and the Agave Profiles Service
Araport Workshop Tutorial 2: Authentication and the Agave Profiles ServiceAraport Workshop Tutorial 2: Authentication and the Agave Profiles Service
Araport Workshop Tutorial 2: Authentication and the Agave Profiles Service
 
Sviluppare Applicazioni Real Time con AppSync Deck.pptx
Sviluppare Applicazioni Real Time con AppSync Deck.pptxSviluppare Applicazioni Real Time con AppSync Deck.pptx
Sviluppare Applicazioni Real Time con AppSync Deck.pptx
 
signalr
signalrsignalr
signalr
 
APIs for modern web apps
APIs for modern web appsAPIs for modern web apps
APIs for modern web apps
 
Back to the 90s' - Revenge of the static website
Back to the 90s' - Revenge of the static websiteBack to the 90s' - Revenge of the static website
Back to the 90s' - Revenge of the static website
 
amis-adf-enterprise-mobility
amis-adf-enterprise-mobilityamis-adf-enterprise-mobility
amis-adf-enterprise-mobility
 
HTML5 Programming
HTML5 ProgrammingHTML5 Programming
HTML5 Programming
 
HTML5 on Mobile
HTML5 on MobileHTML5 on Mobile
HTML5 on Mobile
 
ASP.NET MVC 5 and SignalR 2
ASP.NET MVC 5 and SignalR 2ASP.NET MVC 5 and SignalR 2
ASP.NET MVC 5 and SignalR 2
 
HTML5 for Rich User Experience
HTML5 for Rich User ExperienceHTML5 for Rich User Experience
HTML5 for Rich User Experience
 
Romulus OWASP
Romulus OWASPRomulus OWASP
Romulus OWASP
 
The Future of Responsive Design Standards
The Future of Responsive Design StandardsThe Future of Responsive Design Standards
The Future of Responsive Design Standards
 

More from Sencha

Breathe New Life into Your Existing JavaScript Applications with Web Components
Breathe New Life into Your Existing JavaScript Applications with Web ComponentsBreathe New Life into Your Existing JavaScript Applications with Web Components
Breathe New Life into Your Existing JavaScript Applications with Web Components
Sencha
 
Ext JS 6.6 Highlights
Ext JS 6.6 HighlightsExt JS 6.6 Highlights
Ext JS 6.6 Highlights
Sencha
 
Sencha Roadshow 2017: BufferedStore Internals featuring eyeworkers interactiv...
Sencha Roadshow 2017: BufferedStore Internals featuring eyeworkers interactiv...Sencha Roadshow 2017: BufferedStore Internals featuring eyeworkers interactiv...
Sencha Roadshow 2017: BufferedStore Internals featuring eyeworkers interactiv...
Sencha
 
Sencha Roadshow 2017: Best Practices for Implementing Continuous Web App Testing
Sencha Roadshow 2017: Best Practices for Implementing Continuous Web App TestingSencha Roadshow 2017: Best Practices for Implementing Continuous Web App Testing
Sencha Roadshow 2017: Best Practices for Implementing Continuous Web App Testing
Sencha
 
Sencha Roadshow 2017: What's New in Sencha Test
Sencha Roadshow 2017: What's New in Sencha TestSencha Roadshow 2017: What's New in Sencha Test
Sencha Roadshow 2017: What's New in Sencha Test
Sencha
 
Sencha Roadshow 2017: Sencha Upgrades - The Good. The Bad. The Ugly - Eva Luc...
Sencha Roadshow 2017: Sencha Upgrades - The Good. The Bad. The Ugly - Eva Luc...Sencha Roadshow 2017: Sencha Upgrades - The Good. The Bad. The Ugly - Eva Luc...
Sencha Roadshow 2017: Sencha Upgrades - The Good. The Bad. The Ugly - Eva Luc...
Sencha
 
Sencha Roadshow 2017: Sencha Best Practices: Coworkee App
Sencha Roadshow 2017: Sencha Best Practices: Coworkee App Sencha Roadshow 2017: Sencha Best Practices: Coworkee App
Sencha Roadshow 2017: Sencha Best Practices: Coworkee App
Sencha
 
Sencha Roadshow 2017: Mobile First or Desktop First
Sencha Roadshow 2017: Mobile First or Desktop FirstSencha Roadshow 2017: Mobile First or Desktop First
Sencha Roadshow 2017: Mobile First or Desktop First
Sencha
 
Sencha Roadshow 2017: Innovations in Ext JS 6.5 and Beyond
Sencha Roadshow 2017: Innovations in Ext JS 6.5 and BeyondSencha Roadshow 2017: Innovations in Ext JS 6.5 and Beyond
Sencha Roadshow 2017: Innovations in Ext JS 6.5 and Beyond
Sencha
 
Leveraging React and GraphQL to Create a Performant, Scalable Data Grid
Leveraging React and GraphQL to Create a Performant, Scalable Data GridLeveraging React and GraphQL to Create a Performant, Scalable Data Grid
Leveraging React and GraphQL to Create a Performant, Scalable Data Grid
Sencha
 
Learn Key Insights from The State of Web Application Testing Research Report
Learn Key Insights from The State of Web Application Testing Research ReportLearn Key Insights from The State of Web Application Testing Research Report
Learn Key Insights from The State of Web Application Testing Research Report
Sencha
 
Introducing ExtReact: Adding Powerful Sencha Components to React Apps
Introducing ExtReact: Adding Powerful Sencha Components to React AppsIntroducing ExtReact: Adding Powerful Sencha Components to React Apps
Introducing ExtReact: Adding Powerful Sencha Components to React Apps
Sencha
 
SenchaCon 2016: Keynote Presentation - Art Landro, Gautam Agrawal, Mark Brocato
SenchaCon 2016: Keynote Presentation - Art Landro, Gautam Agrawal, Mark BrocatoSenchaCon 2016: Keynote Presentation - Art Landro, Gautam Agrawal, Mark Brocato
SenchaCon 2016: Keynote Presentation - Art Landro, Gautam Agrawal, Mark Brocato
Sencha
 
SenchaCon 2016: Add Magic to Your Ext JS Apps with D3 Visualizations - Vitaly...
SenchaCon 2016: Add Magic to Your Ext JS Apps with D3 Visualizations - Vitaly...SenchaCon 2016: Add Magic to Your Ext JS Apps with D3 Visualizations - Vitaly...
SenchaCon 2016: Add Magic to Your Ext JS Apps with D3 Visualizations - Vitaly...
Sencha
 
SenchaCon 2016: LinkRest - Modern RESTful API Framework for Ext JS Apps - Rou...
SenchaCon 2016: LinkRest - Modern RESTful API Framework for Ext JS Apps - Rou...SenchaCon 2016: LinkRest - Modern RESTful API Framework for Ext JS Apps - Rou...
SenchaCon 2016: LinkRest - Modern RESTful API Framework for Ext JS Apps - Rou...
Sencha
 
SenchaCon 2016: Expect the Unexpected - Dealing with Errors in Web Apps
SenchaCon 2016: Expect the Unexpected - Dealing with Errors in Web AppsSenchaCon 2016: Expect the Unexpected - Dealing with Errors in Web Apps
SenchaCon 2016: Expect the Unexpected - Dealing with Errors in Web Apps
Sencha
 
Ext JS Architecture Best Practices - Mitchell Simeons
Ext JS Architecture Best Practices - Mitchell SimeonsExt JS Architecture Best Practices - Mitchell Simeons
Ext JS Architecture Best Practices - Mitchell Simeons
Sencha
 
SenchaCon 2016: Mobile First? Desktop First? Or Should you Think Universal Ap...
SenchaCon 2016: Mobile First? Desktop First? Or Should you Think Universal Ap...SenchaCon 2016: Mobile First? Desktop First? Or Should you Think Universal Ap...
SenchaCon 2016: Mobile First? Desktop First? Or Should you Think Universal Ap...
Sencha
 
Building Ext JS Using HATEOAS - Jeff Stano
Building Ext JS Using HATEOAS - Jeff StanoBuilding Ext JS Using HATEOAS - Jeff Stano
Building Ext JS Using HATEOAS - Jeff Stano
Sencha
 
SenchaCon 2016: Improve Workflow Driven Applications with Ext JS Draw Package...
SenchaCon 2016: Improve Workflow Driven Applications with Ext JS Draw Package...SenchaCon 2016: Improve Workflow Driven Applications with Ext JS Draw Package...
SenchaCon 2016: Improve Workflow Driven Applications with Ext JS Draw Package...
Sencha
 

More from Sencha (20)

Breathe New Life into Your Existing JavaScript Applications with Web Components
Breathe New Life into Your Existing JavaScript Applications with Web ComponentsBreathe New Life into Your Existing JavaScript Applications with Web Components
Breathe New Life into Your Existing JavaScript Applications with Web Components
 
Ext JS 6.6 Highlights
Ext JS 6.6 HighlightsExt JS 6.6 Highlights
Ext JS 6.6 Highlights
 
Sencha Roadshow 2017: BufferedStore Internals featuring eyeworkers interactiv...
Sencha Roadshow 2017: BufferedStore Internals featuring eyeworkers interactiv...Sencha Roadshow 2017: BufferedStore Internals featuring eyeworkers interactiv...
Sencha Roadshow 2017: BufferedStore Internals featuring eyeworkers interactiv...
 
Sencha Roadshow 2017: Best Practices for Implementing Continuous Web App Testing
Sencha Roadshow 2017: Best Practices for Implementing Continuous Web App TestingSencha Roadshow 2017: Best Practices for Implementing Continuous Web App Testing
Sencha Roadshow 2017: Best Practices for Implementing Continuous Web App Testing
 
Sencha Roadshow 2017: What's New in Sencha Test
Sencha Roadshow 2017: What's New in Sencha TestSencha Roadshow 2017: What's New in Sencha Test
Sencha Roadshow 2017: What's New in Sencha Test
 
Sencha Roadshow 2017: Sencha Upgrades - The Good. The Bad. The Ugly - Eva Luc...
Sencha Roadshow 2017: Sencha Upgrades - The Good. The Bad. The Ugly - Eva Luc...Sencha Roadshow 2017: Sencha Upgrades - The Good. The Bad. The Ugly - Eva Luc...
Sencha Roadshow 2017: Sencha Upgrades - The Good. The Bad. The Ugly - Eva Luc...
 
Sencha Roadshow 2017: Sencha Best Practices: Coworkee App
Sencha Roadshow 2017: Sencha Best Practices: Coworkee App Sencha Roadshow 2017: Sencha Best Practices: Coworkee App
Sencha Roadshow 2017: Sencha Best Practices: Coworkee App
 
Sencha Roadshow 2017: Mobile First or Desktop First
Sencha Roadshow 2017: Mobile First or Desktop FirstSencha Roadshow 2017: Mobile First or Desktop First
Sencha Roadshow 2017: Mobile First or Desktop First
 
Sencha Roadshow 2017: Innovations in Ext JS 6.5 and Beyond
Sencha Roadshow 2017: Innovations in Ext JS 6.5 and BeyondSencha Roadshow 2017: Innovations in Ext JS 6.5 and Beyond
Sencha Roadshow 2017: Innovations in Ext JS 6.5 and Beyond
 
Leveraging React and GraphQL to Create a Performant, Scalable Data Grid
Leveraging React and GraphQL to Create a Performant, Scalable Data GridLeveraging React and GraphQL to Create a Performant, Scalable Data Grid
Leveraging React and GraphQL to Create a Performant, Scalable Data Grid
 
Learn Key Insights from The State of Web Application Testing Research Report
Learn Key Insights from The State of Web Application Testing Research ReportLearn Key Insights from The State of Web Application Testing Research Report
Learn Key Insights from The State of Web Application Testing Research Report
 
Introducing ExtReact: Adding Powerful Sencha Components to React Apps
Introducing ExtReact: Adding Powerful Sencha Components to React AppsIntroducing ExtReact: Adding Powerful Sencha Components to React Apps
Introducing ExtReact: Adding Powerful Sencha Components to React Apps
 
SenchaCon 2016: Keynote Presentation - Art Landro, Gautam Agrawal, Mark Brocato
SenchaCon 2016: Keynote Presentation - Art Landro, Gautam Agrawal, Mark BrocatoSenchaCon 2016: Keynote Presentation - Art Landro, Gautam Agrawal, Mark Brocato
SenchaCon 2016: Keynote Presentation - Art Landro, Gautam Agrawal, Mark Brocato
 
SenchaCon 2016: Add Magic to Your Ext JS Apps with D3 Visualizations - Vitaly...
SenchaCon 2016: Add Magic to Your Ext JS Apps with D3 Visualizations - Vitaly...SenchaCon 2016: Add Magic to Your Ext JS Apps with D3 Visualizations - Vitaly...
SenchaCon 2016: Add Magic to Your Ext JS Apps with D3 Visualizations - Vitaly...
 
SenchaCon 2016: LinkRest - Modern RESTful API Framework for Ext JS Apps - Rou...
SenchaCon 2016: LinkRest - Modern RESTful API Framework for Ext JS Apps - Rou...SenchaCon 2016: LinkRest - Modern RESTful API Framework for Ext JS Apps - Rou...
SenchaCon 2016: LinkRest - Modern RESTful API Framework for Ext JS Apps - Rou...
 
SenchaCon 2016: Expect the Unexpected - Dealing with Errors in Web Apps
SenchaCon 2016: Expect the Unexpected - Dealing with Errors in Web AppsSenchaCon 2016: Expect the Unexpected - Dealing with Errors in Web Apps
SenchaCon 2016: Expect the Unexpected - Dealing with Errors in Web Apps
 
Ext JS Architecture Best Practices - Mitchell Simeons
Ext JS Architecture Best Practices - Mitchell SimeonsExt JS Architecture Best Practices - Mitchell Simeons
Ext JS Architecture Best Practices - Mitchell Simeons
 
SenchaCon 2016: Mobile First? Desktop First? Or Should you Think Universal Ap...
SenchaCon 2016: Mobile First? Desktop First? Or Should you Think Universal Ap...SenchaCon 2016: Mobile First? Desktop First? Or Should you Think Universal Ap...
SenchaCon 2016: Mobile First? Desktop First? Or Should you Think Universal Ap...
 
Building Ext JS Using HATEOAS - Jeff Stano
Building Ext JS Using HATEOAS - Jeff StanoBuilding Ext JS Using HATEOAS - Jeff Stano
Building Ext JS Using HATEOAS - Jeff Stano
 
SenchaCon 2016: Improve Workflow Driven Applications with Ext JS Draw Package...
SenchaCon 2016: Improve Workflow Driven Applications with Ext JS Draw Package...SenchaCon 2016: Improve Workflow Driven Applications with Ext JS Draw Package...
SenchaCon 2016: Improve Workflow Driven Applications with Ext JS Draw Package...
 

Recently uploaded

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
 
Details of description part II: Describing images in practice - Tech Forum 2024
Details of description part II: Describing images in practice - Tech Forum 2024Details of description part II: Describing images in practice - Tech Forum 2024
Details of description part II: Describing images in practice - Tech Forum 2024
BookNet Canada
 
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
 
How to Build a Profitable IoT Product.pptx
How to Build a Profitable IoT Product.pptxHow to Build a Profitable IoT Product.pptx
How to Build a Profitable IoT Product.pptx
Adam Dunkels
 
Active Inference is a veryyyyyyyyyyyyyyyyyyyyyyyy
Active Inference is a veryyyyyyyyyyyyyyyyyyyyyyyyActive Inference is a veryyyyyyyyyyyyyyyyyyyyyyyy
Active Inference is a veryyyyyyyyyyyyyyyyyyyyyyyy
RaminGhanbari2
 
DealBook of Ukraine: 2024 edition
DealBook of Ukraine: 2024 editionDealBook of Ukraine: 2024 edition
DealBook of Ukraine: 2024 edition
Yevgen Sysoyev
 
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
 
How RPA Help in the Transportation and Logistics Industry.pptx
How RPA Help in the Transportation and Logistics Industry.pptxHow RPA Help in the Transportation and Logistics Industry.pptx
How RPA Help in the Transportation and Logistics Industry.pptx
SynapseIndia
 
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
 
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
 
Recent Advancements in the NIST-JARVIS Infrastructure
Recent Advancements in the NIST-JARVIS InfrastructureRecent Advancements in the NIST-JARVIS Infrastructure
Recent Advancements in the NIST-JARVIS Infrastructure
KAMAL CHOUDHARY
 
Cookies program to display the information though cookie creation
Cookies program to display the information though cookie creationCookies program to display the information though cookie creation
Cookies program to display the information though cookie creation
shanthidl1
 
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
 
論文紹介:A Systematic Survey of Prompt Engineering on Vision-Language Foundation ...
論文紹介:A Systematic Survey of Prompt Engineering on Vision-Language Foundation ...論文紹介:A Systematic Survey of Prompt Engineering on Vision-Language Foundation ...
論文紹介:A Systematic Survey of Prompt Engineering on Vision-Language Foundation ...
Toru Tamaki
 
BLOCKCHAIN FOR DUMMIES: GUIDEBOOK FOR ALL
BLOCKCHAIN FOR DUMMIES: GUIDEBOOK FOR ALLBLOCKCHAIN FOR DUMMIES: GUIDEBOOK FOR ALL
BLOCKCHAIN FOR DUMMIES: GUIDEBOOK FOR ALL
Liveplex
 
What's New in Copilot for Microsoft365 May 2024.pptx
What's New in Copilot for Microsoft365 May 2024.pptxWhat's New in Copilot for Microsoft365 May 2024.pptx
What's New in Copilot for Microsoft365 May 2024.pptx
Stephanie Beckett
 
[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf
[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf
[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf
Kief Morris
 
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
 
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
 
Mitigating the Impact of State Management in Cloud Stream Processing Systems
Mitigating the Impact of State Management in Cloud Stream Processing SystemsMitigating the Impact of State Management in Cloud Stream Processing Systems
Mitigating the Impact of State Management in Cloud Stream Processing Systems
ScyllaDB
 

Recently uploaded (20)

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
 
Details of description part II: Describing images in practice - Tech Forum 2024
Details of description part II: Describing images in practice - Tech Forum 2024Details of description part II: Describing images in practice - Tech Forum 2024
Details of description part II: Describing images in practice - Tech Forum 2024
 
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
 
How to Build a Profitable IoT Product.pptx
How to Build a Profitable IoT Product.pptxHow to Build a Profitable IoT Product.pptx
How to Build a Profitable IoT Product.pptx
 
Active Inference is a veryyyyyyyyyyyyyyyyyyyyyyyy
Active Inference is a veryyyyyyyyyyyyyyyyyyyyyyyyActive Inference is a veryyyyyyyyyyyyyyyyyyyyyyyy
Active Inference is a veryyyyyyyyyyyyyyyyyyyyyyyy
 
DealBook of Ukraine: 2024 edition
DealBook of Ukraine: 2024 editionDealBook of Ukraine: 2024 edition
DealBook of Ukraine: 2024 edition
 
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
 
How RPA Help in the Transportation and Logistics Industry.pptx
How RPA Help in the Transportation and Logistics Industry.pptxHow RPA Help in the Transportation and Logistics Industry.pptx
How RPA Help in the Transportation and Logistics Industry.pptx
 
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
 
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
 
Recent Advancements in the NIST-JARVIS Infrastructure
Recent Advancements in the NIST-JARVIS InfrastructureRecent Advancements in the NIST-JARVIS Infrastructure
Recent Advancements in the NIST-JARVIS Infrastructure
 
Cookies program to display the information though cookie creation
Cookies program to display the information though cookie creationCookies program to display the information though cookie creation
Cookies program to display the information though cookie creation
 
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
 
論文紹介:A Systematic Survey of Prompt Engineering on Vision-Language Foundation ...
論文紹介:A Systematic Survey of Prompt Engineering on Vision-Language Foundation ...論文紹介:A Systematic Survey of Prompt Engineering on Vision-Language Foundation ...
論文紹介:A Systematic Survey of Prompt Engineering on Vision-Language Foundation ...
 
BLOCKCHAIN FOR DUMMIES: GUIDEBOOK FOR ALL
BLOCKCHAIN FOR DUMMIES: GUIDEBOOK FOR ALLBLOCKCHAIN FOR DUMMIES: GUIDEBOOK FOR ALL
BLOCKCHAIN FOR DUMMIES: GUIDEBOOK FOR ALL
 
What's New in Copilot for Microsoft365 May 2024.pptx
What's New in Copilot for Microsoft365 May 2024.pptxWhat's New in Copilot for Microsoft365 May 2024.pptx
What's New in Copilot for Microsoft365 May 2024.pptx
 
[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf
[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf
[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf
 
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
 
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
 
Mitigating the Impact of State Management in Cloud Stream Processing Systems
Mitigating the Impact of State Management in Cloud Stream Processing SystemsMitigating the Impact of State Management in Cloud Stream Processing Systems
Mitigating the Impact of State Management in Cloud Stream Processing Systems
 

SenchaCon 2016: A Look Ahead: Survey Next-Gen Modern Browser APIs - Shikhir Singh

  • 1. A Look Ahead: Surveying Next- Gen Modern Browser (hardware/native) APIs Shikhir Singh @shikhirsingh
  • 3. Current: Offline + Native/Hardware Access via Hybrid Apps 3
  • 4. Common Considerations: Choosing Native, Hybrid, or WebApp Performanc e Hardware or Native Deployment & Access Connectivity
  • 5. Performance Connectivity/ Offline Deployment/ Access Hardware Native ✓ ✓ ✓ App Store / Home Screen ✓ Hybrid ✓ ✓ App Store / Home Screen ✓ WebApp ✓ ✓ ✓ ✓ Links / Home Screen ✓
  • 7. Desktop Apps: No Obsession in Enterprise for Native Apps Vs
  • 10. Hardware Accelerated Animations and Transformations
  • 11. Performance Connectivity/ Offline Deployment/ Access Hardware Native ✓ ✓ ✓ App Store / Home Screen ✓ Hybrid ✓ ✓ App Store / Home Screen ✓ WebApp ✓ ✓ ✓ ✓ Links / Home Screen ✓
  • 13. W3C Development Process Internal Draft Public Working Draft Last Call Announcement (Working Draft) Call For Implementations (CR) Call For Review (PR) Standard Web Incubator Community Group Charter Abandoned
  • 14. Example Dead Spec - FileSystem API • Creates Sandbox Filesystem that a web apps can navigate around • Let’s apps have offline storage features that involve large binary blobs • Cannot access file via file:// • W3C Spec Status - Implemented by Chrome, Opera, and Firefox - Opposed by Edge and Safari - Result: Dead Spec
  • 15. Progressive Web Apps – Current Key Technologies • Web Application Manifest • Server Workers
  • 16. { "lang": "en", "dir": "ltr", "name": "Super Racer 3000", "description": "The ultimate futuristic racing game!", "short_name": "Racer3K", "icons": [{ "src": "icon/lowres.webp", "sizes": "64x64", "type": "image/webp" },{ "src": "icon/lowres.png", "sizes": "64x64" }, { "src": "icon/hd_hi", "sizes": "128x128" }], "scope": "/racer/", "start_url": "/racer/start.html", "display": "fullscreen", "orientation": "landscape", "theme_color": "aliceblue", "background_color": "red” } Web App Manifest • Provides Metadata for PWA • Unique Features Features - Short Name - Lock Orientation - Create Standalone and Full Screen apps - Splash Screen • Latest working draft contains new features’ • Web App Manifest Generator
  • 17. Service Worker • JavaScript File that run in background • Enables Modern Capabilities - Caching - Push Notifications - Notifications API • HTTPS only
  • 19. Web Push API • Used inside Service Worker • Send upto 4 kilobytes of data via Push • Server must encrypt Push data, which is decrypted by browser • Action Buttons
  • 20. Web Push API - Client Subscribe Send Subscription ID to Server Client Adds Event Listener for “push” On Push, Process and Notify User via Notifications API
  • 21. Web Push API: Server-side Push Endpoint Service Worker
  • 22. title = “Credit Card Fraud”; options = { body: “Did you tip 133% at Mongolian BBQ?”, icon: "images/ccard.png", vibrate: [200, 100, 200, 100, 200, 100, 400], tag: "request", actions: [ { action: "yes", title: "Yes", icon: “yes.png" }, { action: "no", title: "No", icon: “no.png" } ] }; serviceWorkerRegistration.showNotification(title, options); Notifications API • Used with Push to inform user • Must get Permissions from User
  • 23. Offline Access • AppCache API – Not great for multipage sites • Service Worker
  • 24. Web Assembly – Use Cases • Platform Emulation (DOSBox) • Language Interpreters and Virtual Machines! • Remote Desktop • VPN • Encryption • Fat Clients for Enterprise Apps • Hybrid Native Apps on Mobile Devices • Speed for Existing Frameworks • Images / Video Editing • Games! • Peer to Peer Applications • Music Apps • Image Recognition • VR & Augmented Reality • CAD, Education & Science Visualizations
  • 27. let faceDetector = new FaceDetector({fastMode: true, maxDetectedFaces: 1}); let barcodeDetector = new BarcodeDetector(); barcodeDetector.detect(theImage.then(detectedCodes => { for (const barcode of detectedCodes) { // barcode.rawValue } }}); Accelerated Shape Detection in Images • Hardware Accelerated Shape Detection - Faces - Barcodes - Custom Shapes
  • 29. navigator.share({title: 'Example Page', url: 'https://example.com'});Web Share • Allows sharing text, URLs and images to arbitrary destinations of User’s Choice
  • 30. Web Crypto • Asymmetric • Symmetric • Hashing • Algorithms - SHA - AES - Elliptical Curve - Diffie-Hellman - RSA - PBKDF2
  • 31. var recognition = new webkitSpeechRecognition(); recognition.continuous = true; recognition.interimResults = true; recognition.onstart = function() { ... } recognition.onresult = function(event) { ... } recognition.onerror = function(event) { ... } recognition.onend = function() { ... } var utterance = new SpeechSynthesisUtterance('Hello’ + ‘SenchaCon'); window.speechSynthesis.speak(utterance); Web Speech API • Recognized and Transcribe Human Speech - Choose Language and dialect • Speech Synthesis - Pick Voice - Volume - Rate - Pitch - Language
  • 32. window.addEventListener(“deviceorientation”, handle, true) function handle(data) { var absolute = data.absolute; var alpha = data.alpha; // Direction of Compass var beta = data.beta; // Front or Back tilt var gamma = data.gamma; // Right or Left lilt // Do stuff with the new orientation data } DeviceOrientation API • Access to Compass • Access to Gyroscope • Support: Edge, IE 11, Firefox, Chrome, Opera, iOS Safari, Android Browser, Chrome for Android
  • 33. window.addEventListener(“devicemotion”, handle, true) function handle(data) { var acceleration = data.acceleration; var accelGrav= data.accelerationIncludingGravity; var rotationRate = data.rotationRate; } DeviceMotion API • Access to Accelerometer • Support: Edge, IE 11, Firefox, Chrome, Opera, iOS Safari, Android Browser, Chrome for Android
  • 34. let sensor = new ProximitySensor(); sensor.start(); sensor.onchange = event => console.log(event.reading.distance); Proximity Sensor • Used in mobile devices to turn off display when in proximity of human ear or cover
  • 35. window.addEventListener('devicelight', function(event) { var html = document.getElementsByTagName('html')[0]; if (event.value < 50) { html.classList.add('darklight'); html.classList.remove('brightlight'); } else { html.classList.add('brightlight'); html.classList.remove('darklight'); } }); Ambient Light Sensor API • Measures light to conserve battery
  • 36. document.addEventListener('copy', function(e){ e.clipboardData.setData('text/plain', 'Hello, world!'); e.clipboardData.setData('text/html', '<b>Hello, world!</b>'); e.preventDefault(); // We want our data, not selection }); Clipboard API • Actions - Copy - Cut - Paste
  • 37. navigator.getBattery().then(function(battery){ console.log(battery.level); }); Battery Status API • Check Battery Level • Events - onchargingchange - onchargingtimechange - ondischargingtimechange - Onlevelchange • W3C Candidate Recommendation
  • 38. navigator.nfc.requestAdapter().then((nfcAdapter) => { adapter = nfcAdapter; adapter.onmessage = onMessage; }; function onMessage(event) { var data = event.message.data; }; Web NFC • Near Field Communication • Chrome: In Development • Firefox: Support
  • 39. navigator.bluetooth.requestDevice({ filters: [ { services: ['battery_service'] } ] }).then(device => { /* ... */ }) .catch(error => { console.log(error); }); Web Bluetooth • Activate Bluetooth - chrome://flags/#enable-web-bluetooth
  • 40. var request = new PresentationRequest(presUrls); request.getAvailability().then(function(availability) { handleAvailabilityChange(availability.value); } Presentation API • Present to External Screen - Projector - TV
  • 41. navigator.bluetooth.requestDevice({ filters: [ { services: ['battery_service'] } ] }).then(device => { /* ... */ }) .catch(error => { console.log(error); }); Web Share • Activate Bluetooth - chrome://flags/#enable-web-bluetooth
  • 42. window.addEventListener("gamepadconnected", function(e) { console.log(”Connected at index %d: %s. %d buttons, %d axes.", e.gamepad.index, e.gamepad.id, e.gamepad.buttons.length, e.gamepad.axes.length); }); Gamepad API • Near Field Communication • Chrome: In Development • Firefox: Support
  • 43. Summary • Web is gearing up to take on Native • Performance Discussion is irrelevant for most apps • Google Chrome is leading the way in implementing new technologies • Nearly all hardware common mobile devices will be accessed easily • Web Apps will be more stable than Cordova due to better plugin ecosystem • Success will depend on adoption by all browsers • Ext JS will incorporate new technologies and will help you manage browser differences
  • 44. Resources • Progressive Web Apps - https://www.udacity.com/course/intro-to-progressive-web-apps--ud811 (FREE Course!) - https://developer.mozilla.org/en-US/Apps/Progressive • W3C - Device And Sensor Working Group • https://www.w3.org/2016/03/device-sensors-wg-charter.html - https://github.com/WICG
  • 45. Resources • Browser API Status - CanIUse.com - webkit.org/status/ - chromestatus.com - developer.microsoft.com/en-us/microsoft-edge/platform/status/ • APIs - App Manifest Generator - https://app-manifest.firebaseapp.com
  • 46. Resources • ApplicationCache is a Douchebag - http://alistapart.com/article/application-cache-is-a-douchebag

Editor's Notes

  1. My Background Presentation Focus: Focus on features which are visible to and impact users, not developers No Focus: ECMAScript 6 -> Lee Boonstra’s session after this one will focus on this
  2. Future Browser APIs: Making Native apps less relevant Accessing “Native” and Hardware features
  3. Introduce Cordova and Electron Cordova Summary WebView and Native Hardware access Electron Summary Chromium Content Module and Node
  4. Performace – Historically Native wins Connectivity – Historically meant Native or Hybrid for Offline Deployment / Access – Hybrid +Native = App Store / Home icon – Discuss Future for webapps Hardware / Native Access – Hybrid or Native
  5. Performance for Enterprise Apps
  6. No obsession with native Is Performance an issue? Not for enterprise apps Not even for BIG data applications Even in consumer space? Startup Idea: Social Network that is a native desktop app Download and install app Good idea? HTML5 is Good enough, why? Deployment / Maintenance / Overhead VS Perceived Performance
  7. Taken from Apple’s Presentation this year
  8. Creates Standards
  9. Document Maturity Discuss Later: WICGC Working Draft Candidate Recommendation Proposed Recommendation
  10. https://app-manifest.firebaseapp.com
  11. JavaScript Worker = Threading ; good for background tasks so that UI is not blocked Service Worker = Background
  12. JavaScript Worker = Threading ; good for background tasks so that UI is not blocked Service Worker = Background
  13. Use a Library Multiple Endpoints Currently only Mozilla and Chrome