SlideShare una empresa de Scribd logo
1 de 37
Descargar para leer sin conexión
Sebastian Bauer | Nero D&S GmbH


Web Workers
„Das Arbeitstier Browser“
Wer spricht?
• Sebastian Bauer
• Team Leader Intranet Services Team
• Webentwickler aus Leidenschaft
• „Web/Mobile addicted“

• @litervollmilch
• http://xing.com/profile/Sebastian_Bauer22
• http://www.itkrauts.com
Über die Nero D&S GmbH
•   Entwickler für Liquid Media Technologien
•   Tochter der Nero AG
•   1995 gegründet
•   Hauptsitz: Karlsbad, Deutschland
•   Regionale Niederlassungen:
•   Karlsbad, Deutschland
•   Glendale, Kalifornien, USA
•   Yokohama, Japan
•   Ca. 500 Mitarbeiter weltweit
•   Über 300 Millionen Installationen
•   Job gesucht?? ;-)
WEB WORKERS? WTF?
Ein Überblick über Web Workers
• W3C Working Draft
• HTML5
• JavaScript API für Arbeitsprozesse
  im Hintergrund
• Parallelisierung ohne UI Blocking
• Kein echtes Multi-Threading!
• Dedicated Workers / Shared Workers
UND WOFÜR SO?
Legen wir los!

WEB WORKERS IM EINSATZ
Einfaches Beispiel
• Simulierte, 5 Sekunden lange
  „Berechnung“
The Web Worker‘s Way - Dedicated Worker
Dedicated Worker – bsp1_worker.js
„Liebe ist die einzige Sache,
     die sich vermehrt,
    wenn man sie teilt.“
                     Autor unbekannt
Einen Schritt weiter..

SHARED WORKERS
Ein Worker, Sie alle zu
knechten..
• Ein Worker für mehrere Seiten
• Verbindung über „Ports“
• „Stirbt“ wenn alle Seiten geschlossen
• Posten von Nachrichten an alle
  „Ports“ möglich
Beispiel Shared Worker
Shared Worker –
bsp2_sharedworker.js
Shared Worker – bsp2_sharedworker.js
Was geht nicht?

EINSCHRÄNKUNGEN
Kein Zugriff auf den DOM!
• alert()
• document.getElementById()
•…
Kein Zugriff auf Elternseite!
• window Objekt
• Objekte aus globalem Scope
Geht’s noch?

WAS GEHT DENN ÜBERHAUPT?
Zugriff auf…
• navigator
• location (nur lesend!)
• XMLHttpRequest
• Object, Array, Date, Math, String
• setTimeout(), setInterval()
• importScripts() (innerhalb der gleichen
 Domain)

• ApplicationCache API
Übertragen von Daten via
postMessage()
• Strings
• Arrays
• JSON Objekte
•…
Und natürlich…




 „Spawnen“ weiterer Worker
Best Practices
• Worker spezialisieren!
• Keine riesigen Objekte hin- und
  herschieben!
• addEventListener() benutzen
• Keine „Trivialarbeiten“
WEITERE EINSATZGEBIETE /
INTERESSANTE DEMOS
Motion Tracking with Web
Workers




               http://bit.ly/ww_motio
„Simulated Annealing“




  http://bit.ly/ww_annealing
Außerdem interessant für..
• Spiele-Engines
• Desktop Anwendungen (AIR?)
• Berechnungen von Graphen (Canvas)
• …euer Projekt? Ideen?
Zu guter Letzt…

KOMPATIBILITÄT?
Web Workers – WTF?

WEB WORKERS FTW!
Bildernachweis
•   -nw- @flickr: http://www.flickr.com/photos/-nw-/4900267921/
•   Éole @flickr: http://www.flickr.com/photos/eole/73301169/
•   Saschaaa @ flickr: http://www.flickr.com/photos/saschaaa/152502539/
•   Stefan Baudy @flick: http://www.flickr.com/photos/-bast-/349497988/
•   RavenFire @flickr:
    http://www.flickr.com/photos/escapethematrix/525800552/
