"HTML5 och relaterade API:er"

Relevanta dokument
E12 "Evil is going on"

E12 "Evil is going on"

TDP013. Webbprogrammering och interaktivitet. AJAX, CORS & jquery. Marcus Bendtsen Institutionen för Datavetenskap (IDA)

Webbteknik II. Föreläsning 4. Watching the river flow. John Häggerud, 2011

Webbteknik II. Föreläsning 5. Restless farewell. John Häggerud, 2011

Datasäkerhet och integritet

Webbteknik. Innehåll. Historisk återblick Teknisk beskrivning Märkspråk Standardisering Trender. En kort introduktion

Jämförelse mellan tekniker för att lagra data i webbläsare -Kan webbapplikationer anpassas för att användas offline?

TDP013. Innan AJAX Ett synkront webb. Med AJAX Ett Asynkront webb AJAX. Webbprogrammering och interaktivitet. AJAX, CORS,jQuery, PaaS, Projektet

TDP013. Webbprogrammering och interaktivitet. AJAX, CORS,jQuery, PaaS, Projektet. Anders Fröberg Institutionen för Datavetenskap (IDA)

Webbprogrammering. Sahand Sadjadee

JavaScript in SharePoint and not just for Apps. Wictor Wilén

Webbsäkerhet för IT-tekniker VT2014 Johan Leitet Nätverkssäkerhet, 1DV425 johan.leitet.se twitter.com/leitet facebook.

Hur hänger det ihop? För att kunna kommunicera krävs ett protokoll tcp/ip, http, ftp För att veta var man skall skicka

Olika slags datornätverk. Föreläsning 5 Internet ARPANET, Internet började med ARPANET

IT för personligt arbete F2

Platsbesök. Systemkrav

Objektorienterad Programkonstruktion. Föreläsning 10 7 dec 2015

E13 "Behind the Wild"

F13 HTML5 Dagens agenda

Version Namn Datum Beskrivning 1.0 Förutsättningar Vitec Ekonomi 1.1 Marie Justering för krav på Windows Server

Säkerhet. Säkerhet. Johan Leitet twitter.com/leitet facebook.com/leitet. Webbteknik II, 1DV449

E11 "Protection" Föreläsning 11, HT2014 Säkerhet, tillgänglighet. Johan Leitet. Kurs: 1dv403 Webbteknik I

WebSocket eller Ajax i Webbapplikationer

Modul 6 Webbsäkerhet

Säkerhet. Föreläsning 6 Säkerhet. Johan Leitet twitter.com/leitet facebook.com/leitet. Webbteknik II, 1DV449

Systemkrav WinServ II Edition Release 2 (R2)

Webbprogrammering - 725G54 PHP. Foreläsning II

1ME323 Webbteknik 3 Lektion 6 API. Rune Körnefors. Medieteknik Rune Körnefors

Datakommunika,on på Internet

WWW. Exempel på klientsidan. Överföring av en html-fil. Snyggare variant. Verkligt format. Meddelandeformat för begäran HTTP

Labora&on 1 Introduk&on &ll utvecklingsmiljön övningar/uppgi<er

Services + REST och OAuth

E07 "Greased Lightning"

TNMK30 - Elektronisk publicering

Tentamen etjänster och webbprogrammering

TDP013. Innan AJAX Ett synkront webb. Med AJAX Ett Asynkront webb

electiaprotect GSM SEQURITY SYSTEM Vesta EZ Home Application SMART SECURITY SYSTEMS! SVENSKA ios Android

API:er/Mashup. Föreläsning 4 API:er och Mashups. Johan Leitet johan.leitet@lnu.se twitter.com/leitet facebook.com/leitet. Webbteknik II, 1DV449

Webbservrar, severskript & webbproduktion

Offline First Undersökning av lagringstekniker på klientsidan för webbapplikationer Examensarbete inom Högskoleingenjörsprogrammet i Datateknik

