Supabase ergänzt fortsetzbare Uploads mit Tus
Open Source steht im Zentrum von Transloadit. Zwei unserer Projekte, Uppy und Tus, prägen ihre jeweiligen Bereiche. Passend dazu freuen wir uns, den Fokus auf Supabase zu richten: ein Open-Source-Backend as a Service, das kürzlich das Tus-Protokoll eingeführt hat, um fortsetzbare Uploads zu ermöglichen.

Mit Tus, unserem offenen Protokoll für fortsetzbare Uploads, verfolgen wir derzeit das Ziel, es zum Standard für Datei-Uploads im Internet zu machen – bis hin zu unseren Bemühungen, fortsetzbare Datei-Uploads zu HTTP hinzuzufügen. Genau diese Mission brachte Supabase ursprünglich zu Tus, wie Storage Lead Fabrizio Fenoglio erklärt:
"Bei Supabase setzen wir konsequent auf Open Source. Dazu gehört, die Open-Source-Community durch die Nutzung offener Protokolle und Bibliotheken zu stärken. Wir haben Tus für unsere fortsetzbaren Uploads gewählt – nicht nur, weil es Open Source ist, sondern auch, weil das Team hinter dem Protokoll sich der Standardisierung fortsetzbarer Uploads verpflichtet hat."
Fabrizio Fenoglio
Bevor wir näher darauf eingehen, wie Supabase Tus nutzt, haben wir Fabrizio gebeten, uns etwas mehr über Supabase zu erzählen – und darüber, wie es eine flexiblere und entwicklerfreundlichere Alternative zu traditionellen Backend-Lösungen bietet.
"Supabase ist ein Open-Source-Backend as a Service, mit dem Entwickler Web- und Mobile-Anwendungen einfach erstellen und skalieren können. Mit Supabase können sich Entwickler stärker auf den Aufbau großartiger Anwendungen konzentrieren und müssen sich weniger um die Verwaltung von Infrastruktur kümmern."
Mit Tools für eine Postgres-Datenbank, Authentifizierung, Edge Functions, Storage und mehr ist klar: Supabase ist im Bereich cloudbasierter Backends ein ernstzunehmender Anbieter.
Die Vorteile fortsetzbarer Uploads
Vor der Einführung von Tus setzte Supabase Storage auf veraltete Multipart-HTTP-Uploads. Für Nutzer mit schlechten Verbindungen ist das natürlich keine gute Erfahrung: Geht das Signal verloren, muss der Upload komplett neu gestartet werden. Fabrizio erläutert die Vorteile fortsetzbarer Uploads näher:
"Der Wechsel zu einem Modell für fortsetzbare Uploads gab uns die Möglichkeit, große Dateien zuverlässig hochzuladen – oder auch über instabile Verbindungen, wie sie etwa in einer mobilen App auftreten können. Grundsätzlich bevorzugen unsere Kunden fortsetzbare Uploads gegenüber traditionellen Multipart-Uploads."
Der Wechsel zu Tus
Für den Wechsel von Multipart-Uploads entschied sich das Supabase-Team für tus-node-server, eine offizielle Implementierung des Tus-Protokolls für den Einsatz in einem Node-Server. Damit diese Implementierung ihren Anforderungen entspricht, musste das Supabase-Team jedoch einige Änderungen vornehmen.
"Die Integration war einfach genug. Allerdings ist die Node-Implementierung nicht so ausgereift wie die Go-Implementierung. Daher mussten wir in unserem Fork einige Änderungen vornehmen. Wir stehen derzeit mit den Transloadit-Entwicklern in Kontakt und arbeiten daran, unsere Änderungen in die offizielle Implementierung zu upstreamen."
Gemeinsam daran arbeiten, Tus so gut wie möglich zu machen
Das Ergebnis spricht für sich: Das Feedback von Supabase ist für unsere Mission, Tus zu standardisieren, von unschätzbarem Wert – insbesondere durch ihre Beiträge zu tus-node-server. Als Beispiele dienen PR #410 oder #446 sowie weitere PRs und Fixes, über die Entwickler von Supabase und Transloadit diskutiert haben. Hier ist eine kurze Liste von Issues, an denen wir aktiv gemeinsam arbeiten:
- #408 - Unterstützung für Locker hinzufügen, einschließlich eines verteilten Locks
- #457 - Object Prefixing hinzufügen
- #458 - Fehler durch ungültige Zeichen im Header "x-amz-meta-file” beheben
- #459 -
isCompletedzurUpload-Info- Klasse hinzufügen - #460 - Middleware für Zugriffskontrolle einführen
- #461 - Server in Runtimes aufteilen, damit Tus am Edge laufen kann
Der Weg zur Standardisierung
Durch die Stärke von Open Source ist Tus seinem Ziel, fortsetzbare Datei-Uploads im gesamten Web zu standardisieren, einen Schritt näher. Dank der Unterstützung von Teams wie Supabase kommen wir diesem Ziel jeden Tag näher.
Bevor wir abschließen, werfen Sie unbedingt einen Blick auf Supabase's Launch Week vom 7. bis 11. August, in der ein Paket neuer Funktionen veröffentlicht wird 🚀