•   Ka Lodger @flickr: http://www.flickr.com/photos/kaeau/31336163/
•    Chris-Håvard Berge @flickr:
    http://www.flickr.com/photos/chberge/4113323306/
•   Tara Hunt @flickr:
    http://www.flickr.com/photos/missrogue/199208087/

Más contenido relacionado

Destacado

AG Motivation und Anreize - Best Practice Beispiel
AG Motivation und Anreize - Best Practice BeispielAG Motivation und Anreize - Best Practice Beispiel
AG Motivation und Anreize - Best Practice Beispielmultiermedia
 
Passeport Gaston Lagaffe (c) Dupuis 2014
Passeport Gaston Lagaffe (c) Dupuis 2014Passeport Gaston Lagaffe (c) Dupuis 2014
Passeport Gaston Lagaffe (c) Dupuis 2014amelieretorre
 
Drucktechnologien im vergleich
Drucktechnologien im vergleichDrucktechnologien im vergleich
Drucktechnologien im vergleichSappiHouston
 
Table ronde 3 - Dr Strubel (CHU Nîmes)
Table ronde 3 - Dr Strubel  (CHU Nîmes)Table ronde 3 - Dr Strubel  (CHU Nîmes)
Table ronde 3 - Dr Strubel (CHU Nîmes)Fondation i2ml
 
Generación%20 de%20contenidos[1]
Generación%20 de%20contenidos[1]Generación%20 de%20contenidos[1]
Generación%20 de%20contenidos[1]gueste8cc7f2
 
NOS PRESENTAMOS.6ºA
NOS PRESENTAMOS.6ºANOS PRESENTAMOS.6ºA
NOS PRESENTAMOS.6ºABEGOÑA
 
09 glp-cepsa
09 glp-cepsa09 glp-cepsa
09 glp-cepsaambevito
 
Laprehistoria 100321061815-phpapp02
Laprehistoria 100321061815-phpapp02Laprehistoria 100321061815-phpapp02
Laprehistoria 100321061815-phpapp02David Mons Martin
 
Simon esperanza contexto historico del positivismo
Simon esperanza   contexto historico del positivismoSimon esperanza   contexto historico del positivismo
Simon esperanza contexto historico del positivismoesperanza1313
 
challenge meccano 2015 tamponneuse
challenge meccano 2015 tamponneusechallenge meccano 2015 tamponneuse
challenge meccano 2015 tamponneusejeanmoulinflines
 
Kreditkarte- be compliant in 6 Schritten!
Kreditkarte- be compliant in 6 Schritten!Kreditkarte- be compliant in 6 Schritten!
Kreditkarte- be compliant in 6 Schritten!eCommerce Lounge
 
Laboratorio
LaboratorioLaboratorio
Laboratoriomgomez4
 
Bibliotecologia en colombia
Bibliotecologia en colombiaBibliotecologia en colombia
Bibliotecologia en colombialeidypaolis
 

Destacado (20)

AG Motivation und Anreize - Best Practice Beispiel
AG Motivation und Anreize - Best Practice BeispielAG Motivation und Anreize - Best Practice Beispiel
AG Motivation und Anreize - Best Practice Beispiel
 
1. forestación y reforestación diseñada
1.  forestación y reforestación diseñada1.  forestación y reforestación diseñada
1. forestación y reforestación diseñada
 
Passeport Gaston Lagaffe (c) Dupuis 2014
Passeport Gaston Lagaffe (c) Dupuis 2014Passeport Gaston Lagaffe (c) Dupuis 2014
Passeport Gaston Lagaffe (c) Dupuis 2014
 
Drucktechnologien im vergleich
Drucktechnologien im vergleichDrucktechnologien im vergleich
Drucktechnologien im vergleich
 