Swedbank Mobile Loadtesting. LoadRunner Mobile App protocol

Grundläggande nätverksteknik. F2: Kapitel 2 och 3

Övning: Arbeta med Azure Explorer

Föreläsning 06, HT2013 HTML5 F06 HTML5. Johan Leitet

Repetition. Hypertext. Internet HTTP. Server och klient Text försedd med länkar till andra texter. Många sammankopplade nät

Repetition. Hypertext. Internet HTTP. Server och klient Föreläsning 2. Text försedd med länkar till andra texter. Många sammankopplade nät

SQUID. och andra cachelösningar

Labora&on 1 Introduk&on &ll utvecklingsmiljön övningar/uppgi<er

Introduktion Schenker-BTL AB, Stab IT Beskrivning över informationsintegreringmed Schenker, metodbeskrivning version 1.

Webbappar med OpenLayers och jquery

Visuell design Bilder & färger

ASP.NET Thomas Mejtoft

A" utveckla kartor med responsiv design. Johan Lah8 Geografisk IT- utvecklare Stadsbyggnadskontoret, Malmö stad

Statistik från webbplatser

Modern webbutveckling. av Robert Welin-Berger

BTH Studentkontohantering API Management

TDDD80. Mobila och sociala applikationer Introduktion HTTP,SaaS. Anders Fröberg Institutionen för Datavetenskap (IDA)

Systemkrav. Artvise Kundtjänst

Säkerhet i applikationslagret och slaget om webben. John Wilander, Omegapoint, Rätt säkerhet, maj 2010

Systemkrav Tekis-Bilflytt 1.3

Grundläggande datavetenskap, 4p

Guide för Google Cloud Print

Del 1 och 2 HTML/CSS. Webbutveckling Laboration 1 Nicklas Bostedt

Arbetsmaterial HTML pass 1 - Grunder

Introduktion till integrering av Schenkers e-tjänster. Version 2.0

Hå rd- och mjukvårukråv såmt rekommendåtioner fo r 3L Pro from version 2015.Q1

F12 Mobila enheter Dagens agenda

JAVASCRIPT. Beteende

1. Revisionsinformation

JAVASCRIPT-POWERED LOADRUNNER CHRISTIAN GERDES PERFORMANCE ENGINEER LIGHTS IN LINE AB

SDC Web-Access. Installationsanvisning v 2.0.2

Mobile First Video on demand och livesändningar på Internet. Juni 2012

Biometria Violweb. Kom-igång-guide. Mars Sammanfattning Den här anvisningen är till för dig som ska börja använda dig av Biometrias tjänster.

Systemkrav Bilflytt 1.3

INLOGGNING 1 (6) Det finns två sätt att logga in i Privera: Med engångslösenord till mobiltelefon Med engångslösenord till e-post

Statistik från webbplatser

Välkommen! SA S PSA S Im I puls s Mobilite t t e 8 1

Erik Wahlström Product Strategist 28/01/15

Laboration 1 XML, XPath, XSLT och JSON

I den här labben ska vi använda oss av en trevlig nyhet i HTML5: Local Storage, för att implementera en sorts lokal gästbok.

Surfning. Webbklienter och webbservrar. Specialskrivna webbservrar. Kommunikation med sockets

Undersökning av modern realtidswebb Från ett tekniskt perspektiv

JavaScript. Innehåll. Historia. Document object model DHTML. Varför Javascript?

Resultatrapport. Generell del. Anbudslämnare. Utvärderingskriterium. % 2,22 Uppfylls kravet ( ) (Ja/Nej svar)

Innehåll. MySQL Grundkurs

Laborationshandledning Laboration 02

Laboration 3 i kursen Produktion för tryckta medier och webb: Webbplatsproduktion med ett publiceringssystem

Biometria Violweb. Kom-igång-guide. Januari Sammanfattning Den här anvisningen är till för dig som ska börja använda dig av Biometrias tjänster.

