Summary
- Das W3C veröffentlichte den ersten Web-Workers-Arbeitsentwurf am 23. April 2009. Eine Seite konnte ein Skript in einer getrennten parallelen Umgebung starten und mit ihm Nachrichten austauschen.
- Im Primzahlenbeispiel rechnet der Worker im Hintergrund und sendet neue Ergebnisse an die Seite. Sie zeigt die Zahlen an und bleibt für Interaktionen zuständig.
Vor dem Bildschirm sitzt jemand und drückt einen Knopf. Die Seite hat inzwischen eine schwierige Rechnung begonnen. Der Zeiger bewegt sich noch, aber die Antwort bleibt aus. Ein zweiter Klick hilft ebenso wenig. Später erwacht alles auf einmal. Die Webseite wirkte wie ein Schalter, dessen einziger Mitarbeiter für eine Inventur nach hinten gegangen ist und die Kundschaft durch die Glasscheibe beobachten lässt.
Der erste Web-Workers-Entwurf des W3C vom 23. April 2009 verlegte die Inventur. Er beschrieb Hintergrundskripte, die unabhängig von den Skripten für Klicks und andere Eingaben laufen. Als Beispiel sucht ein Worker Primzahlen. Das Hauptdokument startet ihn, der Worker meldet fortlaufend neue Zahlen, und die Seite stellt sie dar. Der Schalter bleibt besetzt, während im Hinterzimmer gerechnet wird.
Die Architektur hat eine klare Verbindung. Eine Seite erzeugt Worker aus der URL einer Skriptdatei. Der Browser führt das Skript in einer getrennten parallelen Umgebung aus. Beide Seiten tauschen über postMessage und Nachrichtenhandler Daten aus. Der Worker rechnet; die Seite entscheidet über die Anzeige. Wenn die nächste Primzahl eintrifft, ändert der Seitencode den sichtbaren Text. Die Rechenarbeit muss ihren Befund an der richtigen Tür abgeben.
Der Entwurf vom Dezember 2009 nannte das eine threadähnliche Arbeitsweise mit Nachrichten als Koordinationsmittel. Diese Poststelle ist eine nützliche Grenze. Die Seite kann einen Auftrag erteilen, ein Ergebnis entgegennehmen und prüfen, ob es noch zur aktuellen Aufgabe gehört. Hat der Nutzer längst einen anderen Knopf gedrückt, steht die Entscheidung über eine verspätete Antwort beim Seitencode. Der Worker erhält keine Sonderrechte auf die Anzeige, nur weil er fleißig war.
Primzahlen sind für die Vorführung gut gewählt. Es gibt keinen entfernten Server und keine langsame Leitung, denen man die Funkstille zuschreiben könnte. Die lange Schleife beansprucht die Ausführungszeit, die die Oberfläche für eine Reaktion braucht. Schiebt man sie in den Worker, kann die Seite auf Eingaben achten und bei jeder eingehenden Nachricht die Zahl aktualisieren. Aus einem stummen Knopf wird wieder ein Gespräch.
Die neue Arbeitskraft brauchte Platz und Zeit. Der Text vom Ende des Jahres 2009 warnte vor Startaufwand und Speicherbedarf pro Worker. Sein Gegenbeispiel ist fast eine Karikatur: Für jeden Bildpunkt einer Vier-Megapixel-Grafik einen eigenen Worker zu starten, wäre unsinnig. Vier Millionen Helfer suchen länger nach einem Arbeitsplatz, als ein sinnvoll eingeteilter Auftrag gebraucht hätte. Der Browser gewann eine Werkstatt, keine kostenlose Unendlichkeit an Personal.
Spätere Fassungen beschrieben die Adressen der Helfer genauer. Der Schnappschuss als Candidate Recommendation von 2012 unterschied dedizierte und gemeinsam genutzte Worker. Ein dedizierter Worker spricht über einen impliziten Kanal mit seinem Erzeuger. Ein geteilter Worker kann über Ports mit mehreren Kontexten desselben Ursprungs verbunden sein. Der Arbeitsentwurf von 2015 erläuterte Worker, onmessage, postMessage und den expliziten MessagePort der geteilten Variante. Wer Arbeit auslagert, muss den Rückweg bestimmen.
Diese Grenze regelt den Ort der Ausführung. Andere Browserregeln legen fest, welchem Fenster und welchem Ursprung ein gespeicherter Wert gehört. Eine Anwendung kann beides brauchen: eine Auswahl aufbewahren und aus ihr eine aufwendige Berechnung machen. Die Nachricht verbindet die Berechnung mit der Oberfläche. Sie sagt, was fertig ist, während die Seite für den Menschen vor ihr zuständig bleibt.
Die W3C-Publikationsgeschichte führt den Entwurf von 2009 über die Stufen von 2012 und 2015. Die kleine Primzahlenfabrik erklärt weiterhin den Kern: Die Maschine kann gründlich rechnen, ohne am Schalter taub zu werden. Ihre Arbeit kommt als Nachricht zurück, und die Seite kann antworten.
Mitgliederbriefing
Detaillierter Profilkontext
Melden Sie sich mit der richtigen Mitgliedschaftsstufe an, um das vollständige Briefing und die Quellennotizen freizuschalten.
Nur für Strategic Circle
Strategic Circle
Offen für alle Leser. Schalten Sie Profil-Briefings nach Beitritt und Anmeldung frei.
Strategic Circle beitretenNur für Leadership Alliance
Leadership Alliance
Für qualifizierte Inhaber von IP-Assets und Management; melden Sie sich an, um Leadership-Alliance-Briefings freizuschalten.
Leadership Alliance beitreten