Table ronde 3 - Dr Strubel (CHU Nîmes)
Table ronde 3 - Dr Strubel  (CHU Nîmes)Table ronde 3 - Dr Strubel  (CHU Nîmes)
Table ronde 3 - Dr Strubel (CHU Nîmes)
 
Firefox et le tracking sur Internet
Firefox et le tracking sur InternetFirefox et le tracking sur Internet
Firefox et le tracking sur Internet
 
Generación%20 de%20contenidos[1]
Generación%20 de%20contenidos[1]Generación%20 de%20contenidos[1]
Generación%20 de%20contenidos[1]
 
NOS PRESENTAMOS.6ºA
NOS PRESENTAMOS.6ºANOS PRESENTAMOS.6ºA
NOS PRESENTAMOS.6ºA
 
09 glp-cepsa
09 glp-cepsa09 glp-cepsa
09 glp-cepsa
 
Laprehistoria 100321061815-phpapp02
Laprehistoria 100321061815-phpapp02Laprehistoria 100321061815-phpapp02
Laprehistoria 100321061815-phpapp02
 
Câbles
CâblesCâbles
Câbles
 
Vertriebskanalstruktur - Tools für das Strategische Management
Vertriebskanalstruktur - Tools für das Strategische ManagementVertriebskanalstruktur - Tools für das Strategische Management
Vertriebskanalstruktur - Tools für das Strategische Management
 
Voy A Seguir
Voy A SeguirVoy A Seguir
Voy A Seguir
 
Simon esperanza contexto historico del positivismo
Simon esperanza   contexto historico del positivismoSimon esperanza   contexto historico del positivismo
Simon esperanza contexto historico del positivismo
 
Manual
ManualManual
Manual
 
Muwatta malik
Muwatta malikMuwatta malik
Muwatta malik
 
challenge meccano 2015 tamponneuse
challenge meccano 2015 tamponneusechallenge meccano 2015 tamponneuse
challenge meccano 2015 tamponneuse
 
Kreditkarte- be compliant in 6 Schritten!
Kreditkarte- be compliant in 6 Schritten!Kreditkarte- be compliant in 6 Schritten!
Kreditkarte- be compliant in 6 Schritten!
 
Laboratorio
LaboratorioLaboratorio
Laboratorio
 
Bibliotecologia en colombia
Bibliotecologia en colombiaBibliotecologia en colombia
Bibliotecologia en colombia
 

Similar a Web Workers - Das Arbeitstier Browser

Javascript done right
Javascript done rightJavascript done right
Javascript done rightDirk Ginader
 
Rapid Prototyping mit jQuery (German)
Rapid Prototyping mit jQuery (German)Rapid Prototyping mit jQuery (German)
Rapid Prototyping mit jQuery (German)Paul Bakaus
 
Agile Softwareentwicklung mit Rails
Agile Softwareentwicklung mit RailsAgile Softwareentwicklung mit Rails
Agile Softwareentwicklung mit RailsHussein Morsy
 
FMK - Xojo als FileMaker Alternative? by Ulrich Bogun
FMK - Xojo als FileMaker Alternative? by Ulrich BogunFMK - Xojo als FileMaker Alternative? by Ulrich Bogun
FMK - Xojo als FileMaker Alternative? by Ulrich BogunVerein FM Konferenz
 
AG Softwaretechnik
AG SoftwaretechnikAG Softwaretechnik
AG SoftwaretechnikRoland M
 
Studiosdigital wieninternational.at
Studiosdigital wieninternational.atStudiosdigital wieninternational.at
Studiosdigital wieninternational.atStudiosDigital GmbH
 
SharePointCommunity.ch SharePoint Lösungen für die Zukunft
SharePointCommunity.ch SharePoint Lösungen für die ZukunftSharePointCommunity.ch SharePoint Lösungen für die Zukunft
SharePointCommunity.ch SharePoint Lösungen für die ZukunftDavid Schneider
 