Skeleton plane & Responsiv webbdesign med CSS

Handledning till FC 12 på webben

HTML5. Den enda versionen av HTML du behöver Emil Stenström Suniweb 2010

Teknisk plattform för version 3.7

Systemkrav Bilflytt 1.4

Voice over IP / SIP. Switching Costs SIP. Motivation for VoIP. Internet Telephony as PBX replacement. Internet Telephony Modes.

Projektuppgift- Mashup- Applikation

Rensa cache-minnet hos din webbläsare

Lämplig strömningsteknik i olika situationer för realtidsbaserade webbapplikationer

Projektanvisning. Webbsideprojekt. Författare: Johan Leitet Version: 2 Datum:

Transkript:

"HTML5 och relaterade API:er" Föreläsning 7 HTML5 och relaterade API:er Webbteknik II, 1DV449 http://coursepress.lnu.se/kurs/webbteknik-ii/ Johan Leitet johan.leitet@lnu.se twitter.com/leitet facebook.com/leitet

F07 This Land is Your Land Dagens agenda HTML5 Geolocation Web storage Web SQL IndexedDB Offline Webapplications XMLHTTPRequest level2 Websockets Server Sent Events Drag n Drop Web Workers Touch events...

HTML5 Struktur Offline Web applications Drag and drop API video audio canvas Nya och omarbetade taggar Webforms SVG Web Workers Web Sockets Web Storage Geolocation CSS3

HTML5 Drag and drop API Web Workers Web Sockets Web Storage Offline Web applications Geolocation http://www.html5rocks.com

Observera Många av dessa API:er är ännu inte fastställda och stödet kan vara bristfälligt! Se till att alltid besöka webbsidorna via en webbserver då många API kräver detta.

Geolocation Internet Explorer FireFox Chrome Safari Opera ios Safari Android 9 3.5 5 5 10.6 3.2 2.1

Geolocation

Web Storage Local Storage & Session Storage Tänk på att datan enkelt går att komma åt vid en XSS-attack 5-10 Mbyte per sajt Internet Explorer FireFox Chrome Safari Opera ios Safari Android 8 3.5 3 4 10.5 3.2 2.1

Local/session storage localstorage sessionstorage Metod setitem(namn, värde) getitem(namn) removeitem(namn) clear() key(index) Attribut length namn Spara data Hämta data Radera data Radera all data Ger namnet för ett index. Antal namn/värde-par i samlingen. Tilldela via nykelord som attribut. SessionStorage ger dig lagring enbart för sessionen. LocalStorage sparar datan tills användaren eller du tar bort den.

Inget direkt stöd, men: Jobba med JSON Storage.prototype.setJSON = function(key, value){ this.setitem(key, JSON.stringify(value)); } Storage.prototype.getJSON = function(key, value){ var value = this.getitem(key); return value && JSON.parse(value); } var users = [{"name": "Ellen"}, {"name": "Johan"}]; localstorage.setjson("users", users);

Web SQL Storage: (SQLite 3) Web SQL Storage Internet Explorer FireFox Chrome Safari Opera ios Safari Android - - 4 3.1 10.5 3.2 2.1 Specifikationen underhålls inte längre

Indexed Database Som localstorage men med möjligheten att sätta index. Asynkront API Synkront API https://developer.mozilla.org/en/indexeddb Internet Explorer FireFox Chrome Safari Opera ios Safari Android 10.0 4.0 11 - - - -

IdexedDB eller Web Storage? IndexedDB lämpar sig: För större datamängder Prestanda Sökning Indexering etc. Avancerade strukturer Web Storage lämpar sig för: Cachning av data Spara state Mindre datamängder utan sökbehov Enkelhet

Offline Web applications Internet Explorer FireFox Chrome Safari Opera ios Safari Android 10 3.5 4 4 10.6 3.2 2.1

Offline Web applications <html lang="sv" manifest="offline.appcache"> MIME: text/cache-manifest CACHE FALLBACK NETWORK http://html5doctor.com/go-offline-with-application-cache/

