- Pour les personnes qui travaillent sur de vastes bases de code, programmer sur un ordinateur portable peut être contraignant
- Les ventilateurs tournent en continu, les serveurs de langage manquent de mémoire et les temps de reconstruction sont longs
- Avec Zed, il est possible d’ouvrir un projet sur n’importe quelle machine via SSH
- L’interface utilisateur s’exécute entièrement en local et offre des graphismes fluides à 120 images par seconde, tandis que les serveurs de langage, les tâches et le terminal s’exécutent sur le serveur distant afin de tirer parti du matériel cloud
Mise en place d’un environnement de développement distant
- Pour l’édition de code à distance, Zed a fait évoluer son infrastructure afin d’ajouter la prise en charge de SSH
- Il a fallu résoudre divers problèmes, comme le maintien de la connexion SSH, la mise en place du serveur distant et l’intégration des fonctionnalités
- Pour la connexion SSH, Zed utilise la configuration
ControlMaster afin de maintenir une connexion unique par hôte
- Après la connexion, le serveur distant adapté au système d’exploitation et à l’architecture est téléchargé
- Le serveur distant compilé avec
musl ne nécessite pas de liaison dynamique, ce qui lui permet de fonctionner même sur d’anciennes distributions
- Même si la connexion est interrompue, le serveur distant continue de fonctionner et, lors de la reconnexion, les serveurs de langage restent dans un état entièrement initialisé
- Les modifications non enregistrées sont sauvegardées en local pour éviter toute perte de travail
Collaboration et projets SSH
- Faire en sorte que les projets SSH fonctionnent avec la collaboration représentait un défi
- Jusqu’à quatre nœuds peuvent être impliqués dans une session de collaboration à deux via SSH, ce qui a conduit à tester le protocole de synchronisation de collaboration
Project a été divisé en composants logiques pouvant être activés en mode distant ou local selon que le client est l’hôte de collaboration, l’hôte SSH ou l’invité de collaboration
- De nouveaux tests instancient chaque rôle ainsi que le serveur de collaboration pour vérifier que la synchronisation s’effectue correctement
- Lorsqu’on travaille sur un projet avec un ami ou un collègue, le fait que le projet se trouve sur l’ordinateur portable ou sur une machine accessible en SSH est géré de manière transparente
Le résumé de GN⁺
- Zed offre aux développeurs travaillant sur de grandes bases de code un environnement de développement efficace en s’appuyant sur des serveurs distants
- La fonctionnalité de développement distant via SSH améliore les performances en tirant parti du matériel cloud
- La fonctionnalité de collaboration prend en charge la synchronisation entre plusieurs nœuds afin de permettre un travail collaboratif fluide
- Zed est disponible sur macOS et Linux et propose une nouvelle expérience aux développeurs
- Parmi les autres projets offrant des fonctions similaires, on trouve Remote Development Extension de Visual Studio Code
1 commentaires
Avis Hacker News
Programmer sur Mac avec Zed, le SSH Remoting et Orbstack constitue un environnement de rêve
Des interrogations subsistent sur le modèle économique de Zed et sur son caractère open source
La fonctionnalité de développement à distance de Zed installe et exécute un binaire sur l’hôte distant
Zed est utilisé pour le développement en C, C++, Rust et Angular, avec une très grande satisfaction
Pour développer en passant d’un ordinateur à l’autre, tmux et nvim sont utilisés afin de conserver les sessions
La grande rapidité de Zed est appréciée, mais il lui manque des fonctions essentielles comme le surlignage des erreurs en ligne et un bouton pour exécuter le code
Le partage d’écran basé sur l’image pourrait être une meilleure option
Un vrai solution d’édition à distance portable est souhaitée
Exécuter une application inconnue sur un serveur distant de confiance n’est pas une bonne idée
L’absence de mention d’Emacs ou de Tramp suscite des inquiétudes