Robuste Design Systems mit Storybook und Angular: vom Konzept zur lebendigen ...
Robuste Design Systems mit Storybook und Angular: vom Konzept zur lebendigen ...Robuste Design Systems mit Storybook und Angular: vom Konzept zur lebendigen ...
Robuste Design Systems mit Storybook und Angular: vom Konzept zur lebendigen ...Andreas Wissel
 
Android Apps mit Xamarin entwickeln
Android Apps mit Xamarin entwickelnAndroid Apps mit Xamarin entwickeln
Android Apps mit Xamarin entwickelnAndré Krämer
 
Was ist eigentlich SharePoint
Was ist eigentlich SharePointWas ist eigentlich SharePoint
Was ist eigentlich SharePointMax Nowack
 
Offline-first Architekturen: Wer bitte braucht schon Internet
Offline-first Architekturen: Wer bitte braucht schon InternetOffline-first Architekturen: Wer bitte braucht schon Internet
Offline-first Architekturen: Wer bitte braucht schon InternetOPEN KNOWLEDGE GmbH
 
Web2 am Beispiel Google Mail, Text und Web Toolkit
Web2 am Beispiel Google Mail, Text und Web ToolkitWeb2 am Beispiel Google Mail, Text und Web Toolkit
Web2 am Beispiel Google Mail, Text und Web ToolkitGFU Cyrus AG
 
JavaScript goes Enterprise - Node.js-Anwendungen mit Visual Studio und den No...
JavaScript goes Enterprise - Node.js-Anwendungen mit Visual Studio und den No...JavaScript goes Enterprise - Node.js-Anwendungen mit Visual Studio und den No...
JavaScript goes Enterprise - Node.js-Anwendungen mit Visual Studio und den No...Peter Hecker
 
Christian heilmann wie javascript die welt eroberte
Christian heilmann   wie javascript die welt eroberteChristian heilmann   wie javascript die welt eroberte
Christian heilmann wie javascript die welt eroberteChristian Heilmann
 
iGoogle & Co
iGoogle & CoiGoogle & Co
iGoogle & CoGPMS
 
OSMC 2014: Icinga Web 2 kann mehr | Thomas Gelf
OSMC 2014: Icinga Web 2 kann mehr | Thomas GelfOSMC 2014: Icinga Web 2 kann mehr | Thomas Gelf
OSMC 2014: Icinga Web 2 kann mehr | Thomas GelfNETWAYS
 

Similar a Web Workers - Das Arbeitstier Browser (20)

Javascript done right
Javascript done rightJavascript done right
Javascript done right
 
Rapid Prototyping mit jQuery (German)
Rapid Prototyping mit jQuery (German)Rapid Prototyping mit jQuery (German)
Rapid Prototyping mit jQuery (German)
 
Agile Softwareentwicklung mit Rails
Agile Softwareentwicklung mit RailsAgile Softwareentwicklung mit Rails
Agile Softwareentwicklung mit Rails
 
FMK - Xojo als FileMaker Alternative? by Ulrich Bogun
FMK - Xojo als FileMaker Alternative? by Ulrich BogunFMK - Xojo als FileMaker Alternative? by Ulrich Bogun
FMK - Xojo als FileMaker Alternative? by Ulrich Bogun
 
AG Softwaretechnik
AG SoftwaretechnikAG Softwaretechnik
AG Softwaretechnik
 
Hdc2012 cordova-präsi
Hdc2012 cordova-präsiHdc2012 cordova-präsi
Hdc2012 cordova-präsi
 
Studiosdigital wieninternational.at
Studiosdigital wieninternational.atStudiosdigital wieninternational.at
Studiosdigital wieninternational.at
 
SharePointCommunity.ch SharePoint Lösungen für die Zukunft
SharePointCommunity.ch SharePoint Lösungen für die ZukunftSharePointCommunity.ch SharePoint Lösungen für die Zukunft
SharePointCommunity.ch SharePoint Lösungen für die Zukunft
 