Online/Offline? if(navigator.online){ // online } window.addeventlistener('online', doonline, false); window.addeventlistener('offline', dooffline, false); Dåligt stöd överlag i webbläsarna. https://developer.mozilla.org/en-us/docs/dom/window.navigator.online

XMLHTTPRequest level 2 Nyheter så som: Förbättrad möjlighet för filöverföring Nya format: Arraybuffer, Blob, File, FormData Timeout för requests Möjlighet att få "progress"-event Möjlighet till Cross-Origin Resource Sharing (CORS) GET, POST: Access-Control-Allow-Origin: http://hello-world.example http-header Access-Control-Allow-Origin: * Lite knepigare blir det för delete och put läs själv på: CORS: http://dvcs.w3.org/hg/cors/raw-file/tip/overview.html

Web Sockets API: http://dev.w3.org/html5/websockets/ Protokoll: IETF Hypertext Bidirectional (HyBi) Working Group HyBi 00 01 02 03 04 05 06 07 08 09 10 RFC 6455 Internet Explorer FireFox Chrome Safari Opera ios Safari Android 10 11 16 6 12.1 6 - http://en.wikipedia.org/wiki/comparison_of_websocket_implementations

Web Sockets Event open close message error Anslutning genomförd Anslutningen stängd Inkommande meddelande Fel i kommunikation Metod send(data) close() Skicka data Stäng anslutning Attribut readystate bufferedamount 0: Ingen anslutning 1: Anslutning OK 2: Anslutningen stängs 3: Anslutning stängd Antal byte i send-kö

Server Sent Events (SSE) Lämpar sig för: Chat Börsnoteringar Väderuppdateringar Ej kritisk realtid Liknar long-polling med skillnaden att anslutningen kan hållas öppen även efter första responsen. Internet Explorer FireFox Chrome Safari Opera ios Safari Android - 6 6 5 11 4.0 -

SSE Event open message error [custom] Anslutning genomförd Inkommande meddelande Fel i kommunikation På servern definierat event Metod close() Stäng anslutning Attribut readystate 0: Ingen anslutning 1: Anslutning OK 2: Anslutning stängd Från server: http://www.html5rocks.com/en/tutorials/eventsource/basics/

SSE Server: Klient:

Drag and drop (DnD) Event dragstart drag dragcenter dragleave dragover drop dragend htmlelement.draggable = true; Internet Explorer FireFox Chrome Safari Opera ios Safari Android 5.5 3.5 3 3 - - -

DnD http://www.html5rocks.com/en/tutorials/file/dn dfiles/#toc-selecting-files-dnd

Web Workers Internet Explorer FireFox Chrome Safari Opera ios Safari Android 10 3.5 ja 4 10.6 5.0 nej

Web Workers worker.js

Web Workers worker.js Fler exempel på: http://www.whatwg.org/specs/web-apps/current-work/multipage/workers.html

DeviceOrientation Event Specification window.addeventlistener("deviceorientation", function(event) { //process event.alpha, event.beta and event.gamma }, true); devicemotion, compassneedscalibration 4.2 3.0 Gyroskop Kompass Accelerometer http://www.w3.org/tr/2011/wd-orientation-event-20111201/

Touch Event API touchnode.addeventlistener('touchstart', function(e) { if(e.touches.length > 1){ console.log("hello Multitouch!"); } } touchend, touchmove, touchcancel 3.2 2.1 http://www.w3.org/tr/2011/wd-touch-events-20111027/

HTML Media Capture API - - http://www.w3.org/tr/2011/wd-html-media-capture-20110414/ http://www.w3.org/tr/2010/wd-media-capture-api-20100928/

... Battery Status API (wd) System Information API (wd) Vibration API (wd) Contacts API (wd) Network information API (wd) Messaging API (wd) File API (wd) Clipboard API (wd)