SlideShare ist ein Scribd-Unternehmen logo
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/

Weitere ähnliche Inhalte

Andere mochten auch

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
multiermedia
 
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
Presidencia de la República del Ecuador
 
Passeport Gaston Lagaffe (c) Dupuis 2014
Passeport Gaston Lagaffe (c) Dupuis 2014Passeport Gaston Lagaffe (c) Dupuis 2014
Passeport Gaston Lagaffe (c) Dupuis 2014
amelieretorre
 
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
 
Firefox et le tracking sur Internet
Firefox et le tracking sur InternetFirefox et le tracking sur Internet
Firefox et le tracking sur Internet
Jérôme aka "Genma" Kun
 
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ºA
BEGOÑA
 
09 glp-cepsa
09 glp-cepsa09 glp-cepsa
09 glp-cepsa
ambevito
 
Laprehistoria 100321061815-phpapp02
Laprehistoria 100321061815-phpapp02Laprehistoria 100321061815-phpapp02
Laprehistoria 100321061815-phpapp02
David Mons Martin
 
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
Winfried Kempfle Marketing Services
 
Voy A Seguir
Voy A SeguirVoy A Seguir
Voy A Seguir
Donald Bermudez
 
Simon esperanza contexto historico del positivismo
Simon esperanza   contexto historico del positivismoSimon esperanza   contexto historico del positivismo
Simon esperanza contexto historico del positivismo
esperanza1313
 
Manual
ManualManual
Manual
lyazurita
 
challenge meccano 2015 tamponneuse
challenge meccano 2015 tamponneusechallenge meccano 2015 tamponneuse
challenge meccano 2015 tamponneuse
jeanmoulinflines
 
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
Laboratorio
mgomez4
 
Bibliotecologia en colombia
Bibliotecologia en colombiaBibliotecologia en colombia
Bibliotecologia en colombia
leidypaolis
 

Andere mochten auch (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
 

Ähnlich wie 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 Rails
Hussein 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 Bogun
Verein 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 Zukunft
David 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 entwickeln
André Krämer
 
Was ist eigentlich SharePoint
Was ist eigentlich SharePointWas ist eigentlich SharePoint
Was ist eigentlich SharePoint
Max 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 Internet
OPEN 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 Toolkit
GFU 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
 
Web workers
Web workersWeb workers
Web workers
elHornair
 
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
Christian Heilmann
 
iGoogle & Co
iGoogle & CoiGoogle & Co
iGoogle & Co
GPMS
 
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
NETWAYS
 
Enterprise JS
Enterprise JS Enterprise JS
Enterprise JS
Oliver Ochs
 
Roslyn DDC Kompakt 2014
Roslyn DDC Kompakt 2014Roslyn DDC Kompakt 2014
Roslyn DDC Kompakt 2014
Christian Giesswein
 

Ähnlich wie 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
 

Mehr von Sebastian Bauer

The Unshippable Product Increment | JAX 2018
The Unshippable Product Increment | JAX 2018The Unshippable Product Increment | JAX 2018
The Unshippable Product Increment | JAX 2018
Sebastian 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 2018
Sebastian 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 2017
Sebastian Bauer
 
Regressionstests in Webprojekten - IPC12SE
Regressionstests in Webprojekten - IPC12SERegressionstests in Webprojekten - IPC12SE
Regressionstests in Webprojekten - IPC12SE
Sebastian Bauer
 
Verlernte Agilität - JAX 2012
Verlernte Agilität - JAX 2012Verlernte Agilität - JAX 2012
Verlernte Agilität - JAX 2012
Sebastian Bauer
 
Verlernte Agilität - JAX 2012
Verlernte Agilität - JAX 2012Verlernte Agilität - JAX 2012
Verlernte Agilität - JAX 2012
Sebastian 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 Prozessen
Sebastian Bauer
 
Regressionstests in Webprojekten
Regressionstests in WebprojektenRegressionstests in Webprojekten
Regressionstests in WebprojektenSebastian Bauer
 
Verlernte Agilität
Verlernte AgilitätVerlernte Agilität
Verlernte Agilität
Sebastian Bauer
 
Continuous Integration für PHP
Continuous Integration für PHPContinuous Integration für PHP
Continuous Integration für PHP
Sebastian 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 Minuten
Sebastian 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
 

Mehr von 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