Robuste Design Systems mit Storybook und Angular: vom Konzept zur lebendigen ...
Robuste Design Systems mit Storybook und Angular: vom Konzept zur lebendigen ...Robuste Design Systems mit Storybook und Angular: vom Konzept zur lebendigen ...
Robuste Design Systems mit Storybook und Angular: vom Konzept zur lebendigen ...
 
Android Apps mit Xamarin entwickeln
Android Apps mit Xamarin entwickelnAndroid Apps mit Xamarin entwickeln
Android Apps mit Xamarin entwickeln
 
Was ist eigentlich SharePoint
Was ist eigentlich SharePointWas ist eigentlich SharePoint
Was ist eigentlich SharePoint
 
Offline-first Architekturen: Wer bitte braucht schon Internet
Offline-first Architekturen: Wer bitte braucht schon InternetOffline-first Architekturen: Wer bitte braucht schon Internet
Offline-first Architekturen: Wer bitte braucht schon Internet
 
Web2 am Beispiel Google Mail, Text und Web Toolkit
Web2 am Beispiel Google Mail, Text und Web ToolkitWeb2 am Beispiel Google Mail, Text und Web Toolkit
Web2 am Beispiel Google Mail, Text und Web Toolkit
 
JavaScript goes Enterprise - Node.js-Anwendungen mit Visual Studio und den No...
JavaScript goes Enterprise - Node.js-Anwendungen mit Visual Studio und den No...JavaScript goes Enterprise - Node.js-Anwendungen mit Visual Studio und den No...
JavaScript goes Enterprise - Node.js-Anwendungen mit Visual Studio und den No...
 
Web workers
Web workersWeb workers
Web workers
 
Christian heilmann wie javascript die welt eroberte
Christian heilmann   wie javascript die welt eroberteChristian heilmann   wie javascript die welt eroberte
Christian heilmann wie javascript die welt eroberte
 
iGoogle & Co
iGoogle & CoiGoogle & Co
iGoogle & Co
 
OSMC 2014: Icinga Web 2 kann mehr | Thomas Gelf
OSMC 2014: Icinga Web 2 kann mehr | Thomas GelfOSMC 2014: Icinga Web 2 kann mehr | Thomas Gelf
OSMC 2014: Icinga Web 2 kann mehr | Thomas Gelf
 
Enterprise JS
Enterprise JS Enterprise JS
Enterprise JS
 
Roslyn DDC Kompakt 2014
Roslyn DDC Kompakt 2014Roslyn DDC Kompakt 2014
Roslyn DDC Kompakt 2014
 

Más de Sebastian Bauer

The Unshippable Product Increment | JAX 2018
The Unshippable Product Increment | JAX 2018The Unshippable Product Increment | JAX 2018
The Unshippable Product Increment | JAX 2018Sebastian Bauer
 
Was macht ein Scrum Master den ganzen Tag? JAX 2018
Was macht ein Scrum Master den ganzen Tag? JAX 2018Was macht ein Scrum Master den ganzen Tag? JAX 2018
Was macht ein Scrum Master den ganzen Tag? JAX 2018Sebastian Bauer
 
Mein Scrum ist kaputt | IPC17 SE & Webinale 2017
Mein Scrum ist kaputt | IPC17 SE & Webinale 2017Mein Scrum ist kaputt | IPC17 SE & Webinale 2017
Mein Scrum ist kaputt | IPC17 SE & Webinale 2017Sebastian Bauer
 
Regressionstests in Webprojekten - IPC12SE
Regressionstests in Webprojekten - IPC12SERegressionstests in Webprojekten - IPC12SE
Regressionstests in Webprojekten - IPC12SESebastian Bauer
 
Verlernte Agilität - JAX 2012
Verlernte Agilität - JAX 2012Verlernte Agilität - JAX 2012
Verlernte Agilität - JAX 2012Sebastian Bauer
 
