Kein Upload, 100% lokal, kein Konto

Artikel

Was ist client-seitige Verarbeitung?

Die meisten Datei-Tools funktionieren, indem sie Ihr Dokument an einen entfernten Computer schicken, der die schwere Arbeit übernimmt und ein Ergebnis zurücksendet. Client-seitige Verarbeitung dreht das um: Ihr eigener Browser erledigt die Arbeit, und Ihre Datei verlässt niemals Ihr Gerät.

Zwei Wege, wie ein Tool funktionieren kann: Ihr Gerät oder deren Server

Bei der server-seitigen Verarbeitung ist das Hochladen einer Datei ein bisschen wie das Abgeben von Wäsche bei der Reinigung: Sie übergeben sie, eine entfernte Maschine kümmert sich darum, und Sie holen das Ergebnis später ab. Client-seitige Verarbeitung ist eher wie Wäsche zu Hause waschen. Das Tool läuft in Ihrem Browser-Tab, liest die Datei aus dem Speicher, verarbeitet sie und gibt Ihnen die Ausgabe, alles ohne dass die Datei eine Netzwerkverbindung berührt. Die Website muss den Verarbeitungscode nur einmal liefern. Danach funktioniert alles auf Ihrer Seite.

Was WebAssembly dem Browser gebracht hat

Jahrelang konnten Browser nur JavaScript ausführen, was für Oberflächen gut ist, aber für Aufgaben wie das erneute Kodieren eines Videos oder das Komprimieren eines großen Bildes zu langsam ist. WebAssembly (meist als WASM abgekürzt) hat das geändert. Es ist ein kompaktes Binärformat, das Browser nahezu mit nativer Geschwindigkeit ausführen können, sodass Code, der ursprünglich in C oder C++ geschrieben wurde, zu WASM kompiliert und in einem Browser-Tab ohne Plugins ausgeführt werden kann. Dieselben Codecs und Kompressionsbibliotheken, die Desktop-Software antreiben, laufen jetzt direkt in der Seite. JavaScript und WebAssembly arbeiten zusammen: JavaScript übernimmt die Oberfläche und die Orchestrierung, während WASM die rechenintensive Arbeit erledigt.

Was während einer Aufgabe tatsächlich passiert

Wenn Sie eine Datei auf ein client-seitiges Tool ziehen, lädt die Seite eine kleine Verarbeitungs-Engine (oft ein WASM-Modul), wenn sie das noch nicht getan hat, und übergibt Ihre Datei dann über JavaScript daran. Die eigentliche Verarbeitung läuft normalerweise in einem Hintergrund-Thread namens Web Worker, der die Browser-Oberfläche reaktionsfähig hält, während die Arbeit erledigt wird. Sie können den Netzwerk-Tab Ihres Browsers jederzeit während dieses Vorgangs öffnen, und keine Anfrage, die Ihre Datei trägt, wird erscheinen. Die Ausgabe wird im Speicher zusammengestellt und Ihnen als Download angeboten.

Ehrliche Kompromisse, die Sie kennen sollten

Beim ersten Aufruf eines Tools, das auf eine große WASM-Engine angewiesen ist, lädt der Browser diese Engine herunter und speichert sie im Cache. Spätere Nutzungen überspringen den Download und können vollständig offline funktionieren. Da die Verarbeitung auf Ihrem Gerät läuft, dauert eine sehr große Datei so lange, wie Ihre CPU und der verfügbare Speicher es erlauben, und ein Rechenzentrum würde manche schwere Aufgaben schneller abschließen. Was Sie im Gegenzug erhalten, ist real: Ihre Datei wird nie übertragen, es gibt kein Warten auf den Upload bei langsamen Verbindungen, und das Tool funktioniert nach dem ersten Laden ohne Internet.

Tools in diesem Artikel

Häufige Fragen

Bedeutet client-seitige Verarbeitung automatisch, dass meine Daten privat sind?

Client-seitig bedeutet, dass die Datei per Design nicht an einen Server gesendet wird, was den Datenschutz erst möglich macht. Sie können es selbst bestätigen, indem Sie den Netzwerk-Tab in den Entwicklertools Ihres Browsers öffnen, während Sie eine Datei verarbeiten: keine ausgehende Anfrage sollte die Daten Ihrer Datei enthalten. Trotzdem ist es sinnvoll zu prüfen, ob sich ein Tool wirklich so verhält, anstatt dem Label einfach zu vertrauen.

Warum ist die erste Nutzung eines Tools manchmal langsamer?

Der Browser muss beim ersten Mal die Verarbeitungs-Engine (das WASM-Modul) herunterladen, was je nach Größe und Verbindung ein paar Sekunden dauern kann. Danach wird die Engine lokal im Cache gespeichert, sodass spätere Sitzungen sofort starten und das Tool offline funktioniert.