PROGRESSIVE APPFICADA WEB APPS O MELHOR DA WEB,



Similar documents
Mobile Web Applications using HTML5. L. Cotfas 14 Dec. 2011

ios App Development Using Cordova

RESCO MOBILE CRM QUICK GUIDE. for MS Dynamics CRM. ios (ipad & iphone) Android phones & tablets

Get Started with LeadSquared Guide for Marketing Users. Complete lead to revenue platform

Web application Architecture

ART-KON-TOR 2012 Vortrag 15th SpectroNet Collaboration Forum 1

HTML5 Offline Data. INF5750/ Lecture 6 (Part II)

Trends in HTML5. Matt Spencer UI & Browser Marketing Manager

How To Create A Website In Vablet (For Web) With Html And Html (For Html) On A Pc Or Mac) With A Web Browser (For Mac) On Your Computer Or Ipad Or Ipa (For Pc Or Ip

SafeWebApp QuickStart

MS-20485: Advanced Windows Store App Development Using C#

Making the Most of Existing Public Web Development Frameworks WEB04

EQUIPMENT OVERVIEW... 4 SETTING UP CALL MANAGER...5

Sizmek Formats. IAB Mobile Pull. Build Guide

PEGA MOBILITY A PEGA PLATFORM WHITEPAPER

Software AG TechEd 2015 User Conference Mobile Enabler for Natural

Comprehensive Job Analysis. With MPG s Performance Navigator


PhoneGap Build Starter

AD Phonebook 2.2. Installation and configuration. Dovestones Software

Overview Included Files Implementing the Block... 7

GETTING STARTED GUIDE

Developing and deploying mobile apps

<Insert Picture Here>

Version 1.0 OFFICIAL THEME USER GUIDE. reva. HTML5 - Responsive One Page Parallax Theme

Sizmek Formats. HTML5 Page Skin. Build Guide

research: technical implemenation

Designing for the Mobile Web Lesson 3: HTML5 Web Apps

Enabling Cordova (aka PhoneGap) on Tizen. René Pourtier / Luc Yriarte

Briefcase for Android. Release Notes

About Blue Sky Sessions

Performance Report for: Report generated: Friday, April 24, 2015, 7:29 AM (via API)

Create interactive web graphics out of your SAS or R datasets

WorkSite 8.5 imanage Certified Systems Engineer

Table of Contents. Overview Supported Platforms Demos/Downloads Known Issues Note Included Files...

BlackVue Cloud App Overview...3. Getting Started...6. Basic Menu Screens BlackVue Cloud BlackVue Wi-Fi Internal Memory...

GroupWise to MS Outlook 2007

Resco CRM Guide. Get to know Resco CRM

Apple Newsstand. v 1.2 1/22

JTouch Mobile Extension for Joomla! User Guide

Mobile development with Apache OFBiz. Ean Schuessler, Brainfood

Enterprise Mobile Web Development. Robert Altland Principal Consultant, Mobility Neudesic, LLC

place/business fetch details, removefromfavorite () function, 189 search button handler bind, B BlackBerry build environment

INTRODUCTION TO THE LEADING EVENT MOBILE APP PLATFORM A PRODUCT OF

Your events are about to get smarter

Developing Mapping Applications with ArcGIS Runtime SDK for Windows Mobile. Jay Chen Justin Colville

Course Information Course Number: IWT 1229 Course Name: Web Development and Design Foundation

Internet Services. CERN IT Department CH-1211 Genève 23 Switzerland

Rapid Game Development Using Cocos2D-JS

Connecting Software. CB Mobile CRM Windows Phone 8. User Manual

FindMyStuff. Fleet Tracking Solutions

Connecting Software Connect Bridge - Mobile CRM Android User Manual

Version 1.3 OFFICIAL THEME USER GUIDE. Renova. Unique Creative Portfolio - Responsive HTML5

Quick Start and Trial Guide (Mail) Version 3 For ios Devices

Introduction to Oracle Mobile Application Framework Raghu Srinivasan, Director Development Mobile and Cloud Development Tools Oracle

SAP Fiori - Architecture

MOBILE APP INSTRUCTIONS

Optimizing your E-Business Suite for Mobile and Tablet

This guide provides information on...

Branding & Website Design. Mark Raymond Luminys, Inc mraymond@luminys.com

GOOGLE MOBILE ANALYTICS INTEGRATION. JANUARY 2013 (App version onwards)

APEX World 2013 APEX & Christian Rokitta. OGh APEX World 9 April 2013

Resco Mobile CRM Vision

ios SDK possibilities & limitations

Ads SPA with AngularJS Lab

Self Testing with MoPub SDK

B&SC Office 365

Product Guide Nintex. All rights reserved. Errors and omissions excepted.

Web Applications Testing

Advertising Spec Sheet

Bosch Video Management System

Spotify Homepage Takeover

ANDROID TRAINING COURSE MODULES. Module-I: Introduction to Android. Introducing Android. Installing Development Tools. Using the Emulator.

62 Ecommerce Search Engine Optimization Tips & Ideas

Additional information >>> HERE <<<

Web Application Development and Frameworks

Mapping ITS s File Server Folder to Mosaic Windows to Publish a Website

user guide phone 2015 by Sysco. All rights reserved.

QUICK FEATURE GUIDE OF SNAPPII'S ULTRAFAST CODELESS PLATFORM

Nokia Maps for Mobile Web

isecurity+ Android Guide us.zyxel.com Edition 1, 2/2012

Windows Mobile 6.1 to 6.5 Comparison

Introduction to Tizen SDK Alpha. Taiho Choi Samsung Electronics

Transcription:

PROGRESSIVE WEB APPS O MELHOR DA WEB, APPFICADA

sergiolopes.org @sergio_caelum

WEB vs APP

PROGRESSIVE WEB APPS

PROGRESSIVE WEB APPS

HTML semântico <!doctype html> <html lang="pt-br"> <head> <title>shopping</title> </head> <body> <main class="home"> <h1>o Shopping</h1> <div class="collection"> <a href="lojas.html"> Lojas & Restaurantes </a> <a href="pagar.html"> Pagar estacionamento </a> </div> </main> </body> </html>

<!doctype html> <html lang="pt-br"> <head> <title>shopping</title> </head> <body> <main class="home"> <h1>o Shopping</h1> <div class="collection"> <a href="lojas.html"> Lojas & Restaurantes </a> URIs <a href="pagar.html"> Pagar estacionamento </a> </div> </main> </body> </html>

https://sergiolopes.github.io/shopping/ https://sergiolopes.github.io/shopping/lojas.html https://sergiolopes.github.io/shopping/pagar-estacionamento. https://sergiolopes.github.io/shopping/loja-adidas.html https://sergiolopes.github.io/shopping/loja-tip-top.html... URIs

https://sergiolopes.github.io/shopping/ https://sergiolopes.github.io/shopping/lojas.html https://sergiolopes.github.io/shopping/pagar-estacionamento. https://sergiolopes.github.io/shopping/loja-adidas.html https://sergiolopes.github.io/shopping/loja-tip-top.html... HTTPS

PROGRESSIVE WEB APPS

PROGRESSIVE WEB APPS

VISUAL APPFICADO v

SPA AJAX

$('body').on('click', 'a', function(event){ $('.container').load(this.href + '.conteudo'); event.preventdefault(); }); SPA AJAX transform: translate3d(-100%,0,0); transition: transform 600ms ease-out; transform: scale(0); transition: transform 500ms;

HIST ORY

$('body').on('click', 'a', function(event){ $('.container').load(this.href + '.conteudo'); event.preventdefault(); }); HIST ORY

$('body').on('click', 'a', function(event){ window.history.pushstate({}, '', this.href); $('.container').load(this.href + '.conteudo'); event.preventdefault(); }); window.onpopstate = function(event) { $('.container').load(location.href + '.conteudo'); }; HIST ORY

OFF LINE

<html manifest="appcache.manifest"> CACHE MANIFEST OFF LINE CACHE: index.html lojas.html css/main.css img/entrada.jpg js/main.js js/vendor/jquery.min.js loja-adidas.html NETWORK: *

Quagga.init({ inputstream : { name : "Live", type : "LiveStream" }, decoder : { readers : ["code_128_reader"] } }, function() { Quagga.start(); }); Quagga.onDetected(function(result) { var code = result.coderesult.code; alert('código: ' + code); }); HW QuaggaJS

HW

<meta name="theme-color" content="#f77f00"> THEME COLOR

PROGRESSIVE WEB APPS

SERVICE WORKERS <!DOCTYPE html> <html> <head> <script> navigator.serviceworker.register('worker.js'); </script> </head> <body> <h1>página offline</h1> </body> </html>

SERVICE WORKERS this.onfetch = function(event) { }; console.log(event.request.url);

SERVICE WORKERS this.onfetch = function(event) { event.respondwith( new Response("<h1>Página offline!</h1>") ); };

SERVICE WORKERS this.onfetch = function(event) { event.respondwith( new Response("<h1>Página offline!</h1>") ); }; this.oninstall = function(event) { console.log('instalou'); };

SERVICE WORKERS caches.open('aplicacao').then(function(cache) { return cache.addall([ '/index.html', '/style.css', '/logo.png', '/lojas.html' ]); })

SERVICE WORKERS this.oninstall = function(event){ event.waituntil( caches.open('aplicacao').then(function(cache) { return cache.addall([ '/index.html', '/style.css', '/logo.png', '/lojas.html' ]); }) ); };

SERVICE WORKERS this.onfetch = function(event) { event.respondwith( caches.match(event.request) ); };

SERVICE WORKERS if ('serviceworker' in navigator) { } progressive enhancement

<meta name="apple-mobile-web-app-capable" content="yes"> <meta name="apple-mobile-web-app-title" content="shopping"> <link rel="apple-touch-icon-precomposed" href="img/icon.png"> INSTALÁVEL ios

INSTALÁVEL ios

<link rel="manifest" href="manifest.json"> INSTALÁVEL Web Manifest

{ "short_name": "Shopping", "name": "Shopping App Demo", } INSTALÁVEL Web Manifest

{ "short_name": "Shopping", "name": "Shopping App Demo", "icons": [ { "src": "img/icon.png", "sizes": "192x192", "type": "image/png" } ], } INSTALÁVEL Web Manifest

{ "short_name": "Shopping", "name": "Shopping App Demo", "icons": [ { "src": "img/icon.png", "sizes": "192x192", "type": "image/png" } ], "start_url": "index.html", } INSTALÁVEL Web Manifest

{ "short_name": "Shopping", "name": "Shopping App Demo", "icons": [ { "src": "img/icon.png", "sizes": "192x192", "type": "image/png" } ], "start_url": "index.html", "orientation": "portrait", } INSTALÁVEL Web Manifest

{ } "short_name": "Shopping", "name": "Shopping App Demo", "icons": [ { "src": "img/icon.png", "sizes": "192x192", "type": "image/png" } ], "start_url": "index.html", "orientation": "portrait", "display": "standalone" INSTALÁVEL Web Manifest

INSTALÁVEL Web Manifest

INSTALL BANNERS

PROGRESSIVE WEB APPS

NOTIFICATIONS Notification.requestPermission(function(){ new Notification('Pagamento confirmado', { icon: 'img/icon.png', body: 'Saída liberada até 15h45' }); });

NOTIFICATIONS Notification.requestPermission(function(){ navigator.serviceworker.ready.then(function(registration){ registration.shownotification('pagamento confirmado', { icon: 'img/icon.png', body: 'Saída liberada até 15h45' }); }); });

NOTIFICATIONS

NOTIFICATIONS Notification.requestPermission(function(){ navigator.serviceworker.ready.then(function(registration){ registration.shownotification('pagamento confirmado', { icon: 'img/icon.png', body: 'Saída liberada até 15h45' }); }); }); self.addeventlistener('notificationclick', function(event) { clients.openwindow('/timer.html'); });

PUSH NOTIFICATIONS navigator.serviceworker.ready.then(function(reg) { reg.pushmanager.subscribe({uservisibleonly: true}).then(function(subscription) { // descobre servidor Push }); self.addeventlistener('push', function(event) { event.waituntil( self.registration.shownotification(...) ); });

BACKGROUND SYNC GEOFENCING ALARMES TEMPORAIS

GEOLOCALIZAÇÃO VIBRAÇÃO CÂMERA MICROFONE BATERIA NET INFO AUTOCOMPLETE

LINKÁVEL RESPONSIVA SEGURA OFFLINE APPY ENGAJÁVEL INSTALÁVEL

PROGRESSIVE WEB APPS

OBRIGADO! https://sergiolopes.github.io/shopping/ sergiolopes.org @sergio_caelum