- Für Menschen, die mit großen Codebasen arbeiten, kann das Programmieren auf einem Laptop belastend sein
- Die Lüfter laufen ständig, den Language Servern geht der Speicher aus, und Rebuilds dauern lange
- In Zed lassen sich Projekte per SSH auf jedem Gerät öffnen
- Die UI läuft vollständig lokal und liefert perfekte Grafik mit 120 FPS, während Language Server, Tasks und Terminal auf dem Remote-Server laufen und so Cloud-Hardware nutzen können
Aufbau einer Remote-Entwicklungsumgebung
- Für das Remote-Code-Editing hat Zed an Infrastrukturänderungen gearbeitet, um SSH zu unterstützen
- Dabei mussten verschiedene Probleme gelöst werden, etwa das Aufrechterhalten der SSH-Verbindung, das Einrichten des Remote-Servers und die Integration der Funktionen
- Für die SSH-Verbindung wird die
ControlMaster-Konfiguration verwendet, um pro Host eine einzelne Verbindung aufrechtzuerhalten
- Nach der Verbindung wird ein Remote-Server heruntergeladen, der zum Betriebssystem und zur Architektur passt
- Der mit
musl kompilierte Remote-Server benötigt keine dynamische Verlinkung und kann daher auch auf älteren Distributionen laufen
- Selbst wenn die Verbindung unterbrochen wird, läuft der Remote-Server weiter, und bei einer erneuten Verbindung bleiben die Language Server vollständig initialisiert erhalten
- Nicht gespeicherte Änderungen werden lokal gesichert, damit keine Arbeit verloren geht
Zusammenarbeit und SSH-Projekte
- Es war eine Herausforderung, SSH-Projekte gemeinsam mit der Kollaborationsfunktion nutzbar zu machen
- An der Zusammenarbeit von zwei Personen über SSH können mindestens vier Knoten beteiligt sein, daher wurde das Synchronisationsprotokoll für die Kollaboration getestet
Project wurde in logische Teile aufgeteilt, damit es je nachdem, ob der Client Kollaborations-Host, SSH-Host oder Kollaborations-Gast ist, im Remote- oder lokalen Modus aktiviert werden kann
- Durch neue Tests wurden jede Rolle und der Kollaborationsserver instanziiert, um zu prüfen, ob die Synchronisation korrekt funktioniert
- Wenn man mit Freunden oder Kollegen an einem Projekt arbeitet, wird transparent behandelt, ob das Projekt auf dem Laptop liegt oder auf einem per SSH erreichbaren Gerät
Zusammenfassung von GN⁺
- Zed bietet Entwicklerinnen und Entwicklern, die mit großen Codebasen arbeiten, eine effiziente Entwicklungsumgebung durch die Nutzung von Remote-Servern
- Die Remote-Entwicklungsfunktion über SSH verbessert die Leistung durch die Nutzung von Cloud-Hardware
- Die Kollaborationsfunktion unterstützt die Synchronisation zwischen mehreren Knoten und ermöglicht so reibungslose Zusammenarbeit
- Zed ist unter macOS und Linux verfügbar und bietet Entwicklerinnen und Entwicklern eine neue Erfahrung
- Ein anderes Projekt mit ähnlicher Funktion ist die Remote Development Extension von Visual Studio Code
1 Kommentare
Hacker-News-Kommentare
Die Nutzung von Zed mit SSH Remoting und Orbstack zum Programmieren auf dem Mac ist eine Traumumgebung
Es gibt Neugier bezüglich des Geschäftsmodells von Zed und ob es Open Source ist
Zeds Remote-Development-Funktion installiert und führt ein Binärprogramm auf dem Remote-Host aus
Zed wird für die Entwicklung mit C, C++, Rust und Angular verwendet und die Zufriedenheit ist sehr hoch
Beim Entwickeln zwischen mehreren Computern hinweg werden tmux und nvim verwendet, um Sitzungen beizubehalten
Die hohe Geschwindigkeit von Zed ist gut, aber essenzielle Funktionen wie Inline-Fehlerhervorhebung und ein Button zum Ausführen von Code fehlen
Bildbasiertes Screen Sharing könnte die bessere Wahl sein
Gewünscht wird eine wirklich portable Remote-Editing-Lösung
Auf einem vertrauenswürdigen Remote-Server unbekannte Apps auszuführen, ist keine gute Idee
Dass Emacs oder Tramp nicht erwähnt werden, ist beunruhigend