Verlernte Agilität - JAX 2012
Verlernte Agilität - JAX 2012Verlernte Agilität - JAX 2012
Verlernte Agilität - JAX 2012Sebastian Bauer
 
Verlernte Agilität - Schleichende Fehler in agilen Prozessen
Verlernte Agilität - Schleichende Fehler in agilen ProzessenVerlernte Agilität - Schleichende Fehler in agilen Prozessen
Verlernte Agilität - Schleichende Fehler in agilen ProzessenSebastian Bauer
 
Regressionstests in Webprojekten
Regressionstests in WebprojektenRegressionstests in Webprojekten
Regressionstests in WebprojektenSebastian Bauer
 
Continuous Integration für PHP
Continuous Integration für PHPContinuous Integration für PHP
Continuous Integration für PHPSebastian Bauer
 
Ignite Scrum - Ein Sprint in 5 Minuten
Ignite Scrum - Ein Sprint in 5 MinutenIgnite Scrum - Ein Sprint in 5 Minuten
Ignite Scrum - Ein Sprint in 5 MinutenSebastian Bauer
 
Entwicklung Innovativer und Komplexer AIR Anwendungen
Entwicklung Innovativer und Komplexer AIR AnwendungenEntwicklung Innovativer und Komplexer AIR Anwendungen
Entwicklung Innovativer und Komplexer AIR AnwendungenSebastian Bauer
 

Más de Sebastian Bauer (12)

The Unshippable Product Increment | JAX 2018
The Unshippable Product Increment | JAX 2018The Unshippable Product Increment | JAX 2018
The Unshippable Product Increment | JAX 2018
 
Was macht ein Scrum Master den ganzen Tag? JAX 2018
Was macht ein Scrum Master den ganzen Tag? JAX 2018Was macht ein Scrum Master den ganzen Tag? JAX 2018
Was macht ein Scrum Master den ganzen Tag? JAX 2018
 
Mein Scrum ist kaputt | IPC17 SE & Webinale 2017
Mein Scrum ist kaputt | IPC17 SE & Webinale 2017Mein Scrum ist kaputt | IPC17 SE & Webinale 2017
Mein Scrum ist kaputt | IPC17 SE & Webinale 2017
 
Regressionstests in Webprojekten - IPC12SE
Regressionstests in Webprojekten - IPC12SERegressionstests in Webprojekten - IPC12SE
Regressionstests in Webprojekten - IPC12SE
 
Verlernte Agilität - JAX 2012
Verlernte Agilität - JAX 2012Verlernte Agilität - JAX 2012
Verlernte Agilität - JAX 2012
 
Verlernte Agilität - JAX 2012
Verlernte Agilität - JAX 2012Verlernte Agilität - JAX 2012
Verlernte Agilität - JAX 2012
 
Verlernte Agilität - Schleichende Fehler in agilen Prozessen
Verlernte Agilität - Schleichende Fehler in agilen ProzessenVerlernte Agilität - Schleichende Fehler in agilen Prozessen
Verlernte Agilität - Schleichende Fehler in agilen Prozessen
 
Regressionstests in Webprojekten
Regressionstests in WebprojektenRegressionstests in Webprojekten
Regressionstests in Webprojekten
 
Verlernte Agilität
Verlernte AgilitätVerlernte Agilität
Verlernte Agilität
 
Continuous Integration für PHP
Continuous Integration für PHPContinuous Integration für PHP
Continuous Integration für PHP
 
Ignite Scrum - Ein Sprint in 5 Minuten
Ignite Scrum - Ein Sprint in 5 MinutenIgnite Scrum - Ein Sprint in 5 Minuten
Ignite Scrum - Ein Sprint in 5 Minuten
 
Entwicklung Innovativer und Komplexer AIR Anwendungen
Entwicklung Innovativer und Komplexer AIR AnwendungenEntwicklung Innovativer und Komplexer AIR Anwendungen
Entwicklung Innovativer und Komplexer AIR Anwendungen
 

Web Workers - Das Arbeitstier Browser